分布式攻击的危害很大,因此,研究阻止和击败此类攻击的解决方法是目前信息安全领域面临的一个重要课题。本文着眼于一般性的分布式攻击。目的在于提供一种简单易行、费用较低的解决方案。
容易实现而又适当的防护措施有很多。首先要做的是尽可能去掉不必要地通过防火墙的传输,所有的公开方式,比如Web、FTP和邮件服务器应该放置在分离的网络中,所有因特网联接方式都不应该有编译器。
要确定管理通道和端口都被关闭,或是安全的。为保证计算机的安全,可以按这样的顺序保护它们:防火墙、DMZ中的公开部位、内部服务、工作站。 也可以通过新补丁和调整来减少攻击的潜在目标和发起点。
1.ICMP防护措施
ICMP最初开发出来是为了"帮助"网络,经常被广域网管理员用作诊断工具。但今天各种各样的不充分的ICMP被滥用,没有遵守RFC 792原先制订的标准,要执行一定的策略可以让它变得安全一些。
入站的ICMP时间标记(Timestamp)和信息请求(Information Request)数据包会得到响应,带有非法或坏参数的伪造数据包也能产生ICMP参数问题数据包,从而允许另外一种形式的主机搜寻。这仍使得站点没有得到适当保护。
以秘密形式从主方到客户方发布命令的一种通用方法,就是使用ICMP Echo应答数据包作为载波。 回声应答本身不能回答,一般不会被防火墙阻塞。
首先,我们必须根据出站和入站处理整个的"ICMP限制"问题。ICMP回声很容易验证远程机器,但出站的ICMP回声应该被限制只支持个人或单个服务器/ICMP代理(首选)。
如果我们限制ICMP回声到一个外部IP地址(通过代理),则我们的ICMP回声应答只能进入我们网络中预先定义的主机。
重定向通常可以在路由器之间找到,而不是在主机之间。防火墙规则应该加以调整,使得这些类型的ICMP只被允许在需要信息的网际连接所涉及的路由器之间进行。
建议所有对外的传输都经过代理,对内的ICMP传输回到代理地址的时候要经过防火墙。这至少限制了ICMP超时数据包进入一个内部地址,但它可能阻塞超时数据包。
当ICMP数据包以不正确的参数发送时,会导致数据包被丢弃,这时就会发出ICMP参数出错数据包。主机或路由器丢弃发送的数据包,并向发送者回送参数ICMP出错数据包,指出坏的参数。
总的来说,只有公开地址的服务器(比如Web、电子邮件和FTP服务器)、防火墙、联入因特网的路由器有真正的理由使用ICMP与外面的世界对话。如果调整适当,实际上所有使用进站和出站ICMP的隐密通讯通道都会被中止。
2. 关于主机的建议
所有对因特网提供公开服务的主机都应该加以限制。下面建议的策略可以保护暴露在因特网上的主机。
将所有公开服务器与DMZ隔离
提供的每种服务都应该有自己的服务器。
如果使用Linux(建议这样做),你就可以使用一个或几个"缓冲溢出/堆栈执行"补丁或增强来防止绝大多数(如果不能全部)本地或远程缓冲溢出,以避免这些溢出危及根的安全。强烈建议将Solar Designer的补丁包括在附加的安全特征中。
使用SRP(Secure Remote Password 安全远程口令)代替SSH。
限制只有内部地址才能访问支持SRP的telnet和FTP守护程序,强调只有支持SRP的客户端才可以与这些程序对话。如果你必须为公开访问运行常规的FTP(比如匿名FTP),可以在另一个端口运行SRP FTP。
使用可信任的路径。根用户拥有的二进制执行程序应该放置的目录的所有权应该是根,不能让全部用户或组都有写权限。如果有必要的话,为了强制这样做,你可以改变内核。
使用内置防火墙功能。通过打开防火墙规则,可以经常利用内核状态表。
使用一些防端口扫描措施。这可以使用Linux的后台程序功能或通过修改内核实现。
使用Tripwire 和相同作用的软件来帮助发觉对重要文件的修改。
3.有关入侵检测系统的建议
由于许多用来击败基于网络的入侵检测系统的方法对绝大多数商业入侵检测系统产品仍然是有效的,因此建议入侵检测系统应该至少有能重组或发觉碎片的自寻址数据包。
下面是部分要注意的事项:
确信包括了现有的所有规则,包括一些针对分布式拒绝服务攻击的新规则。
如果遵循了ICMP建议项,许多ICMP会被阻塞,入侵检测系统触发器存在许多机会。任何通常情况下要被阻塞的入站或出站的ICMP数据包可以被触发。
"任何"被你用防火墙分离的网络传输都可能是一个潜在的IDS触发器。
如果你的入侵检测系统支持探测长时间周期的攻击,确信没有把允许通过防火墙的被信任主机排除在外。这也包括虚拟专用网。
如果你能训练每个使用ping的用户在ping主机时使用小数据包,就可能设置入侵检测系统寻找超29字节的Echo和Echo应答数据包。
总结
本文通过加强主机安全、限制不良基础的通讯通道、调整防火墙和入侵检测系统的规则等防护措施,将可以有效地对付分布式攻击,这里描述的绝大多数网络攻击(不论是实际上还是理论上的)都能够被抑制。执行以上所述的这些防护建议,不仅可以防止多种分布式攻击,而且可以大大增强多方面的安全。