赞片CMSWAF

juming
juming 初级会员超兽战士
发布于 2026-10-08 15:34 ·1 浏览 ·0 回复

给赞片CMS 套一层 WAF,能挡掉绝大多数 SQL 注入、后台爆破和 ThinkPHP 历史漏洞的自动化扫描,同时不误伤正常的采集、上传和后台操作。

第一步:确认版本和环境,决定走哪条 WAF 路线

做完这一步,你会知道自己该用云 WAF 还是自建 WAF,以及要不要先升级框架。

登录服务器执行:

php -v
nginx -v

赞片CMS 主流版本基于 ThinkPHP 5.0/5.1,PHP 用 7.0–7.4,Nginx 1.18 以上都能跑。再看框架版本:

grep -r "THINK_VERSION" /www/wwwroot/你的站点/thinkphp/base.php

如果输出 5.0.23、5.1.30 这类老版本号,先把 ThinkPHP 升级到 5.0.24+ / 5.1.41+,再谈加 WAF——WAF 只是第二道防线,框架自身的 RCE 漏洞补丁不能省。

注意:别在 WAF 还没调好之前就把正式域名解析切过去。先用一个测试子域名(比如 waf-test.你的域名.com)验证通了再切主站。

第二步:藏好源站 IP

做完这一步,攻击者就算知道你的域名,也绕不过 WAF 直连真实服务器。

两种做法任选一种:

  1. 云服务器控制台 → 安全组 → 入方向规则,把 80/443 的授权对象从 0.0.0.0/0 改成 WAF 厂商公布的回源 IP 段。阿里云 WAF 3.0 在「接入管理 → 域名接入」页面提供「回源 IP 段」下载,腾讯云 WAF 叫「WAF 回源 IP 列表」。
  2. 自建 WAF 的话,把源站 Nginx 的监听改成内网:
listen 127.0.0.1:8080;

改完执行 nginx -t && nginx -s reload。

注意:源站 Nginx 里如果有 server_name 绑定了域名,WAF 回源时带的 Host 头要对得上,否则会返回 404。

第三步:接入 WAF(三种方案按需选)

做完这一步,流量会先经过 WAF 再到源站。

方案 A:云 WAF。 阿里云 WAF 控制台 → 接入管理 → 域名接入 → 添加域名,协议选 HTTPS,源站填你的服务器 IP 和 80 端口,保存后拿到一条 CNAME 记录,去域名 DNS 解析处把原来的 A 记录改成这条 CNAME。

方案 B:自建雷池 SafeLine(社区版免费)。 需要服务器已装 Docker,执行:

bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

装完浏览器访问 https://服务器IP:9443 进管理后台,在「站点 → 添加站点」里把上游服务器填成 http://源站IP:8080。

方案 C:宝塔面板。 宝塔 8.0 的「软件商店 → Nginx 防火墙」,装上后直接在面板里配规则,适合不想额外买服务器的场景。

第四步:给赞片CMS 的业务接口开白名单

做完这一步,WAF 不会把你的正常操作当成攻击。

赞片CMS 有几个接口特别容易被误拦,逐个加白:

  • 后台入口:默认是 /admin.php,如果你改过后台文件名,按实际路径填。
  • 上传接口:/index.php/admin/upload/upload.html,需要放行 multipart/form-data,并把请求体大小限制从默认 10MB 调到 200MB 以上,否则传大封面图会被 413。
  • 采集接口:/api.php/... 或 /index.php/api/...,采集参数又长又带特殊符号,建议把「参数异常检测」这类规则关掉。
  • 伪静态路径:赞片CMS 用的是 /show/1-2-3.html 这种形式,如果开了「URL 黑名单」,把 .html 结尾的路径放行。

注意:白名单要按「接口路径」加,别图省事按 IP 加。按 IP 加等于给攻击者开后门。

第五步:验证拦截是否生效

做完这一步,你能确认 WAF 真的在工作,而不是白装。

用 curl 模拟一条 ThinkPHP 的命令执行攻击:

curl -I "http://你的域名/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo"

返回 403 或 502 说明拦住了;返回 200 还吐出 phpinfo 页面,说明规则没生效,回第三步检查站点是否真的接入了。

再手动走一遍正常流程:登录一次后台、发一条采集、传一张封面图、点开一个详情页,确认没被误拦。

第六步:看日志,持续调优

做完这一步,WAF 的误报会越来越少。

进 WAF 后台的事件/日志列表,按「拦截」筛选,逐条看:是真实攻击就保持拦截,必要时把源 IP 加进黑名单;是正常业务就加白名单。前三天建议每天看一次。

注意:WAF 日志本身也会占磁盘,自建方案记得在管理后台设置日志保留天数,别把服务器塞满。

小结

  • 先升框架补丁,再上 WAF,顺序不能反。
  • 源站安全组只放行 WAF 回源 IP,否则 WAF 形同虚设。
  • 上传接口、采集接口、后台入口是赞片CMS 三大误拦重灾区,必须单独加白。
  • 用带攻击参数的 curl 命令验证拦截,别只看面板上的「已开启」。
  • 装完不是结束,前三天看日志调优才算完。
版权声明:本文来自 GJ站长论坛《赞片CMSWAF》
原文链接:https://www.gj0.com/thread-1032.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~