1.
架构与部署前准备
步骤一:选择带宽提供商(AWS/GCP/OVH/Leaseweb 等),确认峰值带宽 SLA。
步骤二:采用 CDN+Anycast 边缘节点,前置流量清洗服务(Cloudflare Spectrum、Akamai、Imperva 或 AWS Shield)。
步骤三:为源站分配私有网络或只允许清洗提供商 IP 访问,生成并部署 Origin TLS 证书。
2.
反向代理与边缘缓存配置(以 nginx 为例)
建立 nginx 作为反向代理并启用缓存:
配置示例:limit_req_zone $binary_remote_addr zone=req:10m rate=10r/s; limit_conn_zone $binary_remote_addr zone=conn:10m;
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mycache:100m max_size=50g inactive=60m; 使用 HLS 分段与合理 cache-control。
3.
应用层防火墙与 WAF 规则
步骤一:启用云 WAF(Cloudflare/WAF/ModSecurity),导入常见攻击规则集(OWASP CRS)。
步骤二:针对视频流特征建立自定义规则:阻断大量重复请求、异常 Range 请求和非法 Referer。
步骤三:测试并逐步放宽误杀规则,保留详细日志以便回溯。
4.
内核与网络参数优化(Linux)
修改 /etc/sysctl.conf:net.ipv4.tcp_syncookies=1; net.ipv4.tcp_max_syn_backlog=4096; net.netfilter.nf_conntrack_max=262144;
调整文件描述符:ulimit -n 200000,并在 systemd 服务里设置 LimitNOFILE。
启用 SYN cookie、调整 TCP keepalive、增大 net.core.somaxconn。
5.
速率限制、连接控制与黑名单
nginx 配置速率与并发示例:limit_req zone=req burst=20 nodelay; limit_conn zone=conn 10;
使用 iptables/nftables 层面快速落地黑名单:iptables -I INPUT -s 1.2.3.0/24 -j DROP;
部署 fail2ban 规则监控 4xx/5xx 爆增,自动封禁攻击 IP。
6.
监控、告警与应急流程
接入 Prometheus/Grafana、采集带宽、连接数、错误率和后端负载指标;
设置阈值告警(流量超阈、连续 5 分钟 502/504 增长)。应急步骤:切换到 CDN 清洗 -> 缩减源站暴露 IP -> 加强 WAF 规则 -> 拉起备用节点。
7.
问:在美国多带宽环境如何保护源站不被直接攻击?
答:将源站置于私有子网,仅允许 CDN/清洗服务出口 IP 访问,使用 Origin TLS 证书并在防火墙只放行清洗厂商 IP 列表,必要时启用 Jumpbox 通过私网同步内容。
8.
问:遭遇大规模 DDoS 时第一时间应做什么?
答:立即启用/提升清洗服务(Cloudflare/WAF/Spectrum 或云厂商 DDoS protection)、切换全部流量到 CDN、在 ACL 中临时封禁异常 ASN/IP 段并触发扩容策略,保留证据日志以便事后分析。
9.
问:如何验证与演练防护效果?
答:定期做红队/压力测试(合规范围内),模拟高并发和异常请求序列,检查监控告警是否触发,评估缓存命中率与响应退避,记录并优化规则。
来源:美国大带宽搭建视频网站的安全防护与DDoS应对策略