返回列表 回复 发帖

linux阻挡简单的弱syn攻击

抵御SYN SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。
Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn 看到:
  1. net.ipv4.tcp_max_syn_backlog = 1024
  2. net.ipv4.tcp_syncookies = 0
  3. net.ipv4.tcp_synack_retries = 5
  4. 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:
  1. sysctl -w net.ipv4.tcp_max_syn_backlog=2048
复制代码
打开SYN COOKIE功能:
  1. sysctl -w net.ipv4.tcp_syncookies=1
复制代码
降低重试次数:
  1. sysctl -w net.ipv4.tcp_synack_retries=3
  2. sysctl -w net.ipv4.tcp_syn_retries=3
复制代码
为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。

防止同步包洪水(Sync Flood)
  1. # iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
复制代码
也有人写作
  1. #iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
复制代码
--limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改
防止各种端口扫描
  1. # iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
复制代码
写成这样效果更好点:
例如将SYN请求的次数限制在30次每分钟,系统默认是5次/秒,显然太高,同时将burst从默认的5个降低到2个。
  1.   /sbin/iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m \
  2.   limit --limit 30/m --limit-burst 2 -j ACCEPT
复制代码
Ping洪水攻击(Ping of Death)
  1. # iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
复制代码
Postfix技术专业支持论坛
http://www.thismail.org/bbs
-----------------------------------
提供专业postfix技术支持,邮件系统开发定制
QQ:187159779 注明(Postfix技术支持)
顶! 这么好的东西,既然没人顶。楼主要多多写些好文章啊!
返回列表
开源邮件服务器 开源邮件服务器 web 开源邮件 开源 mail 开源 邮件服务器 邮件技术 mail技术 反垃圾邮件 反垃圾mail mail投递
邮件服务器 mail服务器 开源软件 mail软件 mail服务新品牌 开源邮件服务新品牌
开源mail服务新网站 邮件服务新品牌 mail tmail mailserver 163邮件 sendmail |Linux维护|Linux代维|成都Linux维护|成都Linux代维