抵御DOS攻击的六条军规
在一个边界路由器中,你应该配置6个规则,它们将阻止几乎所有的拒绝服务攻击。还记得2002年2月的Internet攻击吗?17岁的加拿大孩子Mafiaboy,使用52个国家的75台计算机在10秒内发送了10,700个消息,使得11个站点瘫痪,导致了大约17亿美元的损失。(由于他在聊天室里炫耀,加拿大警方才发现了他。2001年他受到56条指控,被判处在少年监管中心服刑两年)。
为什么Yahoo、Buy.com、eBay、CNN、 Amazon.com、ZDNet、ETrade、Dell和Excite都遭受了攻击?因为它们缺少6个重要规则的1个或多个。MSN和Microsoft也是目标,但是由于我们的路由器具有这些规则,我们躲避了这次攻击。这些规则如下:
1. 阻止所有源地址来自内部网络的入站传输。
为什么来自内部的传输会从外部进入呢?这说明有人正在进行欺骗。
2. 阻止所有源地址不是内部网络的出站传输。
这与第1条相反:来自其他网络的传输没有任何理由多你的网络出去。内部的某人正在欺骗其他人(对这些人我们有一个术语:雇员)。
3. 止所有源地址或目标地址来自私有地址范围的出站和入站传输。
根据RFC1918中的定义,这些地址用于内部网络;ISP不会路由此类传输。当然,ISP也会出现配置错误;我曾经在Internet上看见过这些地址的传输。因此不能完全信任你的ISP,你应该自己阻此它们。还要记住阻止Windows自动分配私有IP地址。这些范围是:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16和169.254.0.0/16.。
4. 阻止所有源路由包。
回到1970年,当时“路由器”是一个运行路由代理的UNIX计算机,它们没有什么可靠性。因此IP在包头部包含了供应者信息,以便指示将数据包从源路由到目标。源路由在当时是必要的,但是今天已完全不需要了:路由器可以非常可靠地运行。源路由传输标志着一个攻击:应该完全丢弃。
5. 阻止所有广播包,包括受控广播。
在网络内部广播很有用处,但是在网络之间几乎毫无用处,因此不要允许广播进入(或出去)。一个伪装的很好得smurf攻击,看起来像是IRC通讯,依赖于受控广播。
6. 阻止所有的片断包。
Fragrouter是一个古老但很优秀的工具,对于躲避入侵检测很实用。攻击者可以利用它创建包片断——缺少TCP或UDP头的TCP或UDP包,可以绘出你的防火墙策略和配置错误。除非一个显著的例外,碎片一般不会被创建,因此没有理由允许它们进入你的网络。这个例外是什么?IPsec,更精确地说是IPsec中的IKE验证。在验证过程中,IKE在通讯双方之间执行6次反复。在通讯双方协商安全并交换密钥时,IKE产生碎片:很少有密钥能在一个包中放置。因此如果你允许IPsec在Internet和边界路由器之后的网络之间传输,你应该忽略最后一个规则。
这是你要做的。在边界路由器上配置这6个规则,这样,你也可以对Mafiaboy这样的人说:“去沙滩玩吧!”哦,猜猜会怎样?由于你自己更安全,你将更有竞争力!你曾经想过一个路由器配置具有战略竞争意义吗?