本文目录导读:

配置Web应用防火墙(WAF)的具体步骤因厂商(如阿里云、腾讯云、AWS、Cloudflare、开源ModSecurity等)和部署模式(云WAF、软件WAF、硬件WAF)而异,但核心逻辑是通用的。
以下是通用的配置核心流程和关键策略建议:
第一阶段:接入与基础配置
-
选择部署模式
- 云WAF(推荐):通过DNS CNAME解析将流量引流至WAF节点,回源到真实服务器,对源站无侵入。
- 软件WAF:在服务器上安装(如Nginx + ModSecurity),适合内网或特定需求,但会消耗服务器性能。
- 硬件WAF:部署在服务器前面,做串联或旁路。
-
添加网站/域名
- 在WAF控制台添加要防护的域名。
- 填写源站IP地址或域名。
- 生成WAF提供的CNAME地址(云WAF模式)。
-
修改DNS解析
- 在域名DNS服务商(如阿里云DNS、Cloudflare)处,将原本指向源站的A记录或CNAME记录,改为指向WAF分配的CNAME地址。
- 关键:确保所有请求先经过WAF,再转发到源站。严禁直接暴露源站IP(可通过“仅允许WAF回源IP”的安全组策略实现)。
-
SSL证书配置
- 在WAF上上传或自动申请SSL证书(如果原本是HTTPS)。
- 模式选择:
- HTTPS - HTTPS:WAF解密后,用HTTPS回源(最安全)。
- HTTPS - HTTP:WAF解密后,用HTTP回源(常见,减轻源站SSL负担,但需确保内网安全)。
第二阶段:核心规则配置(重点)
这是“防火墙”发挥作用的地方,需根据业务特点调整。
-
开启内置规则(基础防护)
- SQL注入防御:必须开启。
- XSS跨站脚本防御:必须开启。
- 命令执行/文件包含:必须开启。
- 恶意爬虫/扫描器:可开启,但要注意可能误封搜索引擎(如Bingbot)。
- 协议合规:检查HTTP请求头、URI长度等,拒绝畸形请求。
-
配置黑白名单(精准管控)
- 白名单:允许特定IP(如公司办公网、支付回调服务器)绕过部分规则。
- 黑名单:永久封禁恶意IP、爬虫IP池或特定地区(如业务只面向国内,可封禁海外IP)。
-
创建自定义规则(高级防护)
- 当内置规则无法满足复杂需求时使用。
- 示例:
拦截所有包含 “/admin/login.php” 路径且来源IP不是内网192.168.1.0/24的请求。 - 正则表达式:匹配特定的User-Agent、Cookie、请求体内容。
-
配置CC攻击防护(限速)
- 单IP访问频率:允许一个IP在60秒内访问同一个URL不超过200次。
- 全局频率:整体接口请求量限制。
- 模式选择:建议先使用“观察模式”测试阈值,避免误伤正常用户。
第三阶段:优化与告警
-
启用“观察模式”调试
- 在正式拦截前,建议将主要规则设为“观察(监控/仅记录)”,运行24-48小时。
- 目的:查看WAF拦截了哪些正常请求(误报)。
- 操作:若有误报,需添加白名单或调整规则。
-
误报处理
- 问题:用户正常提交包含“select * from”的论坛帖子被拦截。
- 解决:在WAF中为该URL添加“精确白名单”,或修改规则降低敏感度。
- 注意:不要为了消除误报而关闭整个SQL注入规则。
-
配置告警通知
- 设置邮件、短信或钩子(如企业微信、钉钉、Webhook)。
- 告警条件:可疑请求次数超过阈值、规则大量命中、CC攻击启动、网站状态码异常(如502)。
第四阶段:持续维护
- 定期更新规则库:云WAF自动更新,软件WAF需手动更新官方规则集(如OWASP CRS)。
- 分析攻击日志:定期查看WAF日志,识别新型攻击手法和攻击源IP。
- 处理紧急事件:一旦发现0day漏洞(如Log4j、ThinkPHP RCE),立即在WAF上创建“临时虚拟补丁”规则。
常见场景与配置
| 场景类型 | 问题表现 | WAF配置建议 |
|---|---|---|
| 业务正常,被误报 | 用户无法上传代码、提交订单失败 | 添加URL白名单(精确路径)。 临时关闭特定规则(不推荐全局关闭)。 |
| 遭遇CC攻击 | 网站响应缓慢,CPU飙升 | 开启“区域封禁”(封禁攻击源地区)。 设置严格的单IP频率限制。 启用JS验证挑战(验证码)。 |
| 被刷接口/撞库 | 登录/注册接口被高频请求 | 设置接口级别的频率限制。 添加验证码验证(滑块/点选)。 对高风险IP自动加入黑名单。 |
| 需要API防护 | 无需界面,仅有JSON/XML接口 | 单独配置API防护规则(不启用Cookie/HTML解析)。 启用API密钥认证或签名验证。 |
千万不要做的几件事
- 不要 在配置好WAF后立即开启“拦截”模式,请先用观察模式跑1-2天。
- 不要 轻易关闭基础规则(如SQL注入)来迁就一次误报,请添加URL白名单来解决。
- 不要 忘记配置源站安全组,只允许WAF回源IP访问你的80/443端口。
- 不要 认为配置一次就一劳永逸,WAF策略需要根据业务更新和攻击态势持续迭代。
如果你使用的是特定厂商(如阿里云WAF、腾讯云WAF、Cloudflare WAF),请提供具体名称,我可以为你提供该平台的操作路径和特有功能配置。