对于预算有限的中小企业,优先选择接入带有免费或基础套餐的云 CDN 及 WAF 服务,而不是自建硬件防火墙,这能在不承担高昂带宽成本的前提下拦截大部分常见攻击。
先说结论:中小企业的防护核心在于隐藏源站和利用云端清洗能力,而非追求本地硬件性能。
- 适合:业务主要面向公网、无法承担高防带宽费用且希望快速上线的场景
- 重点看:服务商是否提供免费的 CC 防护规则以及源站 IP 隐藏机制
- 别忽略:免费套餐通常仅保障应用层(Layer 7)防护,大流量洪水攻击(Layer 3/4)可能超出免费额度;若源站 IP 已泄露,必须更换服务器 IP 而非仅靠防火墙
快速处理思路
DDoS 防护主要依赖架构调整,以下是快速处理思路:
1. 修改 DNS 解析,将域名 CNAME 接入 CDN/WAF
2. 在源站防火墙仅允许 CDN 节点 IP 段访问
3. 关闭源站直接通过 IP 访问的端口为什么会这样
DDoS 攻击本质是流量淹没。中小企业自建机房或普通云服务器带宽有限,一旦遭遇大流量攻击,带宽被打满,业务就会中断。本地硬件防火墙只能过滤部分数据包,无法解决带宽被占满的问题。
云防护方案通过将流量先引到服务商的全球节点,利用其庞大的带宽储备进行清洗,只把正常流量回源到你的服务器。对于预算有限的团队,购买高防 IP 或独立硬件成本过高,而利用 CDN 厂商的基础防护功能,往往能免费或低成本覆盖常见的应用层攻击(如 CC 攻击)和小流量洪水攻击。
注意:免费套餐通常侧重于 Layer 7(应用层)防护,对于大规模的 Layer 3/4 流量洪水,免费额度可能有限,超大流量仍需付费高防服务。
分步处理
第一步:评估暴露面
检查你的服务器 IP 是否已经泄露。使用在线工具查询域名解析历史,确认攻击者是否可能已经知道你的真实 IP。
关键风险:如果 IP 已泄露,单纯接入 CDN 可能无效,因为攻击者可直接攻击源站 IP。此时必须更换服务器 IP,并在新 IP 上配置好白名单后再解析域名。
第二步:选择防护服务
根据业务受众选择服务商,参考以下主流方案:
- 海外业务:可选择 Cloudflare 等提供免费计划的全球 CDN 服务商,免费套餐通常包含基础 CC 防护。
- 国内业务:需选择有国内 CDN 牌照的云厂商(如阿里云、腾讯云)基础防护包。注意查看服务条款中关于免费防护的流量阈值,通常免费额度覆盖日常 CC 攻击,大流量清洗可能触发付费。
第三步:配置回源限制
在服务器安全组或防火墙中,设置白名单。仅允许 CDN 服务商公布的节点 IP 段访问你的 80/443 端口。这一步至关重要,能防止攻击者绕过 CDN 直接攻击源站。
Linux iptables 配置示例:
# 允许 CDN 网段访问 80 端口 (替换为实际 CDN IP 段) iptables -I INPUT -p tcp `--dport` 80 -s 1.2.3.0/24 -j ACCEPT # 拒绝其他所有直接访问 80 端口的请求 iptables -A INPUT -p tcp `--dport` 80 -j DROP # 保存规则 (根据系统不同命令可能不同) service iptables save云平台安全组配置指引:
登录云厂商控制台 -> 安全组 -> 入站规则 -> 添加规则 -> 协议选择 TCP,端口填写 80/443,源地址填写 CDN 服务商提供的 IP 段,策略选择允许。
第四步:隐藏源站特征
检查网站代码、邮件头、SSL 证书透明度日志等是否泄露真实 IP。配置 Web 服务器禁止通过 IP 直接访问,必须绑定域名。
免费套餐局限性说明
在选择免费方案时,需明确其能力边界,避免产生错误预期:
- 防护类型:免费套餐主要防御 CC 攻击和小流量洪水,对于数十 Gbps 以上的大流量 DDoS,免费节点可能直接黑洞或失效。
- 流量阈值:大多数免费计划不承诺具体的 L3/L4 防护上限,一旦流量超过节点承载能力,可能影响可用性。
- 响应速度:免费支持工单响应较慢,紧急攻击期间可能无法获得即时人工协助。
怎么验证是否生效
1. 检查 DNS 解析
在本地终端使用 dig 或 nslookup 命令,确认域名解析出的 IP 是 CDN 节点 IP,而不是你的源站 IP。
dig yourdomain.com2. 验证源站访问控制
尝试修改本地 hosts 文件,将域名直接指向源站 IP 进行访问。如果配置正确,源站应该拒绝连接或返回错误,而不是正常显示网站。
3. 查看防护日志
登录 CDN 或 WAF 控制台,查看安全日志。如果能看到拦截记录,说明防护规则正在工作。
常见坑
1. 邮件泄露 IP
如果服务器直接发送系统邮件,邮件头中会包含源站 IP。建议通过第三方邮件服务发送,或在发送前剥离敏感头信息。
2. 子域名未防护
主域名接了防护,但测试用的子域名(如 test.example.com)可能直接解析到源站。攻击者常通过扫描子域名寻找突破口,确保所有解析到该服务器的域名都经过防护。
3. SSL 证书配置错误
接入 CDN 后,需要在 CDN 层配置 SSL 证书。如果源站强制 HTTPS 但 CDN 回源配置不当,可能导致循环重定向或证书报错。建议先在全局测试 HTTPS 访问是否正常。
4. 误判正常流量
开启严格防护规则后,可能会误拦截正常用户或搜索引擎爬虫。初期建议设置为“观察模式”或仅拦截高置信度攻击,观察日志后再调整策略。
5. 防火墙锁死自己
配置 iptables 白名单时,务必先放行自己的管理 IP 或确保 SSH 端口(22)不受影响,避免将自己锁在服务器门外。