DDoS(分布式拒绝服务)攻击试图用超出服务承受能力的流量淹没它,使其下线。下面介绍这类攻击的原理、DDoS 防护能做什么以及不能做什么。
三种攻击类型
- 容量型攻击用垃圾数据填满网络带宽本身,以每秒吉比特计量。例如 UDP 洪水以及 DNS 或 NTP 放大攻击。
- 协议型攻击滥用连接的工作方式,例如耗尽服务器连接表的 SYN 洪水。
- 应用层攻击发送大量看似合法的请求,例如每秒数千次搜索或登录,以耗尽 CPU 和数据库。
按网络层次来说,前两种是第 3 层和第 4 层(L3/L4)攻击,最后一种是第 7 层(L7)攻击。
网络层防护是如何工作的
- 发往你 IP 地址的流量首先经过服务商的过滤硬件。
- 系统会学习正常流量的样子,并标记异常。
- 恶意数据包,例如伪造源地址或格式错误的数据包,会在到达你的服务器之前被丢弃。
- 干净的流量照常继续传输,通常没有明显的延迟。
我们平台上的每台 VPS 都包含 L3/L4 防护,涵盖导致大多数中断的容量型和协议型攻击。
L3/L4 防护无法阻止什么
第 7 层洪水看起来就像真实访客,因此网络过滤器并不总能将它们区分开。你需要在应用层面处理这些攻击:
- 在网站前面放置 CDN 或反向代理,并积极缓存。
- 对登录和搜索页面,在 Nginx 中使用限速(
limit_req_zone)。 - 使用 fail2ban 封禁屡次作恶的来源。
- 尽可能提供静态页面;它们的交付成本几乎为零。
减少你的暴露面
- 如果使用 CDN,请保持源站 IP 的私密,不要在 DNS 历史记录或邮件头中泄露它。
- 关闭所有用不到的端口。
- 保持软件更新,这样攻击者就无法利用一个小漏洞使其崩溃。
- 监控资源使用情况,以便及早发现问题。
攻击期间该怎么做
- 确认这是一次攻击:查看带宽图表,并用
ss -s查看连接数。 - 联系主机的客服,让他们调整过滤策略。
- 启用限速,或把网站放到代理后面。
- 不要支付勒索要求。付款并不能阻止重复的攻击。
常见问题
DDoS 防护有什么作用?
它在恶意流量洪水到达你的服务器之前将其过滤掉,使真实访客仍能访问网站。
主机商的 DDoS 防护能挡住所有攻击吗?
不能。它主要处理大规模网络洪水。看起来像正常请求的应用层攻击,需要在你自己的服务器上配置速率限制、缓存和机器人规则。
小网站需要 DDoS 防护吗?
小网站很少被直接针对,但可能被扫描和洪水波及。基础防护和速率限制是便宜的保险。