如果防火墙不用源、目标、协议控制,那它们就像包过滤器一样,不是真正的防火墙。大多数商业防火墙也包括一些用户身份认证和管理能力。可惜大部分自由软件或开源防火墙没有这些功能,因为他们假设操作系统已经有很强的用户身份认证功能,例如UNIX和Linux系统。Windows NT的密码保护还可以,但不是特别强。Windows 9x基本上没有密码保护,如果需要用户身份认证,不要指望这些操作系统。我们将在"网络安全的基本原理。第四部分:启动网络安全系统并让它不间断运行"中讨论选择和配置防火墙。
防火墙后面的安全问题
大家很容易认为有了防火墙,网络就会受到保护。但是,防火墙不能抵御内部攻击、来自防火墙后面的连接到你的网络的攻击,或来自恶意(如心怀不满的员工)的授权用户的攻击。
记住:攻击者是会进来的。人们常说谁都阻止不了想尽一切办法的偷车贼,但是却不相信这种事会发生在数据身上,相信我,的确可以的。 你的责任就是保证攻击者造成的损失最小。实际上可以使用的方法比我在一篇文章中能够讲述的多得多。但是,让我们看几个可供选择的方法,按照它们和信息安全的三个原则(保密性、完整性和可用性)的关系组织起来。
1. 保证保密性
一旦有人进入了网络,如何保密文件?强烈建议你对重要的内部资料使用不同的访问控制。例如,为每个保密文件设立不同的密码。有时候可能还需要使用第三方的访问控制系统,如SecureID。
加密是另一种保密的方法,如果入侵者的到了文件却打不开,当然可以减小入侵造成的损失。讨论所有可用的加密软件超出了本文范围,但是建议你使用公开的已经被广泛测试过的加密算法。
许多公司声称它们的专有软件更安全,因为谁都不知道其中的算法。不客气的说,他们在说谎。任何说这些话的人都没有认真考虑过,了解安全的人都会告诉你这是没用的。
2. 保证完整性
尽管很难保证信息的完整性,但是在很多方面它都比保密更重要。你怎么能肯定你的文件没有被未授权的人改过?(假如技术高超的入侵者改了数据,然后清除了所有的入侵记录)
加密可以保证数据的完整性。加密系统不但可以使数据保密,通常还可以加入数字信号。数字信号在文件上贴上了一个独一无二的"邮票"。如果文件被修改,签名就无效了,然后就可以知道文件被篡改。
大多数加密系统使用校验和(生成的和文件大小有关的数字)进行确认。如果修改了文件,这个数字就会改变,文件就不会正确解码。是的,这就意味着你不能得到数据,但是如果数据被修改,它对你就没用了。更重要的是,你现在知道有人做了未经允许的事。
另一个保证数据完整性的方法是使用入侵检测系统(IDS),这个系统使用了校验和、数字信号、文件系统分类和增强的登录多种方法。尽管我的原则是不要推荐某种产品,但是还是要推荐Tripwire。它是目前为止最综合性的、最有效地入侵检测系统,也是Windows NT下的有限的IDS软件之一。
3. 保证可用性
被安全措施阻挡在外面的入侵者一定很恼火,他很可能会破坏你的数据,或许通过DoS攻击来破坏。入侵者可能让服务器死机或者用过多的数据保存在磁盘上,导致网络瘫痪。考虑到这个问题,最重要的保证数据可用性的三件事是:
1. 进行完全的、最新的备份。
没有完全的、最新的备份,就不能在入侵后恢复原状。除了每天晚上进行的标准备份之外,每周还要进行彻底备份,以防意外发生。
2. 没有单一故障点。
当装置(无论是防火墙、服务器还是网络连接)失去作用,就要启动备份系统,最好不要干预,也不要让用户察觉到。
3. 确保物理安全
没有物理上的安全,想别的没用。
几个案例可以说明物理安全的必要性。一个案例:使用多层访问控制、入侵检测和现场网络监视的坚不可摧的网络垮了。原因是服务器保存在公共场所,有人走进去,偷了几台里面有未加密的知识产权的服务器,造成其他服务器瘫痪。
另一个案例:一栋建筑物物理上很安全,限制访问,也放在安全的房间,但是光纤从楼里出来连到地下的管道中,有人找到了连接管道的面板,插入了光纤接头,监视公司主要办公室和分办公室之间的所有行动。
记住:信息是公司最重要的财产,应该比工资存款受到更多的保护。
4. 结论
任何安全项目最重要的方面是有个好的计划,并且有好的设计。下面是在计划和设计安全工程是需要记住的:
1. 制定明确定义的安全策略,记住保密性、完整性和可用性原则。没有明确允许的就是明确禁止的。
2. 设计安全体系基于深入防御的原则,这是因为,不管你做什么,黑客都会进来。
3. 为了进行深入防御:使用有用户身份认证、源控制、目标控制和协议控制的网络访问控制。
4. 进行完全的、最新的备份?
5. 确保物理安全。