学习啦>学习电脑>操作系统>Linux教程>

linux如何防止DDOS攻击

时间: 若木635 分享

  本文是linux如何防止DDOS攻击,欢迎大家阅读借鉴。

  1. 抵御SYN

  SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。

  Linux内核提供了若干SYN相关的配置,用命令:

  sysctl -a | grep syn

  看到:

  net.ipv4.tcp_max_syn_backlog = 1024

  net.ipv4.tcp_syncookies = 0

  net.ipv4.tcp_synack_retries = 5

  net.ipv4.tcp_syn_retries = 5

  tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie

  功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN

  的重试次数。

  加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分

  SYN攻击,降低重试次数也有一定效果。

  调整上述设置的方法是:

  增加SYN队列长度到2048:

  sysctl -w net.ipv4.tcp_max_syn_backlog=2048

  打开SYN COOKIE功能:

  sysctl -w net.ipv4.tcp_syncookies=1

  降低重试次数:

  sysctl -w net.ipv4.tcp_synack_retries=3

  sysctl -w net.ipv4.tcp_syn_retries=3

  为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc中

  Linux禁止ping

  以root进入Linux系统,然后编辑文件icmp_echo_ignore_all

  vi /proc/sys/net/ipv4/icmp_echo_ignore_all

  将其值改为1后为禁止PING

  将其值改为0后为解除禁止PING

  使用iptables禁止ping:

  -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 6/min --limit-burst 2 -j ACCEPT

  -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-port-unreachable

116902