IT技术互动交流平台

防止SYN Flooding的DoS攻击

作者:linux  发布日期:2013-03-29 09:31:20

/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

 

延伸阅读:

Tag标签: SYN   Flooding   DoS攻击  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规