如何配置Web应用防火墙?

wen 网络安全 2

本文目录导读:

如何配置Web应用防火墙?

  1. 第一阶段:接入与基础配置
  2. 第二阶段:核心规则配置(重点)
  3. 第三阶段:优化与告警
  4. 第四阶段:持续维护
  5. 常见场景与配置
  6. 千万不要做的几件事

配置Web应用防火墙(WAF)的具体步骤因厂商(如阿里云、腾讯云、AWS、Cloudflare、开源ModSecurity等)和部署模式(云WAF、软件WAF、硬件WAF)而异,但核心逻辑是通用的。

以下是通用的配置核心流程关键策略建议

第一阶段:接入与基础配置

  1. 选择部署模式

    • 云WAF(推荐):通过DNS CNAME解析将流量引流至WAF节点,回源到真实服务器,对源站无侵入。
    • 软件WAF:在服务器上安装(如Nginx + ModSecurity),适合内网或特定需求,但会消耗服务器性能。
    • 硬件WAF:部署在服务器前面,做串联或旁路。
  2. 添加网站/域名

    • 在WAF控制台添加要防护的域名。
    • 填写源站IP地址或域名。
    • 生成WAF提供的CNAME地址(云WAF模式)。
  3. 修改DNS解析

    • 在域名DNS服务商(如阿里云DNS、Cloudflare)处,将原本指向源站的A记录或CNAME记录,改为指向WAF分配的CNAME地址。
    • 关键:确保所有请求先经过WAF,再转发到源站。严禁直接暴露源站IP(可通过“仅允许WAF回源IP”的安全组策略实现)。
  4. SSL证书配置

    • 在WAF上上传或自动申请SSL证书(如果原本是HTTPS)。
    • 模式选择
      • HTTPS - HTTPS:WAF解密后,用HTTPS回源(最安全)。
      • HTTPS - HTTP:WAF解密后,用HTTP回源(常见,减轻源站SSL负担,但需确保内网安全)。

第二阶段:核心规则配置(重点)

这是“防火墙”发挥作用的地方,需根据业务特点调整。

  1. 开启内置规则(基础防护)

    • SQL注入防御:必须开启。
    • XSS跨站脚本防御:必须开启。
    • 命令执行/文件包含:必须开启。
    • 恶意爬虫/扫描器:可开启,但要注意可能误封搜索引擎(如Bingbot)。
    • 协议合规:检查HTTP请求头、URI长度等,拒绝畸形请求。
  2. 配置黑白名单(精准管控)

    • 白名单:允许特定IP(如公司办公网、支付回调服务器)绕过部分规则。
    • 黑名单:永久封禁恶意IP、爬虫IP池或特定地区(如业务只面向国内,可封禁海外IP)。
  3. 创建自定义规则(高级防护)

    • 当内置规则无法满足复杂需求时使用。
    • 示例拦截所有包含 “/admin/login.php” 路径且来源IP不是内网192.168.1.0/24的请求
    • 正则表达式:匹配特定的User-Agent、Cookie、请求体内容。
  4. 配置CC攻击防护(限速)

    • 单IP访问频率:允许一个IP在60秒内访问同一个URL不超过200次。
    • 全局频率:整体接口请求量限制。
    • 模式选择:建议先使用“观察模式”测试阈值,避免误伤正常用户。

第三阶段:优化与告警

  1. 启用“观察模式”调试

    • 在正式拦截前,建议将主要规则设为“观察(监控/仅记录)”,运行24-48小时。
    • 目的:查看WAF拦截了哪些正常请求(误报)。
    • 操作:若有误报,需添加白名单或调整规则。
  2. 误报处理

    • 问题:用户正常提交包含“select * from”的论坛帖子被拦截。
    • 解决:在WAF中为该URL添加“精确白名单”,或修改规则降低敏感度。
    • 注意:不要为了消除误报而关闭整个SQL注入规则。
  3. 配置告警通知

    • 设置邮件、短信或钩子(如企业微信、钉钉、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密钥认证或签名验证。

千万不要做的几件事

  1. 不要 在配置好WAF后立即开启“拦截”模式,请先用观察模式跑1-2天。
  2. 不要 轻易关闭基础规则(如SQL注入)来迁就一次误报,请添加URL白名单来解决。
  3. 不要 忘记配置源站安全组,只允许WAF回源IP访问你的80/443端口。
  4. 不要 认为配置一次就一劳永逸,WAF策略需要根据业务更新和攻击态势持续迭代

如果你使用的是特定厂商(如阿里云WAF、腾讯云WAF、Cloudflare WAF),请提供具体名称,我可以为你提供该平台的操作路径和特有功能配置。

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