WAF(Web应用防火墙)重要域名接入方案 - 操作笔记
WAF(Web应用防火墙)重要域名接入方案 - 操作笔记
一、 前言与目标
本笔记旨在规范公司重要域名接入WAF的流程,确保接入过程安全、平滑、可回溯。目标是在不中断业务或极小影响的前提下,为Web应用提供有效的安全防护,抵御OWASP Top 10等常见Web攻击(如SQL注入、XSS、漏洞利用等)。
二、 第一阶段:前期准备
目标: 全面了解接入对象,评估风险,制定精准的接入策略。
1. 域名与业务信息收集
- 域名清单: 列出所有待接入的域名(例如:
www.example.com
,api.example.com
,internal.example.com
)。 - 业务重要性评级:
- P0(核心): 直接影响主营业务收入或核心功能的域名(如支付网关、主站交易页)。必须接入,优先处理。
- P1(重要): 重要业务支撑域名(用户中心、API接口站)。必须接入。
- P2(一般): 内部系统、后台管理、测试环境域名。建议接入。
- 业务流量基线: 记录正常业务流量指标(非常重要!),包括:
- QPS(每秒请求数)
- 带宽(入/出)
- 正常用户访问的IP段、User-Agent、URL模式
- 高峰时段(如促销日、工作日特定时间)
2. 技术架构与配置审计
- 服务器信息: 记录域名当前解析的后端服务器IP(源站IP)和端口。
- 协议与证书: 确认网站使用的协议(HTTP/HTTPS),并收集SSL证书信息(提供商、有效期、SAN字段)。
- 特殊配置: 检查源站服务器是否有特殊配置,如:
- 依赖客户端真实IP(需要WAF配置X-Forwarded-For等字段)
- 特定的Header或Cookie
- Websocket、gRPC等长连接或特殊协议支持
- DNS解析现状: 记录当前DNS解析记录类型(A记录、CNAME记录等)和TTL值。
3. WAF侧配置准备
- 购买与授权: 确保WAF实例(云WAF)或集群(自建WAF)有足够的业务带宽和域名授权数。
- 防护策略模板: 预先在WAF管理台上根据业务类型(如API、门户网站、管理后台)创建基础的防护策略模板(可先设置为观察模式/日志模式)。
三、 第二阶段:接入实施
目标: 平滑切换流量,完成接入,并确保业务可用性。
接入方式选择(通常二选一):
- CNAME解析(云WAF首选): 将域名DNS解析记录修改为WAF提供的CNAME地址。推荐,最灵活。
- NS解析(云WAF): 将域名的NS记录修改为WAF提供的DNS服务器地址,由WAF厂商负责解析。适用于需要对子域名进行集中管理的场景。
- 代理/路由方式(自建WAF): 修改网络架构,将流量引流至WAF集群。
以最常用的 CNAME方式 为例,操作步骤:
WAF侧添加域名
- 登录WAF管理控制台。
- 添加需要防护的域名,如
www.example.com
。 - 填写源站IP(或源站域名)和端口。
- 上传SSL证书(如果网站是HTTPS)。务必确保证书完整(证书链)、密钥正确。
- 选择之前准备好的防护策略模板,并务必设置为“观察模式”。
本地验证(必做!)
- 修改本机Hosts文件,将测试域名强制解析到WAF的CNAME地址或IP。
- 使用浏览器、curl等工具访问网站,测试主要功能(登录、下单、查询等)是否正常。
- 检查WAF控制台日志,确认流量已经过WAF并能否正确回溯到源站。
切流操作(正式上线)
- 降低DNS TTL: 在切流前至少提前24-48小时,将线上域名的DNS TTL值修改为一个较短的时间(如300秒)。这样在正式切换时,DNS缓存能快速过期,便于回滚。
- 选择低峰时段: 在业务流量最低的时间段(如凌晨)进行操作。
- 执行解析变更: 在DNS服务商处,将域名的解析记录由原来的A记录(指向源站IP)修改为CNAME记录(指向WAF提供的地址)。
- 通知与监控: 通知运维、监控、客服团队,密切关注业务监控大盘(可用性、错误率、延时)、WAF流量日志和告警信息。
灰度发布策略(针对核心P0域名)
- 如果担心全量切换风险,可采用灰度策略:
- 先通过DNS权重解析(如Weighted Round Robin),将一小部分流量(如10%)指向WAF的CNAME,大部分流量仍指向源站。
- 观察1-2个业务周期,确认无误后,再逐步放大灰度比例,直至100%切流。
- 如果担心全量切换风险,可采用灰度策略:
四、 第三阶段:接入后运维与调优
目标: 确保WAF有效防护,避免误杀,持续优化。
功能与性能验证(持续1-2天)
- 再次进行全链路业务功能验证。
- 对比监控指标,确认延迟和错误率在可接受范围内。
策略调优(核心工作)
- 分析观察模式日志: 查看WAF拦截的日志,重点关注:
- 误报(False Positive): 正常业务请求被拦截。需要分析原因,添加白名单(如URL、参数、IP)。
- 漏报(False Negative): 恶意请求被放行。需要调整规则阈值或添加自定义规则。
- 切换为防护模式: 当确认误报在极低水平后,将防护策略从“观察模式”切换为“拦截模式”。
- 精细化配置:
- 为不同业务(API、Web)设置不同的防护策略。
- 配置CC攻击防护规则,设置合理的频率阈值。
- 配置精准的IP黑名单/白名单。
- 分析观察模式日志: 查看WAF拦截的日志,重点关注:
监控与告警
- 配置WAF关键告警:
- 源站可用性告警(WAF到源站连接失败)
- QPS/带宽突增告警(可能遭遇攻击)
- 特定高危规则拦截数量突增告警
- 将WAF关键指标(拦截数、流量)纳入日常监控大盘。
- 配置WAF关键告警:
五、 第四阶段:其他强化措施
高可用与回滚方案
- 回滚方案: 如果切换后出现重大问题,立即将DNS记录修改回原来的源站IP。(这就是为什么提前降低TTL至关重要)
- 源站安全加固: 不要将源站IP暴露在公网。可通过防火墙策略(如安全组、ACL)设置仅允许WAF回源节点的IP段访问源站服务器。
日志与审计
- 开启WAF全量日志记录,并对接至公司的SIEM或日志分析系统(如ELK、Splunk),用于安全事件溯源和审计。
- 定期(每周/每月)生成安全报告,汇报拦截攻击的类型、次数和趋势。
应急响应
- 将WAF纳入公司安全应急响应流程。一旦发现大规模攻击,可在WAF上快速一键切换至“紧急模式”(如设置更严格的CC防护、人机验证等)。
六、 附录:检查清单 (Checklist)
- 域名和业务重要性已评估
- 源站IP、协议、证书信息已收集
- 业务流量基线已记录
- WAF实例资源充足
- 防护策略模板已创建(观察模式)
- 本机Hosts验证通过
- DNS TTL已提前降低
- 运维/监控团队已通知
- 在低峰期执行DNS变更
- 切换后业务监控无异常
- WAF日志分析无误报/漏报
- 防护策略已切换至拦截模式
- 源站安全组已加固(仅允许WAF回源IP)
- WAF告警已配置并测试
- 回滚方案已明确
重要提醒: 每次接入都应按本流程操作,并做好记录,形成可复现的标准操作程序(SOP)。