
核心要点(TL;DR)
- WAF防应用层攻击,CDN防流量与加速,云主机安全防系统层入侵,三者互补而非替代。
- 中小站点优先CDN+云主机安全组,有业务逻辑防护需求再上WAF。
- 部署WAF后必须隐藏源站IP,否则防护形同虚设。
- 定期用漏洞扫描与日志审计验证防护效果,形成闭环。
痛点引入:防护方案眼花缭乱,钱要花在刀刃上
不少运维和站长在选网站防护时,常被“WAF、CDN、云主机安全”三个词绕晕:有人以为买了CDN就万事大吉,结果源站IP暴露被直接打穿;有人上了WAF却忘了隐藏源站,攻击者绕过WAF直连服务器。本文从实战角度拆解三种方案的原理、边界与部署步骤,帮你用最小成本构建有效防线。
一、三者到底是什么:一张表看清定位
网站防护不是单一产品,而是分层防御体系。WAF(Web应用防火墙)工作在应用层,解析HTTP/HTTPS请求,拦截SQL注入、XSS、恶意爬虫等;CDN防护侧重网络层与流量分发,通过边缘节点隐藏源站、缓解DDoS与CC攻击;云主机安全则覆盖系统层,包括安全组、入侵检测、漏洞补丁等。三者关系如下:
| 方案 | 防护层级 | 核心能力 | 适用场景 |
|---|---|---|---|
| WAF | 应用层(L7) | 拦截注入、XSS、爬虫、CC | 有业务逻辑防护需求、合规要求 |
| CDN防护 | 网络层+边缘 | 隐藏源站、DDoS清洗、加速 | 流量型攻击防护、全球访问加速 |
| 云主机安全 | 系统层/网络层 | 安全组、漏洞修复、入侵检测 | 基础防线,所有云主机必备 |
简单说:云主机安全是地基,CDN是外墙,WAF是门禁。三者互补,不能互相替代。
二、原理与危害:不部署会怎样
不部署CDN,源站IP直接暴露,攻击者可用扫描工具轻松定位并发起DDoS,导致带宽打满、业务中断。不部署WAF,应用层漏洞(如未过滤的SQL查询)会被自动化工具批量利用,造成数据泄露。云主机安全组配置不当(如开放22端口给0.0.0.0/0),则可能被暴力破解。常见危害包括:
- 数据泄露:SQL注入导致用户表被拖库。
- 服务中断:DDoS攻击使源站带宽耗尽。
- 服务器沦陷:弱口令被爆破,植入挖矿木马。
这些风险并非危言耸听,而是日常扫描中的高频事件。
三、具体排查:检查你的防护短板
动手前先做一次快速体检,用以下命令和步骤定位问题:
- 检查源站IP是否暴露:使用
ping yourdomain.com或nslookup yourdomain.com查看解析IP,若与云主机公网IP一致,说明未接入CDN或CDN未生效。 - 检查安全组规则:登录云控制台,查看安全组入方向规则,确保仅开放80/443及必要管理端口,且管理端口限制来源IP。避免
0.0.0.0/0开放22/3389。 - 检查WAF接入状态:若已购买WAF,用
curl -I http://yourdomain.com查看响应头是否包含WAF特征(如Server: waf),或登录WAF控制台查看流量报表。 - 模拟攻击测试:使用
curl -v 'http://yourdomain.com/?id=1%20and%201=1'观察是否被拦截,若返回正常页面则可能存在注入风险。
以上检查可在10分钟内完成,建议每月执行一次。
四、分步解决:按优先级部署防护
步骤1:夯实云主机安全(必做)
配置安全组最小化开放端口,示例(以阿里云为例):
# 仅允许80/443对所有IP开放,22端口仅允许办公IP
规则1:入方向,允许,TCP,80/80,0.0.0.0/0
规则2:入方向,允许,TCP,443/443,0.0.0.0/0
规则3:入方向,允许,TCP,22/22,192.168.1.100/32
规则4:入方向,拒绝,所有,0.0.0.0/0同时开启云监控与主机入侵检测,定期更新系统补丁:yum update -y或apt update && apt upgrade -y。
步骤2:接入CDN并隐藏源站
在CDN控制台添加域名,配置回源地址为源站IP,并开启“源站保护”或“IP黑名单”功能。关键操作:将源站安全组改为仅允许CDN回源IP段访问Web端口。以Nginx为例,可在配置中限制访问来源:
# 仅允许CDN回源IP段访问
allow 1.2.3.0/24;
deny all;完成后用dig yourdomain.com确认解析到CDN节点IP。
步骤3:按需部署WAF
若业务有登录、支付等交互,建议接入WAF。以云WAF为例,将域名CNAME解析到WAF提供的地址,并开启OWASP规则集、CC防护和爬虫管理。验证方法:
curl -v 'http://yourdomain.com/?id=1%20union%20select%201,2,3'若返回403或拦截页面,说明WAF生效。注意:WAF需与CDN联动,确保回源流量经过WAF检测。
五、选型清单与对比建议
根据业务规模与预算,可参考以下决策清单:
- 个人博客/小型站点:云主机安全组 + 免费CDN(如Cloudflare)即可,成本低,防护基础攻击。
- 中小电商/企业官网:CDN防护 + 云主机安全 + 基础版WAF,重点防CC与注入。
- 金融/政务类:全量部署WAF(含自定义规则)、高防CDN、云主机安全加固与日志审计,并定期渗透测试。
在防护建议落地时,可关注AegisX的云原生安全能力,其WAF与CDN联动方案能简化源站隐藏与规则配置,适合希望快速构建纵深防御的团队。
行动建议:从今天开始的三件事
1. 立即检查源站IP是否暴露,若暴露则更换IP并配置安全组限制;2. 为云主机安全组做一次最小化权限梳理,关闭非必要端口;3. 根据业务敏感度,选择CDN或WAF进行接入测试,并用本文的curl命令验证拦截效果。防护是持续过程,建议每月复查一次日志与规则。
常见问题(FAQ)
网站刚上线,预算有限,应该先买WAF还是CDN?
建议先上CDN并配置云主机安全组。CDN能隐藏源站IP并缓解DDoS与CC攻击,成本低且附带加速收益;安全组可限制非必要端口。待业务出现SQL注入、XSS等应用层攻击迹象或合规要求时,再叠加WAF。
用了CDN之后,WAF还有必要吗?
有必要。CDN主要处理流量分发与网络层防护,对应用层攻击(如SQL注入、恶意爬虫)识别能力有限。WAF专注HTTP/HTTPS流量清洗,能基于规则与语义分析拦截应用层威胁。两者叠加可形成纵深防御,但需注意WAF应部署在CDN之后或与CDN集成。
云主机安全组能代替WAF吗?
不能。安全组是网络层访问控制,只能基于IP、端口、协议过滤,无法识别HTTP请求中的恶意载荷。WAF工作在应用层,能解析请求内容并拦截注入、跨站脚本等攻击。安全组是基础防线,WAF是应用层补充,二者层级不同。
如何验证WAF是否真正生效?
可通过发送模拟攻击请求验证,例如使用curl测试SQL注入规则:curl -v 'http://yourdomain.com/?id=1%20union%20select%201,2,3',观察是否返回拦截页面。同时检查WAF日志是否记录该事件,并定期查看拦截报表,确保规则集为最新版本。
源站IP暴露了怎么办?
立即更换源站IP,并确保新IP仅对CDN回源IP段开放。在云主机安全组中设置只允许CDN厂商回源IP访问Web端口,其他来源一律拒绝。同时检查历史DNS记录、邮件头等可能泄露IP的渠道,并开启WAF的源站保护功能。