首页主机资讯CentOS环境下如何防止DDoS攻击

CentOS环境下如何防止DDoS攻击

时间2025-11-28 15:16:03发布访客分类主机资讯浏览1419
导读:CentOS 环境下防止 DDoS 的实用方案 一 分层防护思路 网络层:在边界或上游开启运营商/云厂商的高防IP/BGP高防与清洗服务,隐藏源站真实 IP,异常流量在上游被丢弃或限速。 主机层:最小化暴露面(只开放必要端口与服务)、用...

CentOS 环境下防止 DDoS 的实用方案

一 分层防护思路

  • 网络层:在边界或上游开启运营商/云厂商的高防IP/BGP高防与清洗服务,隐藏源站真实 IP,异常流量在上游被丢弃或限速。
  • 主机层:最小化暴露面(只开放必要端口与服务)、用 iptables/firewalld 做连接速率与并发限制、开启 SYN Cookies 等内核抗洪能力。
  • 应用层:对 HTTP/HTTPS 启用速率限制、并发控制与 WAF 规则(如 ModSecurity),缓解 CC 攻击
  • 检测与响应:用 Fail2Ban 自动封禁恶意来源,结合日志与连接数监控快速处置。

二 快速加固清单(可直接执行)

  • 系统更新与最小化服务
    • 执行:sudo yum update -y,仅开启业务必需端口与服务,关闭不必要的端口/协议。
  • 防火墙与连接管控(iptables 示例)
    • 允许回环与已建立连接:
      • sudo iptables -A INPUT -i lo -j ACCEPT
      • sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    • 限制新 SYN 速率(缓解 SYN Flood):
      • sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
    • 限制 ICMP 速率(防 ICMP 洪水):
      • sudo iptables -A INPUT -p icmp -m limit --limit 10/s --limit-burst 10 -j ACCEPT
    • 按 IP 限制并发连接(示例阈值 20):
      • sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT --reject-with tcp-reset
    • 持久化规则:
      • sudo iptables-save > /etc/iptables/rules.v4
  • 应用层速率限制(Nginx 示例)
    • 在 http 段定义共享内存区:limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
    • 在 server/location 段启用:limit_req zone=mylimit burst=5; (可按业务适当调大/调小)
  • Fail2Ban 自动封禁
    • 安装与启用:sudo yum install fail2ban -y & & sudo systemctl enable --now fail2ban
    • 建议创建 /etc/fail2ban/jail.local,示例:
      • [DEFAULT] bantime = 600; findtime = 600; maxretry = 3
      • [sshd] enabled = true; port = ssh; filter = sshd; logpath = /var/log/secure; maxretry = 3

三 内核网络参数优化

  • 编辑 /etc/sysctl.conf,加入或调整为:
    • net.ipv4.tcp_syncookies = 1(开启 SYN Cookies,缓解半开连接耗尽)
    • net.ipv4.tcp_tw_reuse = 1(允许 TIME_WAIT 套接字复用)
    • net.ipv4.tcp_fin_timeout = 30(缩短 FIN_WAIT_2 超时,加速回收)
  • 使配置生效:sudo sysctl -p

四 监测与应急处置

  • 连接数排查(定位异常来源)
    • 统计每个 IP 的连接数:netstat -ntu | awk '{ print $5} ' | cut -d: -f1 | sort | uniq -c | sort -nr
    • 观察当前已建立连接总量:netstat -an | grep ESTABLISHED | wc -l
  • 临时封禁与解封
    • 封禁单个 IP:sudo iptables -A INPUT -s < 攻击IP> -j DROP
    • 解封:sudo iptables -D INPUT -s < 攻击IP> -j DROP
  • 日志与告警
    • 实时查看:sudo tail -f /var/log/messages /var/log/secure;结合 Fail2Ban 日志与业务日志发现异常模式。

五 针对 LNMP 与 LAMP 的要点

  • LNMP:在 Nginx 启用 limit_req 限流与 burst 缓冲,结合 ModSecurity 做应用层规则过滤,减轻 HTTP GET/POST 洪泛与 CC 攻击
  • LAMP:优先在上游接入高防IP/BGP高防并正确回源,隐藏源站;在系统防火墙层面限制访问源与端口,减少攻击面。
  • 当遭受大流量/超大流量攻击时,仅靠单机防火墙难以完全抵御,建议联动上游清洗与高防服务共同处置。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS环境下如何防止DDoS攻击
本文地址: https://pptw.com/jishu/759081.html
CentOS服务器如何进行版本更新与维护 CentOS上如何实现负载均衡

游客 回复需填写必要信息