拒绝服务淹没攻击是针对的八大攻击之一,也是危害性比较大的攻击方式。简单的说,拒绝服务淹没攻击是由恶意的(或者被绑架的用户)用户、进程和系统发起的,目的是通过淹没网路连接来阻止合法用户的正常访问。现在没有任何一款产品可以从根本上解决拒绝服务淹没攻击,而只能过从一定程度上缓解这种攻击的不利症状。在这里笔者要向大家介绍一下,针对整个拒绝服务淹没攻击,Forefront产品主要提供了哪些应对措施。
一、拒绝服务淹没攻击的常见方式
其实拒绝服务淹没攻击是一个统称。具体实现这种攻击的方法有很多。如通过传播、SYN攻击、TCP淹没攻击、HTTP拒绝服务攻击等等,都可以实现拒绝服务淹没攻击的目的。最要命的是,不同的攻击方式,其应对措施也是不同的。
笔者有时候会将这种攻击比喻成“感冒”。1万个人感冒,其症状可能都是类似的。如发热、鼻涕、头晕等等。但是引起感冒的确千差万别。为此现在没有一种特效药能够用来应对所有的感冒病毒。也就是说,现在市面上的感冒药品,主要是用来缓解其感冒的症状,而并不是真正意义上杀死病毒。而这个拒绝服务淹没攻击跟感冒病毒一样,实现方式有很多种,其最终的症状可能只有一个:淹没网络连接来阻止合法用户的正常访问。
那么Forefront可以用来识别并防止哪些类型的淹没攻击呢?到目前为止,主要的淹没攻击的方式Forefront都可以识别。包括以上举例的常见攻击方式,还包括非主流的攻击方式,如非TCP分布式拒绝服务攻击、UDP淹没攻击等等,Forefrotn都可以很好的识别并有效的减缓其攻击的症状(注意并不能够百分之百的消除,而是99%的减缓)。
二、Forefront产品针对拒绝服务攻击的工作原理
一般来说,Forefront产品针对拒绝服务淹没攻击主要是通过以下三个步骤来完成的。
第一步:识别恶意通讯的连接。Forefront产品会根据一定的规则对网络中的连接进行侦测。当发现有可疑的连接时,系统就会记录在案,并将其视为“嫌疑犯”,对其后续的内容进行跟踪,直到消除其嫌疑为止。
第二步:超过连接限制时触发警报并阻止恶意通讯的连接限制。当超过正常的连接,并且已经影响到其他用户的合法访问的时候,系统就会发出警报。并且根据网络安全人员的设置,会自动阻止恶意的连接限制。防止其继续发起拒绝服务淹没攻击,给其他人员的正常访问带来不利影响。
第三步:纪录淹没缓解的事件。在系统事件日志中,还会对攻击过程中,淹没缓解的事件进行记录。在后续故障排查过程中,这些事件信息非常的关键。有了这些事件信息的话,系统管理员可以在比较短的时间之内,找到内部参与攻击的IP地址。这主要是因为在这个攻击中,内部的不少主机可能在不知不觉当中成为了别人的“肉鸡”,成为了帮凶。及时的清除这些帮凶,对于避免下一步的攻击会很有帮助。
三、通过连接限制来防止拒绝服务攻击
对于Forefront来说,其主要的控制手段就是“连接限制”。这归根结底是一种“配额机制”。这个机制会对处理的TCP和非TCP通讯强制应用连接限制。具体的连接限制有如下几种。
1、用于限制在一秒钟内可以为单个服务器发布或者访问规则创建的UDP以及其他原始IP连接总数的连接限制。这主要用来针对UDP淹没攻击。
2、用户确定允许在一分钟之内从IP地址例外列表中不包括单个IP地址建立多少个TCP连接请求和HTTP连接的请求连接限制。与此类似,还有一个用于确定接受从IO地址例外列表中不包括单个IP地址建立多少个并发传输层协议的连接限制。这主要用来应对非UDP方式的淹没式攻击。另外值得提醒的一点是,以上这两个限制时间的单位是不同的。第一个连接限制是指在一秒钟之内可以连接的总数。而下面这个则是在一分钟之内可以连接的数量。在配制的时候,一定需要注意这两个单位的不同。否则的话,会闹笑话的。
在具体应用这个连接限制来避免淹没拒绝服务攻击的时候,还需要注意以下事项。
注意事项一:如果企业部属了一个,此时往往需要设置限制来保障Web服务器的安全。此时在配置连接限制的过程中,需要注意在特定网络的Web代理属性中制定连接设置时(最多可用的连接数),系统同时将限制在任何特定时间内在端口80上网络所允许的并发传出Web连接数。
注意事项二:Web侦听器与连接限制的冲突。有时候为了分析网络协议、优化网络性能的需要,可能要在一段时间内使用Web侦听器。不过此时Web侦听器的工作可能会与连接限制相冲突。为了避免工作中的冲突,往往需要一些额外的配置。如需要在Web侦听器上制定连接限制,同时将限制使用特定的Web侦听器发布的网路哦所允许的连接数。另外,还需要在每个Web侦听器的属性中以及可以从中发送传出Web请求的每个网络的Web代理属性中,针对Web代理筛选器所处理的通讯配置连接限制。显然将他们两个工作在同一环境中,需要许多额外的配置。为此笔者并不建议将他们部署在同一个应用环境中。笔者推荐的做法是,如果Web侦听器不怎么用的话,那么可以采取比较折中的方式。如在需要使用Web侦听器来收集数据的时候,先将连接限制的功能取消掉。等到数据收集完毕之后,再进行启用。从实际操作来看,这可能更加的合理。毕竟在短短的时间间隔之内,发生拒绝服务攻击的概率还是比较小的。
注意事项三:UDP连接限制的局限性。在使用UDP连接限制的时候,一定要注意,这个连接限制只适用于会话,而不适用于连接。也就是说,到达IP地址的UDP连接限制时,如果尝试从该IP地址创建其他UDP会话的时候,则会关闭从相应IP地址创建的最早的UDP会话并创建新的会话。再强调一遍,UDP连接限制对于连接无效(千万不要给这个名字欺骗了),对于会话有效。
注意事项四:当连接超过系统设置的连接限制时,系统将采取的措施。了解这个内容,对于故障排错具有一定的帮助。通常来说,当达到允许为单个规则创建的连接数的限制的时候,系统将不再为没有关联连接的通讯创建任何新的连接。也就是说,此时数据包就有可能被丢弃。并且系统会生成警报信息。“超过规则的连接限制”等信息可以在事件日志中找到。当前单位(如一秒或者一分)过后,系统将重置计数器,并且系统可以在下一单位内创建新的连接,直到再次达到上限为止。不过需要注意的是,这个连接数往往还受到防火墙策略可以允许的连接尝试进行计数的限制(如果防火墙上设置了这个参数)。换一句话说,Forefront可以针对每一个源IP地址维护不同的计数器,分别用于连接限制和用于对防火墙策略拒绝的连接尝试进行计数。这也告诉我们,Forefront的连接限制功能往往可以跟防火墙安全策略共存。在一般情况下,两者不会发生冲突。