宝塔面板WAF防火墙设置是指通过宝塔面板内置或第三方WAF模块,对网站HTTP/HTTPS请求进行实时检测和拦截,配置攻破防护规则、CC防护阈值、黑白名单、访问控制及日志审计等策略。
WAF防火墙启用与基础配置
在宝塔面板左侧菜单进入“网站”或“软件商店”,安装“Nginx防火墙”或“Apache防火墙”插件,安装完成后,打开指定站点设置,找到“WAF防火墙”或“网站防火墙”选项卡,首次使用需开启防火墙总开关,并选择运行模式,模式分为“拦截模式”和“观察模式”,观察模式只记录不拦截,适合规则调优阶段;拦截模式会直接阻断命中规则的请求。
基础配置还包括防护等级,低等级仅拦截明显攻破,高等级会启用更严格规则,但可能增加误报,建议生产环境先使用中等级别观察运行3至7天,根据日志调整白名单后切换到拦截模式,切换前需确认核心业务路径访问正常,避免影响用户操作。

全局请求限制
全局请求限制用于控制单IP访问频率和并发连接数,设置项包括单IP最大并发连接数、单IP每秒请求数、单IP每分钟请求数,例如将单IP每秒请求数设置为20次,超过后返回429状态码或拦截页面,对于API站点,可适当放宽至每秒50次;普通企业站可设置为每秒10至20次,全局请求限制能有效缓解cc攻破和暴力免费。
配置时需注意CDN或负载均衡场景,若网站使用CDN,直接限制来源IP会误伤CDN节点,此时需在WAF中启用CDN模式,或从CDN回源层获取真实IP,宝塔WAF支持通过X-Forwarded-For等头信息识别真实用户IP,但要确保只有CDN节点可传递该头信息,防止杜撰。
内置规则库管理
内置规则库包含SQL载入、XSS跨站脚本、命令执行、文件包含、目录遍历、一句话木码、常见CMS漏洞利用等检测规则,每条规则有独立开关和风险等级,规则更新频率影响防护效果,需定期检查规则库版本并在线更新,规则引擎基于正则表达式和语义分析匹配请求参数、URI、Cookie、User-Agent等。
例如SQL载入规则检测参数中是否包含union select、sleep(、or 1=1等关键字或变形,XSS规则检测script标签、onerror事件、javascript伪协议等特征,启用规则后,命中请求会被拦截并记录日志,若出现误报,可在日志中点击“加白”快速放行该URL或参数,对于特殊业务参数,可设置参数白名单,避免规则误判。
cc攻破防护配置
cc攻破防护单独设置触发阈值,配置项包括统计时间窗口、请求次数阈值、封禁时长、是否启用验证码或JS跳转,例如设置10秒内同一IP请求超过50次,则自动封禁该IP 600秒,对登录、注册、搜索等动态页面,可设置更严格阈值,验证码方式在用户请求过频时弹出图形验证码,通过后继续访问;JS跳转方式要求浏览器执行JavaScript后重定向,可过滤大部分爬虫脚本。
CC防护需排除静态资源目录,如/js/、/css/、/images/,避免误伤正常资源加载,可在“URL白名单”中添加静态文件后缀或目录,不参与CC统计,对于移动端应用,需确认接口是否包含必要的重复请求,避免频繁调用被误判为cc攻破。
IP黑白名单
IP黑名单用于永久或长期封禁恶意IP、攻破来源、垃圾爬虫,支持单个IP、IP段、CIDR格式,如192.168.1.0/24,白名单中的IP跳过所有WAF检测,适合公司固定出口IP、管理员家庭IP、第三方回调服务器IP等,配置时注意白名单优先级高于黑名单,若同一IP同时存在于黑白名单,通常按白名单放行。
批量导入功能支持每行一个IP或IP段,可快速迁移旧防火墙规则,临时封禁由CC防护自动产生,与手工黑名单互相独立,但可在“自动封禁列表”中查看并手动解封,解封后若攻破继续,会再次触发封禁,建议定期检查自动封禁列表,清理过期或不再需要的封禁记录。
UA黑白名单与地域限制
User-Agent黑名单可拦截特定爬虫、扫描器或恶意工具,例如拦截空UA、python-requests、sqlmap、nikto、scrapy等特征,UA白名单则放行搜索引擎蜘蛛,如Googlebot、Baiduspider,避免规则误伤SEO收录,地域限制按IP归属地放行或拦截,外贸站可在攻破期间仅放行目标国家,国内站可临时拦截海外流量。
地域库存在一定误差,且无法拦截使用代理的访问者,该功能需服务器支持GeoIP扩展,宝塔WAF通常集成离线地域库,配置地域限制时先观察访问来源分布,再逐步缩小范围,防止误伤正常用户,对跨境业务站点,建议只拦截明确恶意来源地区,不轻易整片封锁。
URL访问控制与敏感信息过滤
URL访问控制提供路径级规则,可禁止访问后台路径、备份文件、配置文件、日志文件、临时文件等,例如禁止访问/wp-admin/、/admin/、/phpmyadmin/、.sql、.tar.gz、*.zip、.env、.git/等,还可以设置仅允许指定IP访问后台路径,例如将/admin/绑定到公司固定IP。
敏感信息过滤用于拦截请求或响应中的身份证号、手机号、银行卡号等数据,防止敏感数据泄露,对上传目录可单独设置不执行脚本,阻断webshell执行,部分WAF支持“上传文件内容检测”,对上传文件进行恶意代码扫描,扫描结果异常时直接阻断上传请求,并记录文件名和来源IP。
日志审计与误报处理
WAF拦截日志记录时间、来源IP、国家/地区、请求方法、完整URL、请求参数、命中规则编号、处理动作,日志列表支持按IP、URL、规则类型筛选,分析日志时可发现攻破来源和攻破目标,误报处理方式是定位日志记录,点击“加入白名单”,可选择仅加白该URL、该参数名或该IP,白名单规则会立即生效,无需重启服务。
日志保留时间可设置,建议至少保留30天用于安全审计,高流量站日志量大时,可仅记录拦截日志而非全部访问日志,减少磁盘占用,日志支持导出为CSV或JSON格式,便于离线分析或提交安全报告,定期审计拦截日志有助于发现新的攻破手法和规则缺口。
常见场景配置示例
WordPress网站后台保护:开启内置WordPress规则,对/wp-login.php启用CC防护阈值30次/分钟,后台路径/wp-admin/仅允许管理员IP访问,禁止访问xmlrpc.php,电商网站防CC:设置全局单IP每秒15次,对/api/接口单独设置每秒40次,对商品搜索页启用验证码模式,API接口防刷:对/app/api/路径设置签名校验或仅允许特定UA,同时开启连接数限制,企业展示站基础防护:开启中等级别内置规则,全局请求限制每秒20次,禁止海外访问后台,添加静态目录URL白名单。
高级自定义规则编写
宝塔WAF支持自定义规则,填写规则名称、匹配字段、匹配方式、正则表达式、执行动作,匹配字段包括URI、参数名、参数值、Cookie、User-Agent、Referer、请求方法等,例如编写“禁止访问.env文件”规则:匹配字段URI,正则/\.env($|\?),动作拦截,自定义规则可设置优先级,数字越小越先匹配。
编写自定义规则时需注意正则表达式前后使用定界符,避免错误匹配,可先在观察模式下测试,检查日志中命中情况,确认无误后再切换拦截,复杂规则可组合多个条件,例如同时匹配URI和参数值才执行动作,自定义规则数量不宜过多,以免影响请求处理性能。
十一、配置备份与迁移
WAF配置可导出为JSON文件,包含全局参数、规则状态、黑白名单、自定义规则等,在服务器迁移或多节点部署时,导入配置可快速同步策略,定期备份配置文件到本地或异地存储,防止误操作导致策略丢失,不同版本宝塔面板或防火墙插件之间可能存在配置字段差异,导入后需检查关键规则是否生效。
备份时应同时记录当前插件版本号和面板版本号,恢复配置前建议先备份现有配置,再执行导入操作,多台服务器可共用同一份配置模板,但需根据各站业务差异调整白名单和CC阈值,避免直接覆盖导致不必要的拦截。