20个站手动配防火墙两天、用Cloudflare WAF批量同步只要15分钟,做站群的防火墙配置省下来的时间远不止这些
上周帮一个做站群的朋友排查安全问题,发现他20个站里有4个被挂马了,根因是防火墙规则没统一配——有3个站漏配了目录保护规则,攻击者从这几个站渗透进去改了全站的页脚文件。他自己算了一下,手动把20个站的防火墙规则挨个配一遍,光是登陆后台、切域名、粘贴规则、保存确认,保守估计要两天。
站群防火墙配置最怕的不是规则多,是同样的操作要在N个站上重复N遍。重复一次两次还好,重复二十次、五十次的时候,总会有几个站漏配、配错、忘了更新。这篇文章把站群防火墙批量设置的主流方案捋一遍,从三层防护体系的搭建逻辑到四个工具方案的具体操作,说清楚什么方案适合什么规模的站群。
站群防火墙的三层防护,批量配置之前先搞清楚每一层管什么
| 1 | 网络层防火墙——管谁能访问你的服务器。系统防火墙(firewalld/iptables)、安全组规则,控制IP白名单、端口开放、协议过滤。这一层防的是非法访问和端口扫描 |
| 2 | 应用层防火墙(WAF)——管HTTP流量里有没有攻击行为。防SQL注入、XSS、CC攻击、恶意爬虫、暴力破解。这一层是站群防护的主力战场 |
| 3 | CDN层安全——管流量进来之前先过一道筛子。DDoS防护、Bot管理、速率限制、地域封锁。这一层离用户最近,能在攻击流量到达服务器之前就拦截 |
一、方案一:Cloudflare WAF批量管理——站群防火墙配置效率最高的方案
如果你的站群域名都接入了Cloudflare,那Cloudflare的WAF(Web应用防火墙)批量管理是目前效率最高的防火墙配置方案。它能把多个域名的防火墙规则一次性同步,不用逐个域名登录后台手动设置。
Cloudflare WAF的核心价值在于"一套规则管所有域名"。你在一个域名上配好的WAF规则,可以通过API或第三方工具同步到账号下的其他域名。规则更新也只需要改一次,所有域名自动生效。
Cloudflare WAF能做什么
· 自定义规则:按IP、国家、UA、请求路径、请求方法等条件拦截
· 速率限制:限制单IP的请求频率,防CC攻击
· 托管规则:OWASP Top 10、常见CMS漏洞防护
· Bot管理:识别并拦截恶意爬虫
· JS挑战/验证码:对可疑流量弹出人机验证
批量管理的三种方式
· 方式一:Cloudflare API + 脚本,写一个Python/Shell脚本遍历域名列表,调用API批量创建/更新规则
· 方式二:开源批量管理工具(如Cloudflare WAF Batch Creator),带图形界面,勾选域名一键同步
· 方式三:Cloudflare Tools全栈管理平台,Go后端+Web界面,批量管理DNS/SSL/WAF/缓存
Cloudflare方案最大的优点是CDN层的安全防护和WAF是集成在一起的,不需要额外搭建。DDoS防护、Bot管理、速率限制、WAF规则都在一个控制台里配置。而且免费套餐已经包含了基本的DDoS防护和5条WAF自定义规则,对于中小规模站群来说够用了。

