1.
准备与目标设定
(1)明确防护目标:阻断常见Web攻击(SQL注入、XSS、恶意爬虫、文件包含)。
(2)资产盘点:列出域名、服务器IP、主机/VPS规格与流量基线。
(3)带宽/峰值评估:测算日均流量与峰值QPS(例如:日均200万请求,峰值800 RPS)。
(4)预算与SLA:按月预算是否支持云WAF(如云厂商按流量计费)或自建方案。
(5)技术栈确认:Web服务器(Nginx/Apache)、操作系统(Debian/Ubuntu/CentOS)、是否已使用CDN。
2.
选择:云WAF vs 本地WAF(VPS上部署)
(1)云WAF优点:即开即用、自动弹性、内置DDoS清洗(适合无运维团队)。
(2)本地WAF优点:完全掌控、防护规则自定义更灵活;适合对延迟极敏感的业务。
(3)成本对比:云WAF按流量与规则计费;自建费用为VPS/带宽+运维。
(4)组合策略:CDN+云WAF前置,VPS上运行轻量WAF作为二道防线。
(5)示例建议:无经验团队优先上云WAF(如Cloudflare/阿里/腾讯),有运维可选Nginx+ModSecurity。
3.
在VPS上快速部署Nginx+ModSecurity示例
(1)推荐VPS规格(入门级):2 vCPU / 4 GB RAM / 100 GB SSD,带宽1 Gbps峰值可突发。
(2)操作系统与软件:Debian 11 + Nginx 1.18 + ModSecurity v3 + OWASP CRS规则集合。
(3)安装要点:开启反向代理模式,启用request body限制(例如:SecRequestBodyLimit 13107200)。
(4)配置片段示例:
# Nginx 反向代理 + ModSecurity
server {
listen 80;
server_name example.com;
location / {
ModSecurityEnabled on;
ModSecurityConfig /etc/modsecurity/modsecurity.conf;
proxy_pass http://127.0.0.1:8080;
}
}
(5)性能调优:启用缓存、限制慢请求、将大流量由CDN清洗,VPS承载正常业务流量。
4.
域名/CDN与DDoS防御接入要点
(1)域名解析:将域名A记录指向CDN而非源站,最低暴露源IP。
(2)CDN加速与清洗:CDN提供静态缓存并能过滤大部分Layer 7攻击。
(3)DDoS自动策略:开启基于速率限制和JS挑战的规则,阻断异常流量。
(4)回源策略:源站使用私有IP或开启防火墙仅允许CDN/云WAF回源IP。
(5)监测报警:配置带宽/连接数阈值告警,结合黑白名单实时调整。
5.
日志、规则调优与运维流程
(1)日志分类:访问日志、WAF阻断日志、错误日志与系统资源日志需分离存储。
(2)规则分级:先用默认规则集(阻断+监控),再根据误报调成“监控转阻断”。
(3)误报处理:建立白名单和例外规则,设置回溯日志以定位造成误判的请求。
(4)自动化运维:日度扫描、每周规则更新、每月安全演练。
(5)指标关注:阻断率、误报率、峰值QPS、CPU/内存与带宽使用率。
6.
真实案例与测试数据展示
(1)案例简介:某中小企业A(电商),原站点VPS:2vCPU/4GB,未用CDN,曾遭遇高并发爬虫与SQL注入扫描。
(2)采取措施:接入CDN+云WAF并在源站部署Nginx+ModSecurity作为二次防护。
(3)攻防效果:日均请求从200万降到被缓存命中后有效请求10万,扫描请求被WAF阻断90%以上。
(4)性能数据表(测试前后对比):
| 项目 |
部署前 |
部署后 |
| 峰值RPS |
800 |
220 |
| 被WAF阻断率 |
10% |
92% |
| 平均响应时延 |
180ms |
130ms |
(5)结论:组合策略(CDN+云WAF+源站轻WAF)既能快速见效,又能控制成本,适合中小企业逐步演进。
来源:中小企业如何快速搭建云waf防护网实现入门级全面防护