《辞海》上说“防火墙:用非燃烧材料砌筑的墙。设在建筑物的两端或在建筑物内将建筑物分割成区段,以防止火灾蔓延。”在IT这个变革一切、改造一切的世界里,“防火墙是设置在被保护网络和外部网络之间的一道屏障,以防止发生不可预测的、潜在破坏性的侵入。
”如果说,只要你使用计算机,你就应该用杀毒软件,那么只要你联网,你就应该构建防火墙。现在绝大部分个人版反病毒软件都已经集成了防火墙的功能;大的企业、行业用户都会订购全套的网络安全解决方案,而其中防火墙是必选的项目。最最令人担忧的是占我国企业总数99%的中小企业,大部分没有专职的网管人员,仅仅使用个人产品来保护局域网,没有明确的安全操作规范……危险时刻威胁着不堪一击的中小企业的网络。
每天,人们利用保险机制保护他们的财产免受火灾和盗窃,公司通过专利和商标保护自己的成果不被窃取。各种安全措施无处不在,时时刻刻守护我们的人身财产安全。而防火墙就是这样一个内部网络安全策略的工具,保护我们免受“墙”外的“火灾”的伤害。本质上,一个防火墙由一台或多台机器组成,它用一组形成防火墙“墙砖”的软件将外部网络与内部网络隔开。不过这组墙砖是否结实,就很重要了,否则系统在网络攻击的惊涛骇浪中就性命堪忧。所以今时今日,大多数的网管们都有“防火墙”情结就不足为奇了。
图1 防火墙规划
一般来说,防火墙包括几个不同的组成部分(如图1)。过滤器(也称屏蔽)用于阻断某一类型的通信传输。网关是一台或一组机器,它提供中继服务,而一般驻有网关的网络常被叫做非军事区(DMZ)。外部的过滤器可用来保护网关免受攻击,而内部过滤器用来应付一个网关遭到破坏所带来的后果,两个过滤器均可用来保护内部网络,使之免受攻击。
对于大部分的网络管理员而言,防火墙的管理并不是件轻松的事,甚至有些时候还显得有些枯燥。就目前而言,网管的工作还处于三大战役的初期:敌强我弱阶段。敌人随时都可能出现,我们往往要打起十二万分的精神。否则,稍有不慎就会被供给者攻城略地。工欲善其事,必先利其器。那么先让我们看看我们的手里都有些什么武器。
包过滤网关
数据包过滤器是最廉价但却很有用的防火墙网关。这是因为:只使用一个路由器连接到互联网上,而无需额外的费用,所提供的保护对于一些小型企业而言已经足够了。数据包过滤的工作方法是通过基于数据包的源地址、目的地址或端口来进行投递的。一般来说,不保持前后连接信息,过滤的决定也是根据当前数据包的内容来定。根据企业中所用的路由器的类型不同,过滤可以在输入时间、输出时间或者两个时间段内进行。管理员可以做一个可接受机器和服务的列表,以及一个不可接受的机器和服务的列表。这样的话,在主机和网络一级,利用数据包过滤的技术很容易实现允许或禁止访问。但是大家要小心哦,如果过分的依赖过滤表,一旦配置不当,很可能将坏家伙放进来。
天下没有免费的晚餐,对于数据包过滤器,虽然很简单很廉价,但是需要付出性能代价。由于路由器串行连接在线路中,往往会成为数据传输的瓶颈。
但是即使有包过滤网关,有时还会有路由器的泄漏。诺亚曾经偶然用Telnet从我的工作站远程登录到外部去。这本来是不应该成功的,但是我却成功了。那么数据包是怎样到达目的地的呢?经过了一系列的实验后,终于发现了这样一个简单的事实:那台机器通过一个以太网端口连接到网关LAN上,另一个路由器也被连接到了网关LAN上。而它的配置并不正确,并向内部发射了一个“缺省”路由项。从而使得那台机器获得了一条通往外部的路径。如果我们对内部网络的寄生缺省路由进行监视,或者我们的监视器不具有通告外部的IP地址,那么这种事情是可以避免的。
应用级网关
在防火墙的设计中,应用级网关代表了相反的极端。它不像包过滤那样拦截所有的信息,而是针对每一个特定的应用都有一个程序,说到这里大家就会发现,它是想在应用层实现防火墙的功能,答对了,这也就是应用级网关名称的由来。应用级网关有一个优点:它可以很方便地记录并控制所有的进/出的通信,如果你是一位有经验的网管的话,一定知道这一点是很重要的。很多公司和企业会限制员工的FTP通信,并控制带宽,很大程度上是基于公司安全的考虑,防止那些有价值的程序和数据被盗。但是,我们知道,这样的防火墙通常都只能防范那些来自于外部的攻击,而对于“卧底”的内鬼就无能为力了,这一点各位同道一定要切记,切记!
电路级网关
这种技术是我们在对外连接时最喜欢采用的一种方式。电路级网关对TCP连接进行中继,对数据包只起到转发的作用。因此,电路级网关只依赖于TCP的连接,而不进行任何的附加包处理或者过滤。在应用级网关中,数据包被提交给用户应用层来处理,网关只用来在两个通信终点之间转接数据包,只是简单的字节拷贝,由于连接看起来似乎源于防火墙,所以隐藏了受保护网络的有关信息(如图2)。这种网关对外就像一个代理,而对内则是一个过滤路由器。一个简单的电路级网关仅传TCP的数据段,而增强的电路级网关还应该具有认证的功能。认证技术在近年来也算是网络安全技术中的明星,不过我们的篇幅有限,只好暂时委屈一下这位明星了。
图2 电路级网关
隧道技术的是是非非
所谓“道高一尺,魔高一丈”,虽然防火墙辛辛苦苦地为我们提供了强有力的保护,但是往往利用隧道技术可以穿透防火墙。所谓隧道技术是指通过将一个协议的报文封装在另一个协议中,并利用第二个协议的设备穿过一些网络节点,到达目的地后,封装被剥离,原报文被重新注入到该网络中。通常这一情况可以被探测到,并通过禁止路由信息来控制。不过,有时候,隧道技术也是一个好同志,例如,它能克服网络的局域性,将两个互相隔开的站点链接起来。