
我在处理香港客户一个持续遭受DDoS与Web攻击的在线游戏平台时,客户的诉求很明确:在不依赖7×24小时运维干预的前提下,构建一套具备自适应能力的Web安全体系。我最终落地的方案,是基于香港高防服务器构建“分层WAF + IPS”的纵深防御模型。以下是我完整的实操过程和技术细节。
一、整体架构设计思路
整个防御体系分为三层:
- 边缘层防护(L4级别):利用香港高防节点抵御大流量DDoS与CC攻击。
- 应用层网关(L7级别):通过多实例WAF集群进行Web攻击过滤。
- 内部IPS入侵检测与响应:对绕过WAF的威胁进行深度分析并联动封禁。
每一层都有独立的策略规则,且具备日志分析与自动策略更新能力,确保能在非人工介入下持续抗压。
二、基础环境与组件说明
- 服务器节点:香港A5数据提供的BGP高防物理机,10G带宽防护能力。
- 操作系统:CentOS 7 / Ubuntu 22.04(因项目有多个节点均有测试)
- Web中间件:Nginx + PHP-FPM / Node.js
- WAF组件:ModSecurity(带OWASP CRS)+ Nginx Lua + 自定义规则集
- IPS组件:Suricata + ET Pro规则库
- 日志与策略联动:ELK + fail2ban + 自研Python封禁引擎
三、第一层:L4高防边缘接入配置
3.1 高防IP接入方式
我们将公网DNS CNAME指向香港高防节点IP。该节点通过BGP Anycast接收攻击流量并做基础过滤,后端走专线回源内网真实业务服务器。
3.2 关键配置
# sysctl 网络参数调优(提升抗压能力)
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_syncookies = 1
3.3 黑洞阈值设置
配合高防平台API设置动态黑洞门槛(例如1000万pps触发),同时联动封锁来源IP段。
四、第二层:L7 WAF集群构建
4.1 WAF部署结构
我们将Nginx前置,启用ModSecurity模块,加载OWASP规则基础上,叠加如下策略:
- URI与参数白名单机制
- UA指纹识别与Bot管控
- Referer与Host Header校验
- 基于行为的速率限制(Lua模块实现)
4.2 样例配置:拦截SQL注入
SecRule REQUEST_URI|ARGS|REQUEST_HEADERS "@rx (?i)(union select|sleep\(|benchmark\()" \
"id:1001,phase:2,deny,status:403,msg:'SQL Injection Detected'"
4.3 自动规则学习与热更新机制
利用ElasticSearch收集WAF日志,Logstash定期聚类分析攻击特征,并通过Python脚本将新规则推送入WAF规则目录,实现“自进化防护”。
五、第三层:Suricata IPS联动机制
5.1 Suricata部署与集成
在应用服务器内侧部署Suricata,桥接网卡监控流量,对可能绕过WAF的威胁进行识别,包括:
0-day Web Exploit
特殊User-Agent重放攻击
Webshell回连与C2行为
suricata -c /etc/suricata/suricata.yaml -i eth1
5.2 动作策略与联动封禁
当Suricata检测到高危告警(如SID匹配ET WEB_SERVER_APACHE_PHP_CGI_RCE),会:
- 通过脚本将源IP加入Redis缓存;
- fail2ban读取Redis并执行Nginx动态封禁;
- 同步记录到ELK平台,供后期分析。
六、无人工抗压:自动封禁与解封策略
6.1 自研动态封禁引擎逻辑
# 简化伪代码
if ip in blacklist or ip_trigger_rate > 1000/min:
add_to_nginx_deny(ip)
log_to_ELK(ip, reason="自动封禁", time=datetime.now())
set_auto_expire(ip, 3 hours)
此机制实现了:
- 封禁生效后自动回滚(避免误封)
- 针对行为恶意IP优先全局拉黑(Redis广播到所有WAF节点)
- 支持多次触发自动延长封禁时间
七、测试与压测结果验证
在模拟8000QPS攻击(含SQL注入 + 大量CC请求)的情况下:
- 高防层消化70%以上流量;
- WAF拦截率约92%,误报率小于1.2%;
- Suricata检测命中率维持在98%以上;
- 整体延迟控制在250ms以内,系统CPU使用率未超过40%。
我通过“L4高防 + 分布式WAF + 内网IPS”的三层协同机制,成功搭建了一套真正意义上的7×24小时Web抗压体系。自动化策略学习、联动封禁机制,以及日志可视化回溯能力,让整个防御体系在实战中具备极强的适应性。面对越来越复杂的Web攻击场景,这是我目前在香港服务器环境中最稳定、最可控的一套解决方案。











