看我linux若何防SYN攻击[Linux安全]
本文“看我linux若何防SYN攻击[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本日早上一到公司登录公司官网的时刻感受挺慢,登录服务器查看官网拜候情形:
[root@web ~]# netstat -anp |awk '{print $6}'|sort|uniq -c |sort -rn
172 ESTABLISHED
59 CONNECTED
589 SYN_RECV
15 STREAM
SYN竟然这么高,持续追查是那些ip发出的SYN:
[root@tweb ~]# netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more
570 x.x.x.x
(ip就不写出了,是山东枣庄联通的一个ip),只是这一个ip就发出了这么多的syn恳求衔接,本来我们web服务器的并发数不是很高,这样一来正常的用户恳求得不到呼应,页面无法翻开.因为硬件防火墙归集体IT部管理,我没有权限,所以只能在本地服务器上做些办法对SYN攻击举行部份减缓.
首先说一下SYN的攻击原理:
在TCP/IP协议中,
TCP协议供应坚固的衔接服务,采取三次握手成立一个衔接.
第一次握手:成立衔接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状况,等候服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状况;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状况,完成三次握手. 完成三次握手,客户端与服务器开始传送数据.
假如用户与服务器发动衔接恳求只举行到第二次握手而不再呼应服务器,服务器就会不断地等候用户的确认,假如过量这样的衔接就会把服务器端的衔接行列占满就会招致正常的用户无法成立衔接.所以我们直接从SYN的衔接上举行以下窜改:
查看linux默许的syn配置:
[root@web ~]# sysctl -a | grep _syn
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5
七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |