网站防护实战:WAF、CDN与源站隐藏配置指南 核心要点图解,WAF应部署在CDN之后、源站之前,实现分层防护。;源站隐藏的关键是确保所有流量只经过CDN,并封锁直接IP访问。;配置WAF规则时,优先启用OWASP核心规则集并调至阻断模式。;定期进行外部扫描和日志审计,验证防护有效性。
网站防护实战:WAF、CDN与源站隐藏配置指南 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • WAF应部署在CDN之后、源站之前,实现分层防护。
  • 源站隐藏的关键是确保所有流量只经过CDN,并封锁直接IP访问。
  • 配置WAF规则时,优先启用OWASP核心规则集并调至阻断模式。
  • 定期进行外部扫描和日志审计,验证防护有效性。

痛点:网站裸奔,攻击防不胜防

许多运维和站长在网站上线后,往往只关注功能实现,而忽略了安全防护。直到遭受DDoS攻击、数据泄露或网页被篡改,才意识到问题的严重性。本文将手把手教你通过WAF、CDN和源站隐藏的配置实战,构建多层防御体系,让网站告别裸奔。

1. WAF部署:应用层的第一道防线

1.1 选择WAF类型

WAF分为云WAF、软件WAF(如ModSecurity)和硬件WAF。对于大多数站长,云WAF是首选,无需维护且弹性扩展。若已有云服务,可直接启用其WAF服务。

1.2 配置WAF规则

以云WAF为例,通常步骤如下:

  1. 登录云WAF控制台,添加需要防护的域名。
  2. 选择防护模式:建议先使用监控模式,观察一周的误报情况。
  3. 启用OWASP核心规则集(CRS),并将敏感度调至中等。
  4. 根据业务特点,自定义规则:例如限制登录接口的访问频率,屏蔽恶意User-Agent。
  5. 确认无误后,切换为阻断模式。

对于使用Nginx的服务器,可安装ModSecurity并配置OWASP CRS:

# 安装ModSecurity
apt-get install libmodsecurity3 modsecurity-crs
# 在Nginx配置中启用ModSecurity
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;

1.3 验证WAF效果

使用工具模拟攻击,如sqlmap测试SQL注入,或发送包含XSS载荷的请求,确认WAF能否拦截。同时检查正常业务是否受影响。

2. CDN接入:加速与防护并重

2.1 选择CDN服务商

根据用户分布选择CDN节点覆盖广的服务商。国内推荐阿里云CDN、腾讯云CDN;海外可选Cloudflare。

2.2 配置CDN

  1. 在CDN控制台添加域名,类型选择「加速域名」。
  2. 配置源站信息:填写源站IP或域名,建议使用域名并开启「源站健康检查」。
  3. 设置缓存规则:静态资源(如图片、CSS)缓存时间设长,动态内容(如API)不缓存。
  4. 开启HTTPS:上传证书,强制跳转HTTPS。
  5. 配置访问控制:如IP黑白名单、Referer防盗链。

以Cloudflare为例,修改DNS解析,将域名指向Cloudflare分配的NS,并开启代理状态(橙色云朵)。

2.3 验证CDN生效

使用curl -I检查响应头是否包含CDN标识(如Server: cloudflare),或使用在线工具检查各地访问延迟。

3. 源站隐藏:让攻击者找不到目标

3.1 隐藏源站IP

源站IP暴露是常见风险。确保域名解析只指向CDN,不直接解析到源站IP。在CDN中配置回源HOST,避免源站IP泄露。

3.2 配置源站防火墙

在源站服务器上,使用iptables或安全组,仅允许CDN回源IP访问Web端口。以iptables为例:

# 允许CDN回源IP段(以Cloudflare为例)
iptables -A INPUT -p tcp --dport 80 -s 103.21.244.0/22 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -s 103.21.244.0/22 -j ACCEPT
# 拒绝其他IP访问
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP

注意:需定期更新CDN回源IP段,可从服务商获取列表。

3.3 验证源站隐藏

使用在线工具(如ping、nslookup)检查域名解析,确保只返回CDN IP。尝试直接通过源站IP访问网站,应被拒绝或超时。

4. 检查清单与行动建议

4.1 检查清单

  • WAF已启用并处于阻断模式,规则集更新至最新。
  • CDN已配置,静态资源缓存生效,HTTPS强制开启。
  • 源站防火墙仅允许CDN回源IP访问Web端口。
  • 定期扫描域名,确保无源站IP泄露。
  • 监控WAF和CDN日志,设置告警。

4.2 行动建议

立即按照上述步骤检查你的网站,优先完成WAF和CDN的配置,然后逐步实施源站隐藏。对于安全要求高的业务,可考虑接入AegisX的云WAF服务,其提供智能规则学习和实时防护,能有效降低误报并提升防御能力。

安全是一个持续的过程,定期进行漏洞扫描和渗透测试,保持组件更新,才能确保网站长治久安。

常见问题(FAQ)

网站已经用了CDN,还需要WAF吗?

需要。CDN主要提供加速和基础DDoS防护,而WAF能防御SQL注入、XSS等应用层攻击。两者互补,建议在CDN后部署WAF,形成完整防护链。

如何隐藏源站IP防止被直接攻击?

隐藏源站IP需确保域名解析只指向CDN,并在源站防火墙中仅允许CDN回源IP访问,同时使用CDN服务商提供的回源认证功能,避免IP泄露。

WAF规则应该怎么配置才能不影响正常业务?

建议先启用WAF的监控模式,观察误报情况,根据业务特点调整规则阈值,再逐步切换到阻断模式。定期审查日志,优化规则集。

源站隐藏后,如何验证是否生效?

使用第三方工具或在线服务扫描域名,检查是否暴露源站IP;尝试直接通过IP访问网站,应被拒绝;检查DNS记录,确保没有A记录指向源站。

小型网站有没有简化的防护方案?

小型网站可采用云WAF+CDN的一体化服务,配置简单,成本较低。同时确保源站防火墙仅允许CDN IP访问,并定期更新补丁。