Linux系统如何简单有效防护攻击?

查看 11|回复 0
作者:4414zz   
在面对恶意的DDoS(分布式拒绝服务)攻击时,如何简单有效防护Linux服务器攻击?以下是一些简单而有效的方法。
1. iptables规则优化
iptables是Linux内核防火墙的核心工具,可通过精细化规则过滤恶意流量:
限制SYN洪水攻击:
[ol]
  • iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
  • iptables -A INPUT -p tcp --syn -j DROP[/ol]复制代码
    此规则限制每秒仅允许1个SYN连接,突发不超过3个,超出则丢弃。
    限制并发连接数:
    [ol]
  • iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT[/ol]复制代码
    防止单个IP占用过多资源。
    过滤无效包与黑名单:
    [ol]
  • iptables -A INPUT -m state --state INVALID -j DROP
  • iptables -A INPUT -m set --match-set Attackers src -j DROP[/ol]复制代码
    优化建议:
    合并同类规则,优先放行已建立连接(ESTABLISHED,RELATED)以减少匹配开销。
    考虑升级到nftables,其性能比iptables提升约50%,支持集合批量匹配。
    2. Fail2ban动态封禁
    Fail2ban通过日志分析自动封禁攻击IP,适合应对CC攻击和暴力破解:
    安装与配置:
    [ol]
  • sudo apt install fail2ban
  • sudo nano /etc/fail2ban/jail.local[/ol]复制代码
    示例规则:
    [ol]
  • [http-get-dos]
  • enabled = true
  • port = http,https
  • filter = nginx-bansniffer
  • logpath = /var/log/nginx/access.log
  • maxretry = 100[/ol]复制代码
    注意事项:
    避免误封正常IP,可通过ignoreip排除可信IP段。
    结合Nginx静态资源日志排除,减少误判。
    3. 内核参数调优
    通过调整TCP协议栈参数增强抗攻击能力:
    [ol]
  • echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  • echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
  • sysctl -w net.ipv4.tcp_max_syn_backlog=262144[/ol]复制代码
    4. 负载均衡与架构优化
    分散流量:使用负载均衡器(如Nginx、HAProxy)将请求分发到多台后端服务器,避免单点过载。
    弹性扩展:云环境下结合Auto Scaling自动扩容应对流量激增。
    DNS防护:启用DNSSEC并配置多DNS提供商,防止DNS放大攻击。
    5. 监控与应急响应
    实时监控工具:
    Zabbix或Prometheus:监控连接数、带宽异常。
    命令检测:
    [ol]
  • netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n[/ol]复制代码
    应急方案:
    阿里云/腾讯云用户可启用高防IP服务,自动清洗流量。
    手动解封IP或临时更换公网IP(需注意次数限制)。
    综合应用上述措施可显著提升防护能力:
    基础层:iptables规则 + 内核调优。
    应用层:Fail2ban封禁 + Nginx/Apache限速。
    架构层:负载均衡 + 云高防服务。
    运维层:实时监控 + 自动化响应。
    对于大流量攻击(如超过1 Tbps),建议结合商业防护方案(如Cloudflare、阿里云高防)。

    代码, 防护

  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部