WAF 挂载部署与防火墙协作指南
一、WAF 挂载部署方式
1. 部署模式选择
(1) 反向代理模式 (最常见)
特点:
所有流量先经过WAF检测WAF作为流量入口点需要配置SSL证书在WAF上
(2) 透明桥接模式
特点:
对网络拓扑无影响无需更改DNS记录部署简单但功能受限
(3) 旁路检测模式
特点:
只检测不拦截用于监控和学习模式零业务影响
2. 具体部署步骤 (以反向代理为例)
硬件WAF部署:
物理连接:# 网络拓扑
Internet → (eth0) WAF (eth1) → 防火墙 → 内网
配置网络参数:# 配置WAF接口IP
ifconfig eth0 203.0.113.10 netmask 255.255.255.0
ifconfig eth1 192.168.1.10 netmask 255.255.255.0
设置路由:route add default gw 192.168.1.1
云WAF部署:
DNS解析切换:# 原记录
www.example.com A 203.0.113.20
# 修改为
www.example.com CNAME waf.example.net
源站配置:
限制只接受来自WAF的流量配置健康检查
二、WAF与防火墙的协作机制
1. 分层防护架构
2. 功能分工对比
安全功能防火墙责任WAF责任IP封禁基于IP/端口的粗粒度拦截一般不处理SQL注入无法检测深度检测并阻断DDoS防护网络层SYN Flood防护HTTP Flood防护端口扫描主要防护层辅助检测XSS攻击无法识别主要防护层漏洞利用部分可识别(如MS17-010)应用层漏洞防护3. 策略协同配置示例
防火墙策略:
# 只允许WAF访问Web服务器
iptables -A FORWARD -p tcp --dport 80 -s 192.168.1.10 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -s 192.168.1.10 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j DROP
iptables -A FORWARD -p tcp --dport 443 -j DROP
WAF策略:
{
"rule_name": "SQLi防护",
"action": "block",
"conditions": [
{
"field": "ARGS",
"operator": "detectSQLi",
"value": ""
}
]
}
三、典型协作场景
1. 攻击事件处理流程
2. 日志关联分析
-- 在SIEM中的关联查询
SELECT
firewall.src_ip,
COUNT(waf.attack_type) as attacks
FROM
firewall_logs
JOIN
waf_logs ON firewall.src_ip = waf.src_ip
WHERE
firewall.event_time BETWEEN NOW() - INTERVAL 1 HOUR AND NOW()
GROUP BY
firewall.src_ip
HAVING
COUNT(waf.attack_type) > 5
四、最佳实践建议
流量顺序优化:
建议路径:互联网 → 抗DDoS → 防火墙 → WAF → 内网避免WAF处理非Web流量
规则协调原则:
防火墙做第一层粗过滤WAF专注于应用层攻击互相共享威胁情报
性能考虑:
对WAF开启TCP卸载(TOE)防火墙启用硬件加速避免双重SSL解密
高可用设计:
五、常见问题排查
1. 流量不通问题
检查清单:
防火墙是否放行WAF出站流量WAF是否配置了正确的回源地址是否有多余的NAT转换
2. 性能瓶颈诊断
排查命令:# WAF性能监控
conntrack -L | wc -l # 查看连接数
top -H -p
# 防火墙CPU检查
watch -n 1 'show session stat'
3. 规则冲突解决
处理流程:
确定攻击类型(网络层/应用层)网络层攻击由防火墙处理应用层攻击由WAF处理建立例外规则白名单
通过合理的部署架构和策略协同,WAF与防火墙可以构建纵深防御体系,建议定期(季度)进行规则交叉审核和联合演练。