CentOS SYN Flood攻击原理Linux下设置
2010-09-21 21:06:35 来源:WEB开发网四:FreeBSD下设置
yayu个人学习的观点:FreeBSD中对CentOS SYN的防御和Linux下可能不一样,配置的参数也不完全相同,相关配置和理解可能不对:)TCP链接中有一个MSL(max segment lifetime)的概念,也就是最大生成时间,MSL 的值在一般的实现中取30s,有些实现采用2分钟。
在TCP的状态机中的“被动关闭”:从CLOSE_WAIT到LAST_ACK中有一个如下的规则:当 TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2倍的MSL。这样可让TCP再次发送最后的ACK以防 这个ACK丢失(另一端超时并重发最后的 FIN)。
存在这个规则导致一个后果就是在这个2*MSL的时间内,该地址上的链接(客户端地址、端口和服务器端的地址、端口)不能被使用。比如我们在建立一个链接后关闭链接然后迅速重启链接,那么就会出现端口不可用的情况。
TIME_WAIT时间是2*MSL。因此可以通过调整net.inet.tcp.msl来减少TIME_WAIT时间。对于Web服务器完全可以将这个值调整为7500或2000(访问一个web,超过4~15秒页面还刷不出来,就可以考虑放弃了-_-)
参数设置参考:
以下是引用片段:net.inet.tcp.syncookies=1防止DOS攻击net.inet.tcp.msl=7500防止DOS攻击,默认为30000net.inet.tcp.blackhole=2接收到一个已经关闭的端口发来的所有包,直接drop,如果设置为1则是只针对TCP包
net.inet.udp.blackhole=1接收到一个已经关闭的端口发来的所有UDP包直接dropFreeBSD下,yayu没看见“/sbin/sysctl -p”这样的命令可以使/etc/sysctl.conf的内容生效,所以直接使用命令了:
以下是代码片段:sysctl net.inet.tcp.syncookies=1 net.inet.tcp.msl=7500 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1
五:其他
除了修改服务器的内核参数,还可以修改apache的配置文件中的Timeout、KeepAlive、MaxClients等参数来防止Dos攻击,如果有接口调用,还要注意控制一下调用的时间。请听下文分解。
ACK 英文缩写: ACK (ACKnowledge Character) 中文译名: 确认字符 分 类: 传输与接入 解 释: 在数据通信传输中,接收站发给发送站的一种传输控制字符。它表示确认发来的数据已经接受无误。
NAK是否定应答或者非应答的缩写。它是一个用于数字通信中确认数据受到但是有小错误的信号。有时候NAK信号也叫REJ(拒绝)。
CentOS SYN 包(synchronize)
TCP连接的第一个包,非常小的一种数据包。CentOS SYN 攻击包括大量此类的包,由于这些包看上去来自实际不存在的站点,因此无法有效进行处理。每个机器的欺骗包都要花几秒钟进行尝试方可放弃提供正常响应。
在黑客攻击事件中,CentOS SYN攻击是最常见又最容易被利用的一种攻击手法。CentOS SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。
CentOS SYN攻击除了能影响主机外,还可以危害路由 器、防火墙等网络系统,事实上CentOS SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。服务器接收到连接请求(syn= j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。
当服务器未收到客户端的确认包时,重 发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,CentOS SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服 务器不断地发送syn包,服务器回复确认包,并等待客户的确认。
由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的CentOS SYN包将长时间占用未 连接队列,正常的CentOS SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
关于CentOS SYN攻击防范技术,人们研究得比较早。归纳起来,主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范.但必须清楚的是,CentOS SYN攻击不能完全被阻止,我们所做的是尽可能的减轻CentOS SYN攻击的危害,除非将TCP协议重新设计。
- ››CentOS安装rpm包时遇到Header V3 DSA signature: ...
- ››Centos下SVN的安装配置实用手册
- ››CENTOS5.2下如何搭建SVN专家讲解
- ››CentOS NFS服务器的创建
- ››CentOS NFS配置说明
- ››CentOS SYN Flood攻击原理Linux下设置
- ››CentOS DDNS是Linux中动态使用方法直接回车
- ››CentOS常用命令的各种使用方法
- ››CentOS图形安装详细解剖图
- ››CentOS上架设Nginx+Apache+Subversion
- ››CentOS下的网络配置文件篇
- ››Centos下安装mrtg、apache服务和配置MRTG
更多精彩
赞助商链接