在人们建筑和使用木制结构房屋的时候,为了使"城门失火"不致"殃及池鱼",将坚固的石块堆砌在房屋周围作为屏障进一步防止火灾的发生和蔓延,这种防护构筑物被称之为防火墙。
在今日的信息世界里,人们借助了这个概念,使用防火墙来保护敏感的数据不被窃取和篡改,不过这些防火墙是由先进的计算机硬件或软件系统构成的。
简单的说,防火墙是位于两个信任程度不同的网络之间(如企业内部网络和Inte.net之间)的软件或硬件设备的组合,它对两个网络之间的通信进行控制,通过强制实施统一的安全策略,防止对重要信息资源的非法存取和访问,以达到保护系统安全的目的。
防火墙通常是运行在一台单独计算机之上的一个特别的服务软件,用来保护由许多台计算机组成的内部网络,它使企业的网络规划清晰明了,它可以识别并屏蔽非法请求,有效防止跨越权限的数据访问。它既可以是非常简单的过滤器,也可能是精心配置的网关,但它们的原理是一样的,都是监测并过滤所有内部网和外部网之间的信息交换。防火墙保护着内部网络的敏感数据不被窃取和破坏,并记录内外通信的有关状态信息日志,如通信发生的时间和进行的操作等等。新一代的防火墙甚至可以阻止内部人员将敏感数据向外传输。企业在把公司的局域网联入Internet时,肯定不希望让全世界的人随意翻阅公司内部的工资单、个人资料或是客户数据库。即使在公司内部,同样也存在这种数据非法存取的可能性。例如一些对公司不满的员工可能会修改工资表和财务报告。而在设置了防火墙以后,就可以对网络数据的流动实现有效地管理:允许公司内部员工使用电子邮件、进行Web浏览以及文件传输等服务,但不允许外界随意访问公司内部的计算机,同样还可以限制公司中不同部门之间互相访问,将局域网络放置于防火墙之后可以有效阻止来自外界的攻击。
防火墙产品是当前网络安全产品线中最为琳琅满目的一种,仅在美国1995年发货量便在10万套, 年均增长率为173%,而防火墙的价格却在不断下跌,由1995年的平均单价1.6万美元降至2000年的几千美元,但由于市场销量剧增,因此其销售额仍然会有大幅度的增长。
防火墙应具备的基本功能
在市场上,防火墙的售价极为悬殊,从几万元到数十万元,甚至到百万元。因为各企业用户使用的安全程度不尽相同,因此厂商所推出的产品也有所区分,甚至有些公司还推出类似模块化的功能产品,以符合各种不同企业的安全要求。
当一个企业或组织决定采用防火墙来实施保卫自己内部网络的安全策略之后,下一步要做的事情就是选择一个安全、实惠、合适的防火墙。那么面对种类如此繁多的防火墙产品,用户应该如何进行取舍呢?
防火墙系统可以说是网络的第一道防线,因此一个企业在决定使用防火墙保护内部网络的安全时,它首先需要了解一个防火墙系统应具备的基本功能,这是用户选择防火墙产品的依据和前提。一个成功的防火墙产品应该具有下述基本功能:
· 防火墙的设计策略应遵循安全防范的基本原则--"除非明确允许,否则就禁止";
· 防火墙本身支持安全策略,而不是添加上去的;
· 如果组织机构的安全策略发生改变,可以加入新的服务;
· 有先进的认证手段或有挂钩程序,可以安装先进的认证方法;
· 如果需要,可以运用过滤技术允许和禁止服务;
· 可以使用FTP和Telnet等服务代理,以便先进的认证手段可以被安装和运行在防火墙上;
· 拥有界面友好、易于编程的IP过滤语言,并可以根据数据包的性质进行包过滤,数据包的性质有目标和源IP地址、协议类型、源和目的TCP/UDP端口、TCP包的ACK位、出站和入站网络接口等。
如果用户需要NNTP(网络消息传输协议)、XWindow、HTTP和Gopher等服务,防火墙应该包含相应的代理服务程序。防火墙也应具有集中邮件的功能,以减少SMTP服务器和外界服务器的直接连接,并可以集中处理整个站点的电子邮件。防火墙应允许公众对站点的访问,应把信息服务器和其他内部服务器分开。
防火墙应该能够集中和过滤拨入访问,并可以记录网络流量和可疑的活动。此外,为了使日志具有可读性,防火墙应具有精简日志的能力。虽然没有必要让防火墙的操作系统和公司内部使用的操作系统一样,但在防火墙上运行一个管理员熟悉的操作系统会使管理变得简单。防火墙的强度和正确性应该可被验证,设计尽量简单,以便管理员理解和维护。防火墙和相应的操作系统应该用补丁程序进行升级且升级必须定期进行。
正像前面提到的那样,Internet每时每刻都在发生着变化,新的易攻击点随时可能会产生。当新的危险出现时,新的服务和升级工作可能会对防火墙的安装产生潜在的阻力,因此防火墙的可适应性是很重要的。
防火墙几种形式的不同特点
当挑选防火墙时,必须理解防火墙的工作方式才能评估它是否能够真正满足自己的需要。为了找出适合用户所在组织的最佳防火墙产品,用户必须将自己的需求映射到特定的防火墙类型上。一旦你挑选了正确的体系,琳琅满目的防火墙产品也就变得不再令人眼花缭乱了。防火墙有许多种形式,有的以软件形式运行在普通计算机之上,有的以硬件形式单独实现,也有的以固件形式设计在路由器之中。总的来说防火墙分为三种:包过滤防火墙、应用级网关和状态监视器。
包过滤防火墙
在Internet这样的TCP/IP网络上,所有往来的信息都被分割成许许多多一定长度的信息包,包中包含发送者的IP地址和接收者的IP地址信息。当这些信息包被送上Internet时,路由器会读取接收者的IP并选择一条合适的物理线路发送出去,信息包可能经由不同的路线抵达目的地,当所有的包抵达目的地后会重新组装还原。包过滤式的防火墙会检查所有通过的信息包中的IP地址,并按照系统管理员所给定的过滤规则进行过滤。如果防火墙设定某一IP地址的站点为不适宜访问的话,从这个地址来的所有信息都会被防火墙屏蔽掉。
包过滤防火墙的优点是它对于用户来说是透明的,处理速度快而且易于维护,通常作为第一道防线。包过滤路由器通常没有用户的使用记录,这样我们就不能得到入侵者的攻击记录。而攻破一个单纯的包过滤式防火墙对黑客来说还是有办法的。"IP地址欺骗"和"同步风暴"便是黑客用于攻击包过滤防火墙比较常用的手段。另外,包过滤防火墙还具有配置繁琐的缺点。它阻挡别人进入内部网络,但也不告诉你何人进入你的系统,或者何人从内部进入Internet。它可以阻止外部对私有网络的访问,却不能记录内部的访问。包过滤另一个关键的弱点就是不能在用户级别上进行过滤,即不能鉴别不同的用户和防止IP地址盗用。
应用级网关
应用级网关也就是通常我们提到的代理服务器。它适用于特定的Internet服务,如HTTP、 FTP等等。代理服务器通常运行在两个网络之间,它对于客户来说像是一台真的服务器,而对于外界的服务器来说,它又是一台客户机。当代理服务器接收到用户对某站点的访问请求后会检查该请求是否符合规定,如果规则允许用户访问该站点的话,代理服务器会像一个客户一样去那个站点取回所需信息再转发给客户。代理服务器通常都拥有一个高速缓存,这个缓存存储用户经常访问的站点内容,在下一个用户要访问同一站点时,服务器就不用重复地获取相同的内容,直接将缓存内容发出即可,既节约了时间也节约了网络资源。代理服务器会像一堵墙一样挡在内部用户和外界之间,从外部只能看到该代理服务器而无法获知任何的内部资源,诸如用户的IP地址等。应用级网关比单一的包过滤更为可靠,而且会详细地记录所有的访问状态信息。
但是应用级网关也存在一些不足之处:首先它会使访问速度变慢,因为它不允许用户直接访问网络,而且应用级网关需要对每一个特定的Internet服务安装相应的代理服务软件,用户不能使用未被服务器支持的服务,对每一类服务要使用特殊的客户端软件,尤其是,并非所有的Internet应用软件都可以使用代理服务器。
状态监测防火墙
这种防火墙具有非常好的安全特性,它使用了一个在网关上执行网络安全策略的软件模块,称之为监测引擎。监测引擎在不影响网络正常运行的前提下,采用抽取有关数据的方法对网络通信的各层实施监测,抽取状态信息,并动态地保存起来作为以后执行安全策略的参考。监测引擎支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充。与前两种防火墙不同,当用户访问请求到达网关的操作系统前,状态监视器要抽取有关数据进行分析,结合网络配置和安全规定做出接纳、拒绝、身份认证、报警或给该通信加密等处理动作。
这种防火墙的优点是一旦某个访问违反安全规定,就会拒绝该访问,并报告有关状态作日志记录。状态监测防火墙的另一个优点是它会监测无连接状态的远程过程调用(RPC)和用户数据报(UDP)之类的端口信息,而包过滤和应用网关防火墙都不支持此类应用。这种防火墙无疑是非常坚固的。但是它会降低网络的速度,而且配置也比较复杂。当然有关防火墙厂商已注意到这一问题,有些防火墙产品的安全策略规则是通过面向对象的图形用户界面(GUI)来定义以简化配置过程。
用户可能考虑的特殊功能要求
企业安全政策中往往有些特殊需求不是每一个防火墙都会提供的,这方面常会成为选择防火墙的考虑因素之一,常见的需求如下:
1. 网络地址转换功能(NAT)
进行地址转换有两个好处:其一是隐藏内部网络真正的IP,这可以使黑客无法直接攻击内部网络,这也是笔者之所以要强调防火墙自身安全性问题的主要原因;另一个好处是可以让内部使用保留的IP,这对许多IP不足的企业是有益的。
2. 双重DNS
当内部网络使用没有注册的IP地址,或是防火墙进行IP转换时,DNS也必须经过转换,因为,同样的一个主机在内部的IP与给予外界的IP将会不同,有的防火墙会提供双重DNS,有的则必须在不同主机上各安装一个DNS。
3. 虚拟专用网络(VPN)
VPN可以在防火墙与防