DoS 攻击所涉及的网络实体有传输实体、安全实体和主机实体,在这三种网络实体上可以应用相应策略来防范DoS。
1.IP 欺骗防范
IP 欺骗是DoS 攻击的重要步骤,只要能够阻止IP 欺骗,就可以避免绝大多数的DoS。攻击者如果使用真实IP 地址则会很快被追踪到。
传输实体策略:RFC2827 建议:在ISP 路由器接口上放置入口过滤(ingressfiltering),只允许包含特定源地址的数据包进入,这些源地址属于该接口所连接的网络,其他数据包不允许进入。
安全实体策略:拒绝源地址为私有I P 地址的数据包进入防火墙外部接口。为阻止攻击者使用内部网络地址进行I P 欺骗和获取信任关系,拒绝源地址为内部地址的数据包进入外部接口。
主机实体策略:拒绝源地址为私有IP 地址的数据包,除非主机处于使用私有IP 地址的网络
2.IP 碎片攻击防范
安全实体策略:在网络边界和防火墙上禁止IP 碎片通过或设定突发碎片包上限,这有可能会使正常的数据通信不能完成。如果防火墙可以在网络边缘进行IP 碎片重组,要保证防火墙TCP/IP 协议栈不存在碎片重组漏洞,否则防火墙也将受到DoS 攻击。
主机实体策略:为操作系统打上补丁,可以修补IP 分片重组漏洞。
3.ICMP flooding 防范
传输实体策略:使用ACL 禁止ICMPECHO REQUEST通过路由器,有时可能造成网络排错困难。如果是直接广播的ICMP 的DoS,可以在边缘路由器接口上使用:no ip directed-broadcast 来禁止对本网段的直接广播。
安全实体策略:限制ICMP流量带宽或设置突发ICMP 包上限。
主机实体策略:设置主机不对ICMPECHO REQUEST 进行应答。
4.TCP SYN flooding 防范
安全实体策略:在防火墙限制TCP SYN 占用带宽或突发上限。因为防火墙不能识别正常的SYN 和恶意SYN,一般把TCP SYN 的突发量调整到内部主机可以承受的连接量。一些高端防火墙具有特殊的功能(TCP SYN网关、TCP SYN中继)可以抵抗TCP SYN flooding,它们都是通过干涉连接建立过程来实现。具有TCP SYN 网关功能的防火墙在收到TCP SYN 后,转发给内部主机并记录该连接,当收到主机的TCP SYN/ACK 后,以客户机的名义发送TCP ACK 给主机,帮助主机完成三次握手,把连接由半开状态变成全开状态(全开状态连接占用
的资源少于半开状态)。具有TCP SYN 中继功能的防火墙在收到TCPSYN 后并不转发给内部主机,而是代替内部主机回应TCP SYN/ACK,如果收到TCP ACK 则表明该连接是非恶意的,否
则及时释放半连接所占用资源。防火墙拥有这些功能时建议开启。使用IDS 实时监控网络,如果发现来自某个IP 段的TCP SYN flooding,在防火墙上及时配置流量规则拒绝来自这些IP 网段的数据包,当TCP SYN 停止时再恢复这些网段的服务。
主机实体策略:增加运行网络服务主机的资源,但这样会增加投入成本;使用集群技术,设置把一个IP 段的服务请求转发到一个物理主机上,这样即使一台物理主机瘫痪,集群中还有其他物理主机可以提供网络服务;调整TCP/IP协议栈参数,减少连接超时时间,使半连接占用的资源可以及时释放;设置主机可以承受的最大连接数,当超过最大连接数目时新的连接被拒绝,防止主机宕机。
5.Crikey CRC flooding 防范
安全实体策略:Crikey CRC flooding主要目标是网络安全设备,需要为防火墙打上安全补丁,使数据包通过时用checksum 进行校验,对于checksum 错误的TCP 和UDP 数据包丢弃;减小连接状态条目老化时间,使不活动的连接条目要及时清除,防止填满连接状态表。
6.应用层DoS 防范
由于应用层攻击多样化,这里主要介绍病毒邮件DoS 攻击的防范。
安全实体策略:在网络出口处安装SMTP和POP3 协议防毒插件,病毒邮件在经过网关时被过滤掉;在邮件服务器前安装邮件网关,检测某个地址的邮件发送量,动态的拒绝来自这个地址的邮件。
主机实体策略:为客户机安装杀毒软件;为邮件服务器安装反病毒插件;设置用户一定时间内可以发送的邮件数目。