上一篇 下一篇 分享链接 返回 返回顶部

什么是DDOS攻击?如何应对DDOS攻击?

发布人:tafei 发布时间:2026-06-25 02:21 阅读量:159

先搞懂什么是 DDoS 攻击

DDoS 的中文全称是“分布式拒绝服务攻击”。
你可以把它想象成一堆人同时挤进一家小店,把门口堵死,真正想买东西的顾客根本进不去。
攻击者控制大量“肉鸡”电脑或设备,同时向你的服务器发送大量无效请求,导致服务器资源耗尽,正常用户无法访问。

新手最常遇到的 DDoS 类型是流量型攻击(占满带宽)和 CC 攻击(耗尽 CPU/数据库连接数)。
不管哪种,目标都是让你的网站“躺平”。

应对 DDoS 的三个层次

第一层:启用云防护(最推荐)

绝大多数入门级攻击可以通过 CDN 或高防 IP 挡掉。
如果你的服务器在国内,首选阿里云盾、腾讯云基础防护或百度云加速;
如果服务器在海外,Cloudflare 的免费套餐能抵挡常见的小规模攻击。

操作示例(以 Cloudflare 为例):

  • 在域名 DNS 管理处将 A 记录指向 Cloudflare 的代理 IP(橙色云朵状态)。
  • 在 Cloudflare 仪表盘开启“Under Attack Mode”(攻击模式下)。
  • 防火墙规则中设置“Block requests from known bad IPs”或“Rate limiting”。

宝塔面板用户操作路径:

  • 登录宝塔 → 网站 → 设置 → 防火墙 → 开启 CC 防御,设置频率为 60 次/分钟。
  • 也可安装 Nginx 防火墙插件,自动拦截恶意 IP。

第二层:临时手动封禁(应急用)

如果攻击突然来袭,云防护还没生效,可以先手动封 IP。
登录服务器 SSH,执行以下命令查看实时连接:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n | tail -10

这条命令返回连接数最多的前 10 个 IP,如果某个 IP 连接数异常高(比如几千),执行封禁:

iptables -A INPUT -s 攻击IP -j DROP

保存规则:

iptables-save > /etc/iptables/rules.v4

注意:如果是大规模分布式攻击,这种手动封 IP 方法效率很低,只能作为补充。

第三层:调整服务器参数(降低影响)

即使不能完全挡住攻击,调整参数也能让服务器撑得更久:

  • 修改 Nginx/Apache 的连接超时和最大并发数。
  • 开启 SYN Cookies 防半连接攻击:
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  • 限制每 IP 最大连接数(以 Nginx 为例,在 server 块添加):
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
    limit_conn addr 10;
    limit_conn_status 503;
}

避坑指南:新手常犯的错

  1. 自我否定:“我没被攻击,是服务器配置低。” 实际上如果网站突然完全无法访问,且 CPU/带宽跑满,大概率是攻击。
  2. 封禁自己 IP:手动封 IP 前先用 who am i 确认当前登录 IP,否则可能把自己封出去。
  3. 指望免费无限抗攻击:免费 CDN 只能扛几十 Gbps 的小流量,大流量攻击需要升级到高防套餐。
  4. 忘了关攻击模式:攻击结束后记得关闭“Under Attack Mode”,否则正常用户会被频繁验证。

效果验证:怎么知道防御生效了?

  • 网站能正常访问,响应时间恢复。
  • 服务器 top 命令显示 CPU 从 100% 降到正常(一般 5%-30%)。
  • 监控面板(如宝塔资源监控)显示带宽和连接数回落。
  • 登录 Cloudflare 看 Analytics → Security Events,拦截量明显增加。

总结

DDoS 攻击并不可怕,新手只要先开启云防护作为第一道防线,再配合手动封禁和参数优化,就能应对 90% 的入门级攻击。
本文提到的命令和操作都可在真实环境直接执行。
如果想深入了解其中某项技术,建议继续阅读 Nginx 安全加固和 Cloudflare 规则配置教程。

目录结构
全文
QQ客服 QQ客服
QQ交流群 QQ交流群
电子邮箱: 277771490@qq.com