LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 安全 >

防止SYN Flooding的DoS攻击

时间:2013-03-31 09:33来源:未知 编辑:admin 点击:
/proc/sys/net/ipv4/tcp_syncookies 所谓的阻断式服务(DoS)攻击法中的一种方式,就是利用tcp数据包SYN的3次握手原理实现的,这种方式称为SYN Flooding,如何预防这种方式的攻击,我们可以启用内
/proc/sys/net/ipv4/tcp_syncookies
所谓的阻断式服务(DoS)攻击法中的一种方式,就是利用tcp数据包SYN的3次握手原理实现的,这种方式称为SYN Flooding,如何预防这种方式的攻击,我们可以启用内核的SYN Cookie模块。这个SYN Cookie模块可以在系统用来启动随机联机的端口(1024:65535)即将用完时自动启动

当启动SYN Cookie时,主机在发送SYN/ACK确认数据包前,会要求Client端在短时间内回复一个序号,这个序号包含许多原SYN数据包内的信息,包括IP、port等,若Client端可以回复正确的序号,那么主机就确定该数据包为可信的,因此会发送SYN/ACK数据包,否则就不理会此数据包
 
通过此机制可以大大降低无效的SYN等待端口,避免SYN Flooding的DoS攻击:
# echo "1" > /proc/sys/net/ipv4/tcp_syncookies
这个设置值由于违反了TCP的3次握手(因为主机在发送SYN/ACK之前需要先等待Client的序号响应)所以可能会造成某些服务的延迟现象,例如SMTP(mail server),不过总的来说,这个设置还是不错的,只是不适合用在负载已经很高的服务器内,因为负载太高的主机有时会让内核误判遭受SYN Flooding攻击内核取消ping响应的设置有两个:/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts和/proc/sys/net/ipv4/icmp_echo_ignore_all

转载请保留固定链接: http://www.linuxeye.com/security/1440.html

------分隔线----------------------------
标签:SYN Flooding
栏目列表
推荐内容