论文部分内容阅读
某省移动公司信息技术部总经理张先生在前一阵子就遇到拒绝服务(DoS)攻击的麻烦:用户投诉说网站访问速度太慢,动不动就超时断开连接。这个问题该如何处理呢?
说到DoS攻击,相信大家都不陌生。在所有的黑客攻击行为中,这种攻击显得颇为特立独行,因为它是一种损人不利己的攻击行为。
错误配置导致DDoS
典型的DoS攻击通常表现为用户的正常服务请求无法得到满足,比如访问缓慢、无响应等,严重情况下甚至会有服务器死机现象。
除了常说的DoS之外,还有另外一种防范更为困难的分布式拒绝服务(DDoS)攻击。DDoS是指借助客户端/服务器技术,联合多个(常常可达数万个)计算机作为一个攻击平台,对目标发起DoS攻击,由于受控制的攻击机器(就是我们通常所谓的傀儡机)数量庞大,极端情况下即使每台傀儡机都只发送正常服务请求,目标机器也有可能由于资源过载而无法正常提供服务。
有人认为,DoS攻击绝对无法避免。其实不尽然,根据触发原因的不同,某些DoS攻击是可以避免的,其中有一种情况是由于错误配置或系统BUG导致的。错误配置造成的DoS攻击可以通过修正配置来避免,系统Bug造成的拒绝服务攻击可以通过打修正Bug的补丁来避免。
举个错误配置的例子,比如某服务器系统配置支持1000个用户同时连接,但在该服务器上的系统软件上,并未对用户连接数上限做限制,导致同时连接用户数量过多,服务器响应缓慢。
这里所说的系统可能是软件,也可能是协议。最著名的导致DoS攻击的系统Bug就是TCP的三次握手。攻击者可以伪造大量源地址向服务器持续发送SYN数据包,在接收到服务器端ACK回应时不做任何响应,使得服务器端需要保持大量的端口处于监听状态,从而造成拒绝服务。
DoS类型及应对
根据DoS类型的不同,DoS攻击大致可以分为网络带宽消耗型攻击和资源消耗型攻击。
1.网络带宽消耗型攻击
这种攻击指大量的网络服务请求占用并耗尽了带宽资源,导致计算机无法再处理合法用户的请求。通过抓包,我们可以看到网络中存在大量数据包,并已经达到了网络通信量的上限。一般来说,这种情况可以通过修改服务器配置或使用QoS设备来降低此类攻击危害。用户可以通过以下方式进行DoS攻击防御。
在服务器上:关闭不必要的服务,限制同时打开的SYN半连接数,缩短SYN半连接存活时间。
在防火墙上:禁止对主机的非开放服务的访问,限制同时打开的SYN最大连接数,限制特定IP地址的访问,启用防火墙的防DDoS的属性,严格限制对外开放的服务器的向外访问。
在路由器上:使用Unicast Reverse Path(单播反向路径),访问控制列表(ACL)过滤,设置SYN数据包流量速率,升级版本过低的ISO,为路由器建立日志记录。
通常情况下,针对带宽消耗型DoS/DDoS的最佳防御位置是在运营商处。通过在路由器上对数据包源IP地址进行验证,系统如未找到匹配项就将该数据包丢弃。这样可以最大限度保证伪造的数据包不会通过Internet传到用户网络中。但这种方法将极大降低路由器的处理性能,故应用不多。
一些重要网站,或是在一些重大事件发生前后,网站无法访问将会造成非常严重的影响。带宽消耗DoS,尤其是那些利用大规模僵尸网络进行的攻击行为,几乎无法从“直接防御”这个角度进行防护。在这种情况下,较好的应对措施就是增加服务的提供能力,如采用增加带宽、提高计算性能、冗余备份、负载均衡等手段。
2.资源消耗型攻击
这种攻击指利用处理缺陷,通过发送数据包耗尽CPU等处理资源,导致无法正常提供服务,虽然网络流量并不大,但服务器的资源占用率极高,如出现CPU占用达到100%。
资源消耗型的攻击相对来说易于防御。只要串接在网络中的设备能对畸形数据包进行分析和丢弃,用户就可以避免此类攻击。入侵防御产品,甚至是防火墙产品都具备此项功能。
说到DoS攻击,相信大家都不陌生。在所有的黑客攻击行为中,这种攻击显得颇为特立独行,因为它是一种损人不利己的攻击行为。
错误配置导致DDoS
典型的DoS攻击通常表现为用户的正常服务请求无法得到满足,比如访问缓慢、无响应等,严重情况下甚至会有服务器死机现象。
除了常说的DoS之外,还有另外一种防范更为困难的分布式拒绝服务(DDoS)攻击。DDoS是指借助客户端/服务器技术,联合多个(常常可达数万个)计算机作为一个攻击平台,对目标发起DoS攻击,由于受控制的攻击机器(就是我们通常所谓的傀儡机)数量庞大,极端情况下即使每台傀儡机都只发送正常服务请求,目标机器也有可能由于资源过载而无法正常提供服务。
有人认为,DoS攻击绝对无法避免。其实不尽然,根据触发原因的不同,某些DoS攻击是可以避免的,其中有一种情况是由于错误配置或系统BUG导致的。错误配置造成的DoS攻击可以通过修正配置来避免,系统Bug造成的拒绝服务攻击可以通过打修正Bug的补丁来避免。
举个错误配置的例子,比如某服务器系统配置支持1000个用户同时连接,但在该服务器上的系统软件上,并未对用户连接数上限做限制,导致同时连接用户数量过多,服务器响应缓慢。
这里所说的系统可能是软件,也可能是协议。最著名的导致DoS攻击的系统Bug就是TCP的三次握手。攻击者可以伪造大量源地址向服务器持续发送SYN数据包,在接收到服务器端ACK回应时不做任何响应,使得服务器端需要保持大量的端口处于监听状态,从而造成拒绝服务。
DoS类型及应对
根据DoS类型的不同,DoS攻击大致可以分为网络带宽消耗型攻击和资源消耗型攻击。
1.网络带宽消耗型攻击
这种攻击指大量的网络服务请求占用并耗尽了带宽资源,导致计算机无法再处理合法用户的请求。通过抓包,我们可以看到网络中存在大量数据包,并已经达到了网络通信量的上限。一般来说,这种情况可以通过修改服务器配置或使用QoS设备来降低此类攻击危害。用户可以通过以下方式进行DoS攻击防御。
在服务器上:关闭不必要的服务,限制同时打开的SYN半连接数,缩短SYN半连接存活时间。
在防火墙上:禁止对主机的非开放服务的访问,限制同时打开的SYN最大连接数,限制特定IP地址的访问,启用防火墙的防DDoS的属性,严格限制对外开放的服务器的向外访问。
在路由器上:使用Unicast Reverse Path(单播反向路径),访问控制列表(ACL)过滤,设置SYN数据包流量速率,升级版本过低的ISO,为路由器建立日志记录。
通常情况下,针对带宽消耗型DoS/DDoS的最佳防御位置是在运营商处。通过在路由器上对数据包源IP地址进行验证,系统如未找到匹配项就将该数据包丢弃。这样可以最大限度保证伪造的数据包不会通过Internet传到用户网络中。但这种方法将极大降低路由器的处理性能,故应用不多。
一些重要网站,或是在一些重大事件发生前后,网站无法访问将会造成非常严重的影响。带宽消耗DoS,尤其是那些利用大规模僵尸网络进行的攻击行为,几乎无法从“直接防御”这个角度进行防护。在这种情况下,较好的应对措施就是增加服务的提供能力,如采用增加带宽、提高计算性能、冗余备份、负载均衡等手段。
2.资源消耗型攻击
这种攻击指利用处理缺陷,通过发送数据包耗尽CPU等处理资源,导致无法正常提供服务,虽然网络流量并不大,但服务器的资源占用率极高,如出现CPU占用达到100%。
资源消耗型的攻击相对来说易于防御。只要串接在网络中的设备能对畸形数据包进行分析和丢弃,用户就可以避免此类攻击。入侵防御产品,甚至是防火墙产品都具备此项功能。