Cloudflare方案的局限
· 国内访问延迟问题:Cloudflare在国内没有节点,如果你的站群面向国内用户,接入Cloudflare后访问速度会明显变慢。这种情况下建议只用Cloudflare做海外站的防护,国内站用其他方案。
· 免费套餐WAF规则数量有限:免费版只有5条自定义规则,站群规模大了不够用。Pro版(20美元/月/域名)支持更多规则,但20个域名就是400美元/月,成本不低。
· 证书问题:Cloudflare默认使用共享证书,有些场景下多个域名共用证书可能产生关联信号。如果需要独立SSL证书,要升级到Business套餐(200美元/月/域名)。
二、方案二:宝塔面板+Nginx防火墙——国内站群的主力方案
如果你的站群跑在国内服务器上,面向国内用户,宝塔面板配合Nginx防火墙是性价比最高的组合。宝塔面板本身就是国内站群管理的主流工具,它的防火墙插件和批量管理功能配合使用,能把多站的安全配置效率提升一大截。
宝塔的Nginx防火墙(免费版和付费版都有)直接在Web服务器层面过滤恶意请求,优势是零延迟、不走外部节点,不会像Cloudflare那样影响国内访问速度。
| 防火墙功能 | 说明 | 站群批量设置方式 |
|---|---|---|
| IP黑/白名单 | 封禁恶意IP段,放行搜索引擎蜘蛛IP | 导出规则文件,批量导入到其他站点 |
| CC攻击防护 | 限制单IP请求频率,自动封禁高频IP | 设置统一阈值模板,批量应用到站点 |
| 恶意UA拦截 | 屏蔽已知爬虫、扫描器、漏洞扫描工具的UA | 维护一份黑名单UA列表,所有站点共用 |
| 目录保护 | 禁止访问敏感目录(后台地址、配置文件等) | 每个站的后台地址不同,需单独配置 |
| 防盗链 | 防止图片、文件被其他站点直接引用 | 统一配置Referer白名单,批量生效 |
宝塔的批量操作有几个实用技巧:一是通过宝塔API批量执行Nginx配置更新,写一个脚本调用宝塔面板的API接口,遍历所有站点更新防火墙配置文件;二是利用宝塔的多机管理功能,把多台服务器上的宝塔面板集中管理,在同一界面上跨服务器批量操作。
宝塔方案的一个关键问题:跨服务器批量同步
如果你的站群分散在多台服务器上,宝塔面板的多机管理功能可以把所有服务器加到同一个管理界面。但如果服务器数量超过5台,手动逐台配置还是累。这时需要配合Ansible这类自动化运维工具——写一个Ansible playbook,定义好防火墙规则模板,一键推送到所有服务器上的所有站点。Ansible是SSH协议的无代理方案,不需要在服务器上额外安装客户端,特别适合站群场景。
三、方案三:Nginx原生配置+批量脚本——最灵活但也最考验技术功底
如果你对服务器运维比较熟,直接在Nginx层面配置防火墙规则是最灵活的方式。没有任何中间层,规则执行效率最高,而且完全可控、零额外成本。
Nginx原生可以做很多防火墙层面的事:IP黑白名单、请求频率限制、防盗链、防SQL注入、UA过滤、目录保护。关键是这些配置可以通过脚本批量生成和分发。
Nginx防火墙批量配置的核心配置文件
1. IP白名单(只允许搜索引擎蜘蛛和运维IP访问后台):
location /admin {
allow 你的运维IP;
allow 百度蜘蛛IP段;
deny all;
}
2. 请求频率限制(防CC攻击):
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
3. UA黑名单(拦截已知恶意爬虫):
if ($http_user_agent ~* "scrapy|curl|wget|python-requests") { return 403; }
4. 防盗链(保护图片和文件资源):

