5.iptables 规则优化

1.icmp

icmp包全部禁止,不方便查看主机是否在线,也不方便于调试。限制通过在INPUT链的icmp包的通过频率,设置为1/s 一秒钟通过一个包

iptables -I INPUT -p icmp -m limit --limit 1/sec --limit-burst 2 -j ACCEPT
iptables -A INPUT -p icmp -j DROP

2.iptables state

拒绝无效的数据包

iptables -A INPUT -m state --state INVALID -j DROP

2 syn拒绝服务攻击,SYN攻击原理

SYN洪水攻击是DDOS攻击中最常见的攻击类型之一。是一种利用TCP 协议缺陷,攻击者向被攻击的主机发送大量伪造的TCP连接请求,从而使得被攻击方主机服务器的资源耗尽(CPU 满负荷或内存不足) 的攻击方式。SYN攻击的目标不止于服务器,任何网络设备,都可能会受到这种攻击,针对网络设备的SYN攻击往往会导致整个网络瘫痪。企业遭到SYN攻击该如何防御呢?今天就来分享一下如何利用iptables来缓解SYN攻击。
2.1、修改等待数

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

2.2、启用syncookies

sysctl -w net.ipv4.tcp_syncookies=1

2.3、修改重试次数

sysctl -w net.ipv4.tcp_syn_retries = 0
重传次数设置为0,只要收不到客户端的响应,立即丢弃该连接,默认设置为5次

2.4、限制单IP并发数
使用iptables限制单个地址的并发连接数量:

iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT

2.5、限制C类子网并发数
使用iptables限制单个c类子网的并发链接数量:

iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 24 -j REJECT

2.6、限制单位时间内连接数
设置如下:

iptables -t filter -A INPUT -p tcp --dport 80 -m --state --syn -m recent --set
iptables -t filter -A INPUT -p tcp --dport 80 -m --state --syn -m recent --update --seconds 60 --hitcount 30 -j DROP

2.7、修改modprobe.conf
为了取得更好的效果,需要修改/etc/modprobe.conf

options ipt_recent ip_list_tot=1000 ip_pkt_list_tot=60
作用:记录10000个地址,每个地址60个包,ip_list_tot最大为8100,超过这个数值会导致iptables错误

2.8、限制单个地址最大连接数

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j D
posted @ 2022-10-08 14:50  老夫聊发少年狂88  阅读(110)  评论(0编辑  收藏  举报