启灵安全防护
Wordpress 安全防护插件
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/wujiit/qilingsecurity/archive/refs/heads/main.zip启灵安全防护插件使用说明
适用版本:
2.2.1
1. 插件有什么用
启灵安全防护是一个面向 WordPress 站点的“安全体检 + 基础主动防护”插件。
它的定位是:在不改动你业务代码的前提下,帮你做风险发现、攻击拦截、审计留痕和会话控制。
请注意:它是站点侧基础防护层,不替代服务器防火墙、WAF、CDN、主机安全策略。
2. 目前有多少功能
按当前版本统计:
11个主要功能标签(不含“使用说明”页)12项深度扫描步骤13大设置分组80+个可配置项(含行为限速预设项)13个内置扫描规则键(支持官方签名离线规则包覆盖)
3. 功能模块总览
后台入口:WP 后台 -> 启灵安全防护
插件列表也提供快捷入口:设置
主要功能标签分别是:
- 全盘安全体检
- 安全态势分析
- IP 风险画像
- 安全优化
- 主动防护防火墙
- REST 路由隔离
- 域名安全替换
- Nginx 安全建议
- 操作审计日志
- 动态 IP 封禁
- 用户会话管理
4. 快速上手(建议顺序)
- 先进入
主动防护防火墙,只开“基础加固”与“审计”相关开关。 - 如果站点在 CDN/反代后面,先完成
代理与真实 IP配置,再启用封禁类能力。 - 如果你不是启灵主题用户,或想把收敛项单独交给插件管理,可先看
安全优化标签页。 - 回到
全盘安全体检,执行一次完整扫描。 - 在
体检报告中按严重级别优先处理critical。 - 确认站点当前文件状态可信后,手动点击
重建文件基线。 - 根据实际流量逐步开启
行为型限速,先观察再拦截/封禁。 - 如需登录链路画像,建议把
登录 IP 风险画像的查询模式设为外部任务(推荐)。
5. 全盘安全体检(12 步详解)
5.1 扫描步骤
- 全盘敏感文件扫描
- Uploads 目录后门查杀
- 主题/插件代码安全审计
- 插件/主题已知漏洞情报比对
- 异常管理员账号与权限审计
- 异常 Cron / MU 插件 / Drop-in 持久化扫描
- 数据库风险与异常 Option 扫描
- 网站核心目录及权限检测
- 公网敏感 API 暴露探测
- 全站暗链与防挂马深度查杀
- 主题/插件/上传目录变更基线比对
- 核心文件完整性校验
5.2 结果处理方式
- 扫描只做“发现 + 建议”,不会自动修复文件或数据库。
- 每条结果可标记为:
待处理 / 已处理 / 已忽略。 - 结果可查看内置“修复建议指南”。
- 针对大站点,
敏感文件扫描、Uploads 后门查杀、代码安全审计、暗链扫描这几步已改为分片续跑;同一步可能会由多次 AJAX 请求接力完成,属于正常现象。 - 在大目录或慢盘环境中,建议体检过程中不要关闭当前页面,等待进度条自然推进。
主题/插件代码安全审计属于静态特征匹配,命中结果可能存在误报,建议结合具体代码再判断。
5.3 核心文件完整性校验说明
- 当前实现对比的是 WordPress 官方校验接口:
api.wordpress.org/core/checksums。 - 不是直接对比 GitHub 仓库。
- 该步骤依赖外网连通性;网络不可达时该步不会产出结果。
- 插件/主题漏洞情报比对属于“组件版本比对”,不是重型文件扫描,适合在手动体检时顺带执行。
6. 安全态势分析
聚合最近 24 小时与 7 天安全数据,重点看:
- 24h 登录失败次数
- 24h 行为限速命中
- 当前活动封禁数
- 待处理高危项
- 攻击来源 IP Top
- 被打最多入口
- 爆破用户名 Top
- 最近 7 天趋势
建议先开启“关键操作审计日志”,否则这部分数据会不完整。
7. 主动防护防火墙(重点)
7.1 11 大设置分组
- 基础加固
- 白名单与例外
- 代理与真实 IP
- 审计与追踪
- 登录入口保护
- 行为型限速防护
- WAF 与响应防护
- 扫描引擎高级设置
- 手机号归属地
- 登录 IP 风险画像
- 数据生命周期
7.2 基础加固
可按需启用:
- 禁用 XML-RPC
- 隐藏 WordPress 版本号
- 拦截用户枚举
- 禁止后台编辑源码
- 禁用应用程序密码
- 清理头部多余 Meta 标签
- 禁用 Pingback
- REST API 精细防护(支持观察/拦截)
7.3 白名单与例外
可信 IP / 网段白名单:白名单不会触发封禁、WAF、登录限流。可信请求路径前缀:用于放行明确可信入口,减少误拦截。
7.4 代理与真实 IP(非常关键)
如果你使用 CDN、WAF、反代,必须正确配置:
- 代理/CDN 预设(支持 Cloudflare、阿里云、腾讯云、华为云、七牛、又拍云、AWS CloudFront、Fastly、Akamai、Azure Front Door 等)
- 可信代理 IP/CIDR
- 真实 IP 请求头优先级
- 宽松模式(仅凭请求头识别真实 IP,可选)
插件默认不盲目信任转发头,只有 REMOTE_ADDR 命中可信代理列表,才会解析转发头,避免伪造来源 IP。
如果你的 CDN 出口 IP 规模非常大、不便维护,可以开启“宽松模式:仅凭请求头识别真实 IP”。
注意:该模式会降低抗伪造能力,建议仅在源站已被防火墙/安全组限制为“只能被 CDN 回源访问”时启用。
7.5 审计与追踪
开启后会记录关键事件,例如:
- 登录成功、登录失败、登出
- 插件启用/停用
- 关键设置更新
- 文章删除/回收站
- 核心升级
- 手动安全操作(清理日志、导入规则包、踢会话等)
7.6 登录入口保护
- 限制登录失败次数与封禁时长
- 自定义登录入口暗号
- 单用户最大并发登录设备数(例如填
3)
并发会话超限时会自动下线最早会话,保留当前登录设备。
7.7 行为型限速防护
支持 4 组预设规则:
- XML-RPC
- 公开 REST API
- 站内搜索
- 评论提交
每组可配:
- 统计窗口
- 允许次数
- 动作模式(观察 / 拦截 / 拦截并临时封禁)
7.8 WAF 与上传防护
包含:
- 核心 WAF 关键词规则
- 恶意上传后缀拦截
- 上传内容与后缀一致性校验
- SVG 上传策略
- 扫描器 UA 黑名单
- 安全响应头
7.9 扫描引擎高级设置
可调参数包括:
- 扫描文件上限
- 读取大小上限
- 敏感后缀扩展
- 排除路径
- 文件基线路径与上限
- 管理员数量预警阈值
- 弱用户名规则
- Cron 忽略 Hook
- 数据库风险阈值与忽略规则
7.10 登录 IP 风险画像
这部分只分析登录链路来源 IP,不会扫描普通游客访问。
核心建议:
- 查询模式优先使用
外部任务(推荐) - 次选
异步(WP-Cron) 同步即时查询只建议在低流量站点或临时排障时使用
三种模式区别:
外部任务:由宝塔计划任务、UptimeRobot 或其他外部访问 URL 定时处理待刷新的 IP,最稳,最适合抗撞库浪涌。异步:依赖 WP-Cron 在后台补查,部署简单,但稳定性取决于站点访问量和 WP-Cron 可用性。同步:在登录流程里即时发起外部查询。当前版本已做短超时和超时放行,但高并发站点仍建议优先使用前两种模式。
你还可以配置:
- 触发范围(登录成功 / 登录失败尝试 / 两者都记)
- 单来源超时
- 每次最多调用来源数
- 画像缓存有效期
- 外部任务访问密钥
- 外部任务每次处理 IP 数
顶部单独的 IP 风险画像 标签页主要用于看统计数据、来源状态、近期事件和清理缓存,不是替代设置页。
7.11 手机号归属地
- 基于本地号段库解析手机号归属地,不依赖远程接口。
- 更适合作为主题用户中心或业务资料页的归属地展示数据源。
- 这不是安全拦截项,本身不会直接拦截请求。
7.12 数据生命周期
可设置:
- 扫描报告保留天数
- 审计日志保留天数
- 卸载插件时是否删除全部数据表
8. 安全优化(适合单独使用插件的站点)
安全优化 标签页聚合的是那些“本身不属于 WAF/防火墙,但对减少暴露面、减少后台外联、降低旧接口攻击面有帮助”的 WordPress 收敛项。
常见项目包括:
- 禁用 XML-RPC
- 禁用 Pingback
- 隐藏 WordPress 版本号
- 拦截用户枚举
- 禁用应用程序密码
- 禁止后台编辑源码
- 清理头部多余 Meta 标签
- 禁用 Emoji 脚本
- 禁用 oEmbed
- 移除短链接
- 移除 RSD / WLW
- 关闭远程区块 Patterns
- 关闭区块目录搜索
- 关闭 Openverse 媒体面板
- 精简编辑器预加载接口
适用建议:
- 如果你不是启灵主题用户,可以优先在这里统一管理这些 WordPress 安全收敛项。
- 如果你已经在服务器层、主题层或其他安全插件层做了同类控制,这里不要重复开启。
- 这部分更偏“攻击面收敛”和“后台外联减法”,不是替代扫描器和防火墙。
9. 与启灵主题优化功能的关系(避免重复开启)
当检测到你在用启灵主题(qiling)时,插件会在对应设置项旁给出“重叠提醒”。
当前版本只做“是否为启灵主题”的轻量识别,不再逐项读取主题里每个优化开关的开启状态,以减少额外判断开销。
原则:同类能力二选一即可,不要主题和插件同时重复开启同一类规则。
常见重叠项:
- 禁用 XML-RPC
- 隐藏 WP 版本号
- 拦截用户枚举
- 禁止文件编辑器
- 禁用应用密码
- 清理头部暴露项
- 禁用 Pingback
- 禁用 Emoji / oEmbed
- 移除短链接 / RSD / WLW
- 编辑器远程资源收敛项
10. 操作审计日志与历史清理
10.1 审计日志是否包含登录记录
包含。可记录登录成功与失败,便于分析是否被爆破。
10.2 “单独清空审计日志”做了什么
- 只清理审计表(数据库里的
qilingsecurity_audit) - 不影响扫描结果、封禁列表、文件基线
10.3 “立即清理历史数据”做了什么
会按你设置的保留策略删除数据库历史数据:
- 过期扫描任务与对应结果
- 过期审计日志
- 已过期封禁记录
- 过期 IP 风险画像事件
- 过期 IP 风险画像缓存
11. 动态 IP 封禁
- 展示当前仍在封禁期内的来源 IP
- 支持手动“立即解封”
- 白名单 IP 不会被封禁
12. 用户会话管理
你可以在后台直接做会话管控:
- 下线某一个设备会话
- 下线某用户全部会话
- 强制全站其他用户重新登录(尽量保留当前管理员会话)
适合处理账号泄露、共享账号滥用、异常异地登录等场景。
13. 官方扫描规则更新
13.1 作用范围
- 规则包只影响“扫描判断标准”
- 不会自动修复网站
- 导入和回滚均为管理员手动操作
13.2 安全策略
插件仅允许导入 官方签名规则包:
- 必须校验
rules_sha256 - 必须校验
signer + rules_signature - 未签名或第三方签名会被拒绝
13.3 用户侧导入流程
- 在“官方扫描规则更新”中选择 JSON 文件。
- 点击“导入官方规则包”。
- 成功后可在面板看到版本、来源、哈希摘要、最近生效时间。
- 如有需要可“回滚上一版规则”。
普通站点用户只需要这一步。
你收到官方提供的 package-signed.json 后直接导入即可,不需要接触 rules/ 目录、签名脚本或 Wordfence 转换脚本。
14. 不依赖 WP-Cron 说明
本插件不创建定时扫描任务,不依赖默认 WP-Cron 执行扫描。
当前扫描由管理员手动触发。
“异常 Cron 扫描”是安全检测项,用于检查站点已有的 Cron 持久化风险,不是插件自己去定时跑任务。
补充说明:
登录 IP 风险画像的异步模式会使用 WP-Cron 补刷新队列。- 如果你希望完全不依赖 WP-Cron,建议把
登录 IP 风险画像切到外部任务(推荐),并按面板提供的 URL 配置宝塔或第三方定时访问。
15. 数据存储说明
插件会创建 8 张业务表(带站点前缀):
qilingsecurity_scansqilingsecurity_resultsqilingsecurity_auditqilingsecurity_ban_ipsqilingsecurity_baseline_filesqilingsecurity_phone_location_cacheqilingsecurity_ip_risk_profilesqilingsecurity_ip_risk_events
卸载时是否删除这些表,取决于设置项“卸载插件时删除全部数据表”。
16. 二次开发与扩展
插件已预留大量 Filter,可按项目扩展,而不是改核心代码。
常用扩展点包括:
qs_setting_sectionsqs_setting_fieldsqs_proxy_presetsqs_rate_limit_presetsqs_rate_limit_rulesqs_scan_stepsqs_waf_rulesqs_security_headersqs_bad_bot_signaturesqs_scan_excluded_pathsqs_sensitive_file_extensionsqs_trusted_proxy_headersqs_trusted_proxy_ipsqs_file_integrity_pathsqs_db_scan_ignored_options
示例:扩展扫描排除路径
add_filter('qs_scan_excluded_paths', function ($paths, $settings) {
$paths[] = '/wp-content/my-cache/';
return $paths;
}, 10, 2);
示例:扩展自定义安全响应头
add_filter('qs_security_headers', function ($headers, $settings) {
$headers['Cross-Origin-Opener-Policy'] = 'same-origin';
return $headers;
}, 10, 2);
17. 常见建议
- 先开审计、后开拦截,先观察流量再加严策略。
- 站点在 CDN/反代后,先配可信代理再开封禁,否则 IP 可能不准。
- 文件基线只应在“确认当前站点干净”时重建。
- 登录 IP 风险画像优先选
外部任务(推荐),高并发站点尽量不要长期使用同步模式。 - 如果你在启灵主题里已经开了同类优化项,插件
安全优化这里就不要重复开启。 - 插件侧是基础防护,关键防护仍应放在服务器和 CDN。