location ~* \.(jpg|png|gif|pdf)$ {
valid_referers none blocked *.你的域名.com 百度 谷歌;
if ($invalid_referer) { return 403; }
}
把这些通用规则写成一个Nginx配置模板文件,通过Ansible或自定义脚本批量推送到所有服务器的Nginx配置目录,然后统一reload。更新规则时也只需要改模板文件,一键推送到所有站点。
这个方案的缺点是没有可视化管理界面,查日志、看拦截统计不如宝塔和Cloudflare直观。而且Nginx层面的规则对于复杂攻击(比如SQL注入、XSS的变形绕过)防护能力有限,需要配合modsecurity等专门的WAF模块。
四、方案四:第三方WAF产品——功能最强但成本最高
如果你的站群规模大、业务敏感(比如电商、金融类),前三种方案的防护深度可能不够。这时需要考虑专业的第三方WAF产品。国内主流的有安全狗、云锁、悬镜、阿里云WAF等。
| 产品 | 类型 | 站群批量管理能力 | 适用规模 |
|---|---|---|---|
| 安全狗 | 服务器安全软件(含WAF模块) | 有云端管理平台,可批量查看多台服务器的安全状态,但规则配置仍需逐台操作 | 中小规模站群 |
| 云锁 | 服务器安全+WAF | 云端控制台统一管理,支持分组管理和策略模板,适合批量操作 | 中等规模站群 |
| 悬镜 | 服务器安全加固 | 侧重系统层面的安全加固,WAF能力较弱,批量管理依赖企业版 | 小型站群 |
| 阿里云WAF | 云端WAF服务 | 支持多域名接入,统一策略管理,但按域名和流量计费,站群规模大了成本高 | 大规模站群(预算充足) |
第三方WAF产品的优势在于防护深度和规则库的专业性,它们有专门的安全团队持续更新攻击特征库,对新型漏洞的响应速度比你自己维护的Nginx规则快得多。但对于站群场景来说,大部分产品的批量管理能力仍然偏弱——要么不支持批量,要么批量功能需要企业版才有。
第三方WAF产品在站群场景下的三个痛点
· 按域名收费:大部分云WAF按接入域名数量计费,20个域名每月费用轻松过千。对于利润不高的站群来说,成本压力不小。
· 批量操作能力参差不齐:有的产品只支持统一查看安全状态,不支持批量下发规则。买之前一定要确认批量管理功能的具体支持程度。
· 可能产生关联信号:所有域名接入同一个WAF服务商的同一个账号下,如果WAF的配置模板、拦截页面、证书等完全一致,可能成为搜索引擎判断站群关联的线索。
五、四个方案横向对比——按站群规模选
上面四个方案没有绝对的好坏,关键是你的站群规模、技术能力、预算和用户区域决定了哪个更适合你。
| 方案 | 适合规模 | 月成本(20站) | 防护深度 | 批量效率 | 国内速度 |
|---|---|---|---|---|---|
| Cloudflare WAF | 5-50站(海外) | 0-400美元 | ★★★★★ | ★★★★★ | ★☆☆☆☆ |
| 宝塔+Nginx防火墙 | 3-30站(国内) | 0-50元 | ★★★☆☆ | ★★★☆☆ | ★★★★★ |
| Nginx原生+脚本 | 任意规模 | 0元 | ★★★☆☆ | ★★★★☆ | ★★★★★ |
| 第三方WAF产品 | 10-100站(预算足) | 500-5000元 | ★★★★★ | ★★★☆☆ | ★★★★☆ |
简单总结一下选择逻辑:海外站群用Cloudflare,国内站群用宝塔+Nginx防火墙,技术强预算零用Nginx原生+Ansible,预算充足要最强防护用第三方WAF。很多实际场景是混用的——海外站走Cloudflare,国内站走宝塔,然后用一个统一的管理后台或脚本把两边都管起来。
六、防火墙规则怎么写——站群通用的五条核心规则
不管你用哪个方案,站群防火墙有五条核心规则是必须配的。这五条规则覆盖了站群最常见的攻击面,配好了能挡住90%以上的恶意流量。
规则一:后台地址IP白名单——优先级最高
站群的每个站都有后台登录入口(/admin、/wp-admin、/manage等),这些入口是暴力破解的主要目标。配一条规则:只允许你自己的运维IP和搜索引擎蜘蛛IP访问后台路径,其余全部拒绝。这条规则要排在第一优先级,并且每个站的后台路径如果不一样,需要单独指定。
规则二:恶意UA全局拦截
维护一份已知恶意UA的黑名单,包括漏洞扫描器(Nikto、Acunetix、Nessus)、爬虫框架(Scrapy、Python-requests、Go-http-client)、SEO工具爬虫(AhrefsBot、SemrushBot——如果你不想被竞品分析的话)。这份黑名单所有站共用,定期更新。
规则三:请求频率限制(防CC/爬虫)
设置单IP的请求频率上限,超过阈值自动封禁。建议分场景设置:普通页面限制每秒10-20次请求,登录接口限制每分钟5次请求,搜索接口限制每分钟10次请求。注意要给搜索引擎蜘蛛的IP段设置更高的上限或直接放行,避免误封。
规则四:敏感文件和目录保护
禁止外部访问配置文件(.env、wp-config.php、config.json)、备份文件(.sql、.tar.gz、.zip)、日志文件、Git目录(.git/)、编辑器临时文件(.swp、~)。这些文件一旦被外部读取,信息泄露的风险极大。

