WAF规则怎么配置?

wen 网络安全 2

本文目录导读:

WAF规则怎么配置?

  1. 核心配置原则(方法论)
  2. 典型配置步骤(以云WAF/反向代理WAF为例)
  3. 高频场景配置案例
  4. 常见踩坑点提醒
  5. 总结建议

配置WAF(Web应用防火墙)规则的核心目标是拦截恶意流量(如SQL注入、XSS、CC攻击),同时放行正常用户,不同的WAF产品界面略有差异,但底层逻辑是相通的。

以下是通用的WAF规则配置方法论和一个典型的配置步骤示例。

核心配置原则(方法论)

在动手配置前,请记住这3个原则:

  1. 先观察,后拦截:不要一开始就开启严格的拦截模式,建议先用“仅记录”模式运行1-3天,观察误报情况。
  2. 白名单优先:对信任的IP、CDN回源IP、内部管理后台IP,优先配置白名单,避免被误封。
  3. 分层次防御:不要只用一条规则解决所有问题,通常从:全局规则 (\to) 路径规则 (\to) 速率限制 (\to) 自定义规则,层层递进。

典型配置步骤(以云WAF/反向代理WAF为例)

假设你刚接入WAF,准备上线一个网站(www.example.com)。

第1步:添加防护域名并完成接入

  • 操作:在WAF控制台添加 www.example.com
  • 配置:源站IP/域名(你的真实服务器地址)、端口(80/443)、HTTPS证书。
  • 完成标志:把DNS解析切换到WAF分配的CNAME,等待生效。

第2步:配置基础防护规则(OWASP Top 10)

这是WAF的核心功能,通常为开箱即用

  • SQL注入防护开启,通常设置模式为“拦截”,初期可设为“告警”。
  • XSS跨站脚本开启,可以拦截反射型XSS或存储型XSS。
  • 命令执行/文件包含开启
  • 非法请求方法(如PUT/DELETE)开启(除非你的API需要使用这些方法)。
  • 处理方式:大部分云WAF提供“宽松”、“标准”、“严格”三档,建议从“标准”开始。

第3步:配置自定义规则(针对特定业务或攻击)

当基础规则无法满足需求时,需要手写自定义规则,语法通常是:匹配条件 + 执行动作

示例场景1:拦截某个恶意IP段(如 - )

  • 条件:来源IP 属于 172.16.0.0/24。
  • 动作:拦截,返回403或443。

示例场景2:仅允许特定国家来源访问(防海外扫描)

  • 条件:GeoIP 不等于 “中国”。
  • 动作:拦截(API类业务常用此招)。

示例场景3:保护登录接口(防撞库/刷接口)

  • 条件:URI 包含 /api/login 且 参数中连续5秒内出现超过10次不同IP。
  • 动作:限速或滑块验证(Caprcha)。

第4步:配置CC攻击防护(速率限制)

这是防止正常网页被刷爆的关键。

  • 总开关:开启。
  • 全局限速:单个IP每秒访问总次数(如:常规页面100次/秒,超过则返回503)。
  • 路径级限速:对敏感路径单独设置。
    • /api/query:限制 5次/秒(高频查询可能是爬虫或攻击)。
    • /login:限制 3次/分钟(防止暴力破解)。

第5步:配置白名单(最重要的防误封操作)

在规则生效前,先放行“自己人”。

  • IP白名单:公司出口IP、运维IP、第三方支付回调IP。
  • URL白名单:不需要安全检查的路径(如:.well-known/acme-challenge/ 用于SSL验证)。
  • User-Agent白名单:特殊的爬虫(如:百度蜘蛛、Googlebot),或者你公司内部软件。
  • 位置:通常位于规则列表的最上方(优先级最高)。

第6步:观察与调优

配置完成后,不要直接上线。

  • 查看日志:进入WAF的“攻击日志”或“访问日志”。
  • 重点关注:是否有“误拦截”?比如用户正常提交文章被SQL注入规则拦截(因内容含“ or 1=1 ”)。
  • 处理误报
    • 方式1:将该URL加入白名单(最简单粗暴)。
    • 方式2:创建排除规则(精细调整,如:对该参数 body 关闭SQL注入检测)。

高频场景配置案例

场景 核心配置动作 备注
防WordPress暴力破解 限速 /wp-login.php
2. 拦截非wp-login路径的POST请求
配合插件更佳
防API被刷 自定义规则:限制 X-Api-Key 缺失的请求
2. 限速:/api/v1/ 路径
3. 版本限制
后端也要做鉴权
防恶意爬虫 限制高频访问IP
2. 验证UA头
3. 开启JavaScript挑战(人机验证)
对SEO友好很重要
防HTTP慢速攻击 开启WAF内置的“连接保护”或“协议完整性检测” 通常默认开启

常见踩坑点提醒

  1. 忘记配TLS/SSL证书:WAF回源使用HTTP会导致安全问题。
  2. 白名单优先级过高:如果你把整个路径加入了白名单,那么所有防护规则对此路径都失效了。
  3. 忽略WebSocket:某些基于WebSocket的实时应用(如在线客服),需在WAF中单独配置放行。
  4. CDN/WAF/服务器三层叠加:如果在源站Nginx也配置了IP黑名单,同时WAF也配置了,容易混淆排查。

总结建议

  • 第一次使用:开启 基础Web防护=标准模式,CC防护=使用系统默认阈值,上线后观察24小时。
  • 遇到误报:不要直接关掉整个规则,而是创建例外规则(针对特定路径或参数)。
  • 遇到漏报(攻击未拦截):使用自定义规则补充,或者开启更严格的防护模式(如严格模式)。

如果你用的是具体某款产品(如阿里云WAF、Cloudflare、AWS WAF),请告诉我名字,我可以给你更具体的操作界面指引。

抱歉,评论功能暂时关闭!