本次主要记录iptables攻击预防
SYN洪水攻击:攻击者利用TCP在建立连接时使用的SYN的请求发送,那我们就可以利用iptables做一个限制,来防止一个ip给我发送过多的请求。
①使用limt对syn的每秒钟最多运行3个新链接
sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
②针对每个客户端作出限制,每个客户端限制并发数为10个(10为任意数)
sudo iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT
通过以上两种方法均可以防范,还可以通过修改TCP的一些配置:
sudo vi /etc/sysctl.conf
#表示开启SYN Cookies.当出现SYN等待队列溢出时,启用cookies来处理,可以防范少量的SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = 1
#表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭:
net.ipv4.tcp_tw_reuse=1
#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭:
net.ipv4.tcp_tw_recycle = 1
#表示开启TCP连接的最大数量的限制:
net.ipv4.tcp_max_tw_buckets = 5000