规则五:特定国家/地区IP封锁
如果你的站群只面向特定国家(比如只做国内市场或只做欧美市场),可以直接封掉其他国家的IP。国内站群封掉境外IP能挡住90%的恶意扫描;海外站群封掉非目标市场国家的IP能大幅减少无效流量和攻击面。注意搜索引擎蜘蛛的IP可能在全球各地,不要误封。
这五条规则配好后,你的站群安全基线就已经立起来了。后续根据实际攻击日志再逐步补充针对性规则。
七、批量配置的实际操作流程——从零到所有站生效
前面说的都是方案和规则,这一节把实际操作流程串一遍。以Cloudflare方案为例,因为它的批量管理最成熟。
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 所有域名接入Cloudflare | 修改域名的NS记录指向Cloudflare,等DNS生效(通常几分钟到几小时) |
| 2 | 在第一个域名上配好WAF规则模板 | 选一个域名作为模板,在Cloudflare的安全→WAF里创建五条核心规则,测试通过 |
| 3 | 获取Cloudflare API Token | 在Cloudflare控制台的"我的个人资料→API令牌"里创建一个有Zone.WAF权限的Token |
| 4 | 用批量工具同步规则 | 使用Cloudflare WAF Batch Creator等开源工具,导入域名列表,选择模板域名,一键同步所有WAF规则到全部域名 |
| 5 | 逐个域名验证 | 抽检3-5个域名,确认规则生效。用curl模拟恶意请求验证拦截效果 |
| 6 | 设置定期同步和监控 | 规则更新后重新执行同步,配合Cloudflare的安全分析面板监控拦截情况,每周检查一次攻击趋势 |
如果是宝塔方案,操作流程类似:先在一个站上配好Nginx防火墙规则模板,然后通过宝塔API或Ansible脚本批量推送到其他站点。区别是宝塔没有现成的开源批量同步工具,需要自己写脚本,或者直接用Ansible的lineinfile模块批量修改Nginx配置。
Cloudflare批量同步
15分钟
20个域名一次同步
宝塔逐个配置
2-4小时
20个站点逐一设置
Ansible批量推送
5分钟
不限站点数量
八、容易被忽略的防火墙配置细节
防火墙配好了不代表万事大吉,有几个细节经常被忽略,一旦出问题会影响整批站点的正常访问。
细节一:搜索引擎蜘蛛IP白名单必须配,不然等于自断流量
你的IP黑名单、国家封锁、频率限制等规则很容易误伤搜索引擎蜘蛛。百度蜘蛛、Googlebot的IP段和UA信息是公开的,一定要在防火墙规则的最前面加上白名单放行。百度的蜘蛛IP可以在百度搜索资源平台查到官方列表,Google的可以通过反向DNS验证。
细节二:CDN回源IP也要放行
如果你用了CDN(比如Cloudflare),服务器端的防火墙要把CDN的回源IP全部放行,否则CDN节点无法访问你的源站。Cloudflare的回源IP列表是公开的,定期更新。同理,如果你用了百度云加速或其他CDN,也要放行对应的回源IP。
细节三:SSL/TLS证书和防火墙的关系
防火墙配好后,SSL证书的自动续期(Let's Encrypt的ACME验证)可能会被防火墙拦截。要在防火墙上放行/.well-known/acme-challenge/路径,或者把证书续期任务的白名单加到防火墙里。
细节四:监控告警比防火墙规则更重要
防火墙规则是死的,攻击手法是活的。配好防火墙之后,一定要配上监控告警——当拦截量突然飙升、某个站点的错误率异常、服务器负载突增时,第一时间收到通知。很多攻击是在你睡着的时候发生的,没有告警机制,等第二天发现的时候站点已经挂了一整晚。
还有一个容易被忽略的问题:站群防火墙的配置差异本身就是安全风险。十个站里有九个配了后台IP白名单,有一个忘了配,攻击者不会因为你九个站配了就放过你——他扫到那个没配的站,照样渗透进去。这就是为什么要用批量工具统一管理的根本原因。
UC建站系统在防火墙这一层的思路和独立部署方案是一致的:每个站独立部署、独立IP、独立配置,但从管理层面提供统一的看板和批量操作入口。这样既保持了各站之间的安全隔离(一个站被攻破不影响其他站),又不会因为逐个管理导致配置遗漏。结合双通道推送(百度API + IndexNow),安全事件后的恢复内容能第一时间推送给搜索引擎。
站群防火墙这件事,核心不在于你用了多贵的WAF产品,而在于所有站的防护规则是不是一致的、更新是不是同步的、异常是不是能第一时间发现的。20个站有19个配好了防火墙和20个站全都没配防火墙,从攻击者的角度看是一样的——他只需要找到那一个没配的。所以批量管理不是锦上添花,是站群安全的基本要求。
