深入浅出谈防火墙
随着计算机网络技术的突飞猛进,网络安全的问题已经日益突出地摆在各类用户的面前。仅从笔者掌握的资料表明,目前在互联网上大约有将近20%以上的用户曾经遭受过黑客的困扰。尽管黑客如此猖獗,但网络安全问题至今仍没有能够引起足够的重视,更多的用户认为网络安全问题离自己尚远,这一点从大约有40%以上的用户特别是企业级用户没有安装防火墙(Firewall)便可以窥见一斑,而所有的问题都在向大家证明一个事实,大多数的黑客入侵事件都是由于未能正确安装防火墙而引发的。
防火墙的概念及作用
防火墙的本义原是指古代人们房屋之间修建的那道墙,这道墙可以防止火灾发生的时候蔓延到别的房屋。而这里所说的防火墙当然不是指物理上的防火墙,而是指隔离在本地网络与外界网络之间的一道防御系统,是这一类防范措施的总称。应该说,在互联网上防火墙是一种非常有效的网络安全模型,通过它可以隔离风险区域(即Internet或有一定风险的网络)与安全区域(局域网)的连接,同时不会妨碍人们对风险区域的访问。防火墙可以监控进出网络的通信量,从而完成看似不可能的任务;仅让安全、核准了的信息进入,同时又抵制对企业构成威胁的数据。随着安全性问题上的失误和缺陷越来越普遍,对网络的入侵不仅来自高超的攻击手段,也有可能来自配置上的低级错误或不合适的口令选择。因此,防火墙的作用是防止不希望的、未授权的通信进出被保护的网络,迫使单位强化自己的网络安全政策。一般的防火墙都可以达到以下目的:一是可以限制他人进入内部网络,过滤掉不安全服务和非法用户;二是防止入侵者接近你的防御设施;三是限定用户访问特殊站点;四是为监视Internet安全提供方便。由于防火墙假设了网络边界和服务,因此更适合于相对独立的网络,例如Intranet等种类相对集中的网络。防火墙正在成为控制对网络系统访问的非常流行的方法。事实上,在Internet上的Web网站中,超过三分之一的Web网站都是由某种形式的防火墙加以保护,这是对黑客防范最严,安全性较强的一种方式,任何关键性的服务器,都建议放在防火墙之后。
防火墙的架构与工作方式
防火墙可以使用户的网络划规划更加清晰明了,全面防止跨越权限的数据访问(因为有些人登录后的第一件事就是试图超越权限限制)。如果没有防火墙的话,你可能会接到许许多多类似的报告,比如单位内部的财政报告刚刚被数万个Email邮件炸烂,或者用户的个人主页被人恶意连接向了Playboy,而报告链接上却指定了另一家色情网站......一套完整的防火墙系统通常是由屏蔽路由器和代理服务器组成。屏蔽路由器是一个多端口的IP路由器,它通过对每一个到来的IP包依据组规则进行检查来判断是否对之进行转发。屏蔽路由器从包头取得信息,例如协议号、收发报文的IP地址和端口号、连接标志以至另外一些IP选项,对IP包进行过滤。代理服务器是防火墙中的一个服务器进程,它能够代替网络用户完成特定的TCP/TP功能。一个代理服务器本质上是一个应用层的网关,一个为特定网络应用而连接两个网络的网关。用户就一项TCP/TP应用,比如Telnet或者FTP,同代理服务器打交道,代理服务器要求用户提供其要访问的远程主机名。当用户答复并提供了正确的用户身份及认证信息后,代理服务器连通远程主机,为两个通信点充当中继。整个过程可以对胜户完全透明。用户提供的用户身份及认证信息可用于用户级的认证。最简单的情况是:它只由用户标识和口令构成。但是,如果防火墙是通过Internet可访问的,应推荐用户使用更强的认证机制,例如一次性口令或回应式系统等。?
屏蔽路由器的最大优点就是架构简单且硬件成本较低,而缺点则是建立包过滤规则比较困难,加之屏蔽路由器的管理成本及用户级身份认证的缺乏等。好在路由器生产商们已经认识到并开始着手解决这些问题,他们正在开发编辑包过滤规则的图形用户界面,制订标准的用户级身份认证协议,以提供远程身份认证拨入用户服务(REDIUS)。?
代理服务器的优点在于用户级的身份认证、日志记录和帐号管理。其缺点关系到这样一个事实;要想提供全面的安全保证,就要对每一项服务都建立对应的应用层网关。这个事实严重地限制了新应用的采纲。?
屏蔽路由器和代理服务器通常组合在一起构成混合系统,其中屏蔽路由器主要用来防止IP欺骗攻击。目前采用最广泛的配置是Dualhomed防火墙、被屏蔽主机型防火墙以及被屏蔽子网型防火墙。?
通常架设防火墙需要数千甚至上万美元的投入,而且防火墙需要运行于一***立的计算机上,因此只用一台计算机连入互联网的用户是不必要架设防火墙的,况且这样做即使从成本方面讲也太不划算。目前观之,防火墙的重点还是用来保护由许多台计算机组成的大型网络,这也是黑客高手们真正感兴趣的地方。防火墙可以是非常简单的过滤器,也可能是精心配置的网关,但它们的原理是一样,都是监测并过滤所有通向外部网和从外部网传来的信息,防火墙保护着内部敏感的数据不被偷窃和破坏,并记下来通讯发生的时间和操作等等,新一代的防火墙甚至可以阻止内部人员故意将敏感数据传输到外界。当用户将单位内部的局部网连入互联网时,大家肯定不愿意让全世界的人随意翻阅你单位内部人员的工资单、各种文件资料或者是数据库,但即使在单位内部也存在数据攻击的可能性。例如一些心怀叵测的电脑高手可能会修改工资表和财务报告。而通过设置防火墙后,管理员就可以限定单位内部员工使用Email、浏览WWW以及文件传输,但不允许外界任意访问单位内部的计算机,同时管理员也可以禁止单位中不同部门之间互相访问。将局部网络放置防火墙之后可以阻止来自外界的攻击。而防火墙通常是运行在一台单独的计算机之上的一个特别的软件,它可以识别并屏蔽非法的请求。例如一台WWW代理服务器,所有的请求都间接地由代理服务器处理,这台服务器不同于普通的代理服务器,它不会直接地处理请求,它会验证请求发出者的身份、请求的目的地和请求内容。如果一切符合要求的话,这个请求会被批准送到真正的WWW服务器上。当真正的WWW服务器处理完这个请求后并不会直接把结果发送给请求者,它会把结果送到代理服务器,代理服务器会按照事先的规定检查这个结果是否违反了安全规定,当这一切都通过后,返回结果才会真正地送到请求者的手里。
防火墙的体系结构
1、屏蔽路由器(ScreeningRouter)?
屏蔽路由器可以由厂家专门生产的路由器实现,也可以用主机来实现。屏蔽路由器作为内外连接的惟一通道,要求所有的报文都必须在此通过检查。路由器上可以安装基于IP层的报文过滤软件,实现报文过滤功能。许多路由器本身带有报文过滤配置选项,但一般比较简单。单纯由屏蔽路由器构成的防火墙的危险包括路由器本身及路由器允许访问的主机。屏蔽路由器的缺点是一旦被攻隐后很难发现,而且不能识别不同的用户。?
2、双穴主机网关(DualHomedGateway)?
双穴主机网关是用一台装有两块网卡的堡垒主机的做防火墙。两块网卡各自与受保护网和外部网相连。堡垒主机上运行着防火墙软件,可以转发应用程序,提供服务等。与屏蔽路由器相比,双穴主机网关堡垒主机的系统软件可用于维护护系统日志、硬件拷贝日志或远程日志。但弱点也比较突出,一旦黑客侵入堡垒主机并使其只具有路由功能,任何网上用户均可以随便访问内部网。
3、被屏蔽主机网关(ScreenedGatewy)
屏蔽主机网关易于实现也最为安全。一个堡垒主机安装在内部网络上,通常在路由器上设立过滤规则,并使这个堡垒主机成为从外部网络惟一可直接到达的主机,这确保了内部网络不受未被授权的外部用户的攻击。如果受保护网是一个虚拟扩展的本地网,即没有子网和路由器,那么内部网的变化不影响堡垒主机和屏蔽路由器的配置。危险带限制在堡垒主机和屏蔽路由器。网关的基本控制策略由安装在上面的软件决定。如果攻击者没法登录到它上面,内网中的其余主机就会受到很大威胁。这与双穴主机网关受攻击时的情形差不多。
4、被屏蔽子网(ScreenedSubnet)
被屏蔽子网就是在内部网络和外部网络之间建立一个被隔离的子网,用两台分组过滤路由器将这一子网分别与内部网络和外部网络分开。在很多实现中,两个分组过滤路由器放在子网的两端,在子网内构成一个DNS,内部网络和外部网络均可访问被屏蔽子网,但禁止它们穿过被屏蔽子网通信。有的屏蔽子网中还设有一堡垒主机作为惟一可访问点,支持终端交互或作为应用网关代理。这种配置的危险仅包括堡垒主机、子网主机及所有连接内网、外网和屏蔽子网的路由器。如果攻击者试图完全破坏防火墙,他必须重新配置连接三个网的路由器,既不切断连接又不要把自己锁在外面,同时又不使自己被发现,这样也还是可能的。但若禁止网络访问路由器或只允许内网中的某些主机访问它,则攻击会变得很困难。在这种情况下,攻击者得先侵入堡垒主机,然后进入内网主机,再返回来破坏屏蔽路由器,并且整个过程中不能引发警报。
防火墙的基本类型
如今市场上的防火墙林林总总,形式多样。有以软件形式运行在普通计算机之上的,也有以固件形式设计在路由器之中的。总的来说可以分为三种:包过滤防火墙、代理服务器和状态监视器。
包过滤防火墙(IPFiltingFirewall):
包过滤(PacketFilter)是在网络层中对数据包实施有选择的通过,依据系统事先设定好的过滤逻辑,检查数据据流中的每个数据包,根据数据包的源地址、目标地址、以及包所使用端口确定是否允许该类数据包通过。在互联网这样的信息包交换网络上,所有往来的信息都被分割成许许多多一定长度的信息包,包中包括发送者的IP地址和接收者的IP地址。当这些包被送上互联网时,路由器会读取接收者的IP并选择一条物理上的线路发送出去,信息包可能以不同的路线抵达目的地,当所有的包抵达后会在目的地重新组装还原。包过滤式的防火墙会检查所有通过信息包里的IP地址,并按照系统管理员所给定的过滤规则过滤信息包。如果防火墙设定某一IP为危险的话,从这个地址而来的所有信息都会被防火墙屏蔽掉。这种防火墙的用法很多,比如国家有关部门可以通过包过滤防火墙来禁止国内用户去访问那些违反我国有关规定或者"有问题"的国外站点,例如www.playboy.com、www.cnn.com等等。包过滤路由器的最大的优点就是它对于用户来说是透明的,也就是说不需要用户名和密码来登录。这种防火墙速度快而且易于维护,通常做为第一道防线。包过滤路由器的弊端也是很明显的,通常它没有用户的使用记录,这样我们就不能从访问记录中发现黑客的攻击记录。而攻击一个单纯的包过滤式的防炎墙对黑客来说是比较容易的,他们在这一方面已经积了大量的经验。"信息包冲击"是黑客比较常用的一种攻击手段,黑客们对包过滤式防火墙发出一系列信息包,不过这些包中的IP地址已经被替换掉了(FakeIP),取而代之的是一串顺序的IP地址。一旦有一个包通过了防火墙,黑客便可以用这个IP地十来伪装他们发出的信息。在另一些情况下黑客们使用一种他们自己编制的路由器攻击程序,这种程序使用路由器协议(RoutingInformationProtcol)来发送伪造的路由信息,这样所有的包都会被重新路由到一个入侵者所指定的特别地址。对付这种路由器的另一种技术被称之为"同步淹没",这实际上是一种网络炸弹。攻击者向被攻击的计算机发出许许多多个虚假的"同步请求"信号包,当服务器响应了这种信号包后会等待请求发出者的回答,而攻击者不做任何的响应。如果服务器在45秒钟里没有收到反应信号的话就会取消掉这次请求。但是当服务器在处理成知上万个虚假请求时,它便没有时间来处理正常的用户请求,处于这种攻击下的服务器和死锁没什么两样。此种防火墙的缺点是很明显的,通常它没有用户的使用记录,这样我们就不能从访问记录中发现黑客的攻击记录。此外,配置繁琐也是包过滤防火墙的一个缺点。它阻挡别人进入内部网络,但也不告诉你何人进入你的系统,或者何人从内部进入网际网路。它可以阻止外部对私有网络的访问,却不能记录内部的访问。包过滤另一个关键的弱点就是不能在用户级别上进行过滤,即不能鉴别不同的用户和防止IP地址盗用。包过滤型防火墙是某种意义上的绝对安全的系统。
代理服务器(ProxyServer):
代理服务器通常也称作应用级防火墙。包过滤防火墙可以按照IP地址来禁止未授权者的访问。但是它不适合单位用来控制内部人员访问外界的网络,对于这样的企业来说应用级防火墙是更好的选择。所谓代理服务,即防火墙内外的计算机系统应用层的链接是在两个终止于代理服务的链接来实现的,这样便成功地实现了防火墙内外计算机系统的隔离。代理服务是设置在Internet防火墙网关上的应用,是在网管员允许下或拒绝的特定的应用程度或者特定服务,同时,还可应用于实施较强的数据流监控、过滤、记录和报告等功能。一般情况下可应用于特定的互联网服务,如超文本传输(HTTP)、远程文件传输(FTP)等。代理服务器通常拥有高速缓存,缓存中存有用户经常访问站点的内容,在下一个用户要访问同样的站点时,服务器就用不着重复地去抓同样的内容,既节约了时间也节约了网络资源。?
下面笔者向网友们简单介绍几种代理服务器的设计实现方式:
1、应用代理服务器(ApplicationGatewayProxy)?
应用代理服务器可以在网络应用层提供授权检查及代理服务。当外部某台主机试图访问(如Telnet)受保护网时,它必须先在防火墙上经过身份认证。通过身份认证后,防火墙运行一个专门为Telnet设计的程序,把外部主机与内部主机连接。在这个过程中,防火墙可以限制用户访问的主机、访问的时间及访问的方式。同样,受保护网络内部用户访问外部网时也需先登录到防火墙上,通过验证后才可使用Telnet或FTP等有效命令。应用网关代理的优点是既可以隐藏内部IP地址,也可以给单个用户授权,即使攻击者盗用了一个合法的IP地址。他也通不过严格的身份认证。因特网关比报文过滤具有更高的安全性。但是这种认证使得应用网关不透明,用户每次连接都要受到"盘问",这给用户带来许多不便。而且这种代理技术需要为每个应用网关写专门的程序。?
2、回路级代理服务器?
回路级代理服务器也称一般代理服务器,它适用于多个协议,但无法解释应用协议,需要通过其他方式来获得信息。所以,回路级代理服务器通常要求修改过的用户程序。其中,套接字服务器(SocketsServer)就是回路级代理服务器。套接字(Sockets)是一种网络应用层的国际标准。当受保护网络客户机需要与外部网交互信息时,在防火墙上的套接字服务器检查客户的UserID、IP源地址和IP目的地址,经过确认后,套服务器才与外部的段服务器建立连接。对用户来说,受保护网与外部网的信息交换是透明的,感觉不到防火墙的存在,那是因为因特网络用户不需要登录到防火墙上。但是客户端的应用软件必须支持"SocketsifideAPI"受保护网络用户访问公共网所使用的IP地址也都是防火墙的IP地址。?
3、代管服务器?
代管服务器技术换言之就是把不安全的服务,诸如FTP、Telnet等放到防火墙上,使它同时充当服务器,对外部的请求作出回答。与应用层代理实现相比,代管服务器技术不必为每种服务专门写程序。而且,受保护网内部用户想对外部网访问时,也需先登录到防火墙上,再向外提出请求,这样从外部网向内就只能看到防火墙,从而隐藏了内部地址,提高了安全性。?
4、IP通道(IPTunnels)?
如果某公司下属的两个子公司相隔较远,通过Internet进行通信时,可以采用IPTunnels来防止Internet上的黑客截取信息,从而在Internet上形成一个虚构的企业网。
5、网地址转换器(NetworkAddressTranslate)
当受保护网连到Internet上时,受保护网用户若要访问Internet,必须使用一个合法的IP地址。但由于合法InternetIP地址有限,而且受保护网络往往有自己的一套IP地址规划。网络地址转换器就是在防火墙上装一个合法IP地址集。当内部某一用户要访问Internet时,防火墙态地从地址集中选一个未分配的地址分配给该用户,该用户即可使用这个合法地址进行通信。同时,对于内部的某些服务器如Web服务器,网络地址转换器允许为其分配6、隔离域名服务器(SplitDomainNameSever)?
这种技术是通过防火墙将受保护网络的域名服务器与外部网的域名服务器隔离,使外部网的域名服务器只能看到防火墙的IP地址,无法了解受保护网络的具体情况,这样可以保证受保护网络的IP地址不被外部网络知悉。?
7、邮件转发技术(Mailforwarding)?
当防火墙采用上面所提到的几种技术使得外部网络只知道防火墙的IP地址和域名时,从外部网络发来的邮件,就只能送到防火墙上。这时防火墙对邮件进行检查,只有当发送邮件的源主机是被允许通过的,防火墙才对邮件的目的地址进行转换,送到内部的邮件服务器,由其进行转发。?
代理服务器像真的墙一样挡在内部用户和外界之间,特别是从外面来的访问者只能看到代理服务器而看不见到任何的内部资源,诸如用户的IP等。而内部客户根本感觉不到它的存在,可以自由访问外部站点。代理可以提供极好的访问控制、登录能力以及地址转换功能,对进出防火墙的信息进行记录,便于管理员监视和管理系统。但代理服务器同时也存在一些不足,特别是它会使网络的访问速度变慢,因为它不允许用户直接访问网络,而代理又要处理入和出的通信量,因此每增加一种新的媒体应用,则必须对代理进行设置。笔者在一套办公应用软件的设计方面,就因为代理服务器的原因折腾了很长时间,结果还是由于设置与容错方面的问题暂时搁浅了。?
状态监视器(StatefulInspection):
状态监视器作为防火墙技术其安全特性最佳,它采用了一个在网关上执行网络安全策略的软件引擎,称之为检测模块。检测模块在不影响网络正常工作的前提下,采用抽取相关数据的方法对网络通信的各层实施监测,抽取部分数据,即状态信息,并动态地保存起来作为以后制定安全决策的参考。检测模块支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充。与其它安全方案不同,当用户访问到达网关的操作系统前,状态监视器要抽取有关数据进行分析,结合网络配置和安全规定作出接纳、拒绝、鉴定或给该通信加密等决定。一旦某个访问违反安全规定,安全报警器就会拒绝该访问,并作下记录向系统管理器报告网络状态。状态监视器的另一个优点就是可以监测RemoteProcedureCall和User DatagrqamProtocol类的端口信息。问题当然也有,即状态监视器的配置非常复杂,而且会降低网络的速度。
目前防火墙已经在Internet上得到了广泛的应用,而且由于防火墙不限于TCP/IP协议的特点,也使其逐步在Internet之外更具生命力。客观的讲,防火墙并不是解决网络安全问题的万能药方,而只是网络安全政策和策略中的一个组成部分,但了解防火墙技术并学会在实际操作中应用防火墙技术,相信会在新世纪的网络生活中让每一位网友都受益菲浅。一个固定的合法地址。外部网络的用户就可通过防火墙来访问内部的服务器。这种技术既缓解了少量的IP地址和大量的主机之间的矛盾,又对外隐藏了内部主机的IP地址,提高了安全性。
评论
查看更多