| 关键词: tcp net syn ipv iptables limit retries 221.238 sysctl ACCEPT |
对sysctl参数进行修改 $ sudo sysctl -a | grep ipv4 | 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 net.ipv4.tcp_syncookies是是否打开SYN COOKIES的功能,“1”为打开,“2”关闭。 net.ipv4.tcp_max_syn_backlog是SYN队列的长度,加大队列长度可以容纳更多等待连接的网络连接数。 net.ipv4.tcp_synack_retries和net.ipv4.tcp_syn_retries是定义SYN重试次数。 把如下加入到/etc/sysctl.conf即可,之后执行“sysctl -p”! net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 提高TCP连接能力 net.ipv4.tcp_rmem = 32768 net.ipv4.tcp_wmem = 32768 net.ipv4.sack=0 #我的Centos 5.4 提示没有这个关键字 使用iptables 命令: # netstat -an | grep ":80" | grep ESTABLISHED 来查看哪些IP可疑~比如:221.238.196.83这个ip连接较多,并很可疑,并不希望它再次与221.238.196.81有连接。可使用命令: iptables -A INPUT -s 221.238.196.81 -p tcp -d 221.238.196.83 --dport 25 --syn -j ACCEPT 这是错的 我认为应该这样写 iptables -A INPUT -s 221.238.196.83 -p tcp -j DROP 将来自221.238.196.83的包丢弃。 对于伪造源IP地址的SYN FLOOD攻击。该方法无效 其他参考 防止同步包洪水(Sync Flood) # iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT 也有人写作 # iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT --limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改防止各种端口扫描 # iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT Ping洪水攻击(Ping of Death) # iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT BSD 运行: sysctl net.inet.tcp.msl=7500 为了重启有效,可以将下面折行加入 /etc/sysctl.conf: net.inet.tcp.msl=7500 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|