Screen OS防火墙DoS攻击的检测和防御
一.拒绝服务攻击DoS
1. 拒绝服务攻击的目的是用极大量的虚拟信息流耗尽受害者的资源,使其无法处理合法的信息流。攻击的目标可以是防火墙、防火墙所保护的网络资源、个别主机的特定硬件平台或操作系统等。通常DoS攻击中的源地址是欺骗性的。
2. 发自多个源地址的DoS攻击称为分布式拒绝服务攻击(DDoS)。DDoS攻击中的源地址可以是欺骗性地址,也可以是被损害过的主机的实际地址,或者是攻击者目前正用作“zombie代理”且从中发起攻击的主机实际地址。
3. NetScreen防火墙提供了九种拒绝服务攻击的检测和防御:
会话表泛滥攻击的检测和防御
SYN-ACK-ACK代理泛滥攻击的检测和防御
SYN泛滥攻击的检测和防御
ICMP泛滥攻击的检测和防御
UDP泛滥攻击的检测和防御
陆地攻击的检测和防御。
Ping of Death攻击的检测和防御
Teardrop攻击的检测和防御
WinNuke攻击的检测和防御。
二.会话表泛滥攻击的检测和防御
1.攻击者通过填满防火墙的会话表,使防火墙不能产生任何新的会话,拒绝新的连接请求,从而产生DoS攻击。防火墙主要采用基于源和目标的会话限制和主动调整会话超时的主动失效机制两种手段来减轻这类攻击。
2.选择SCREEN选项“Source IP Based Session Limit”和“Destination IP Based Session Limit” 将启动基于源和目标的会话限制功能。默认的基于源和目标的会话限制是每秒128个并发连接。
3.基于源的会话限制将限制来自相同源地址的并发会话数目,可以阻止像Nimda、冲击波这样的病毒和蠕虫的DoS攻击。这类病毒会感染服务器,然后从服务器产生大量的信息流。由于所有由病毒产生的信息流都始发于相同的IP地址,因此基于源的会话限制可以保证防火墙能抑制这类巨量的信息流。当来自某个IP 地址的并发会话数达到最大限值后,防火墙开始封锁来自该IP地址的所有其他连接尝试。假如网络发生了冲击波病毒,我们可以将内网的基于源的会话限制设置为一个比较低的值(比如设为50),那些不能上网的机器,很可能就是中了毒,立刻隔离并进行查杀病毒和打补丁。
4.攻击者可以从上百个被他控制的主机上发起分布式拒绝服务(DDoS)攻击。基于目标的会话限制可以确保防火墙只允许可接受数目的并发连接请求到达任意主机,而不管其来源。当访问某服务器的并发会话数超限时,防火墙将封锁到该服务器的所有其他的连接尝试。
5.在默认情况下,最初的TCP三次握手的超时值为20秒,会话建立后,超时值改变为1800秒;对于HTTP和UDP,超时值分别为300秒和 60秒。当发生攻击时,并发会话数很快增长,但由于超时值的限制,那些没有完成的连接会话就会迅速填满会话表。防火墙提供了一种主动失效机制,当会话表的使用达到一个高限值时(比如最大并发会话数的80%),缩短会话超时值,提前删除会话。当会话表的使用低于某个低限值时(比如最大并发会话数的60%),超时值恢复为默认值,超时进程恢复正常。主动失效机制将以设定的会话主动失效速率缩短默认的会话超时值,加速会话失效。失效速率值可在2~10个单位间选择(每个单位表示10秒)。该功能要通过命令来设置。
set flow aging low-watermark 60
set flow aging high-watermark 80
set flow aging early-ageout 6
上述设置的作用是当会话表的使用达到最大并发会话数的80%时,启动主动失效机制加速会话失效。此时,TCP的会话超时值由1800秒缩短为1740秒, HTTP的会话超时值由300秒缩短为240秒,而UDP的会话超时值缩短为0。防火墙将自动删除超时值超过1740秒的TCP会话和超时值超过240秒的HTTP会话,首先开始删除最早的会话。提前60秒超时的设置导致所有的UDP会话超时,并在下一次垃圾清扫时被删除。当会话表的使用下降到最大并发会话数的60%时,停止加速失效,会话超时值恢复为原来的默认值。这样可以有效地抑制使防火墙会话表泛滥的攻击。
三.SYN-ACK-ACK代理泛滥攻击的检测和防御
1.当认证用户发起Telnet或FTP连接时,防火墙截取用户发往Telnet或FTP服务器的SYN片段,在其会话表中创建一个条目,并代发一个 SYN-ACK片段给用户,然后该用户用ACK应答,从而完成最初的三次握手。之后,防火墙向用户发出登陆提示。如果用户是一个攻击者,他没有响应登陆而是继续发起SYN-ACK-ACK会话,由此引发了SYN-ACK-ACK代理泛滥,最终会填满防火墙的会话表,从而拒绝合法用户的连接请求。
2.为阻挡这种攻击,可以启动SCREEN的“SYN-ACK-ACK Proxy Protection”选项。在来自相同IP地址的连接数目达到SYN-ACK-ACK代理阀值后(默认是512,可选1-250000之间任何整数以适应不同的网络环境)防火墙将拒绝来自该地址的更多其他连接请求。
四.SYN泛滥攻击的检测和防御
1. 利用欺骗性的IP源地址(不存在或不可到达)大量发送请求TCP连接的SYN片段,这些无法完成的TCP连接请求,造成受害主机的内存缓冲区被填满,甚至操作系统被破坏,从而无法再处理合法的连接请求,此时就发生了SYN泛滥。
2.为阻挡这种攻击,可以启动SCREEN的“SYN Flood Protection”选项。防火墙设定每秒通过指定对象(目标地址和端口、仅目标地址或仅源地址)的SYN片段数的阀值,当来自相同源地址或发往相同目标地址的SYN片段数达到这些阀值之一时,防火墙就开始截取连接请求和代理回复SYN/ACK片段,并将不完全的连接请求存储到连接队列中直到连接完成或请求超时。当防火墙中代理连接的队列被填满时,防火墙拒绝来自相同安全区域(zone
本文转自 msft 博客,原文链接: http://blog.51cto.com/victorly/1845941 如需转载请自行联系原作者