深入浅出谈防火墙(2)
防火墙的体系结构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服务器,网络地址转换器允许为其分配一个固定的合法地址。外部网络的用户就可通过防火墙来访问内部的服务器。这种技术既缓解了少量的IP地址和大量的主机之间的矛盾,又对外隐藏了内部主机的IP地址,提高了安全性。
6、隔离域名服务器(SplitDomainNameSever)?
这种技术是通过防火墙将受保护网络的域名服务器与外部网的域名服务器隔离,使外部网的域名服务器只能看到防火墙的IP地址,无法了解受保护网络的具体情况,这样可以保证受保护网络的IP地址不被外部网络知悉。?
7、邮件转发技术(Mailforwarding)?
当防火墙采用上面所提到的几种技术使得外部网络只知道防火墙的IP地址和域名时,从外部网络发来的邮件,就只能送到防火墙上。这时防火墙对邮件进行检查,只有当发送邮件的源主机是被允许通过的,防火墙才对邮件的目的地址进行转换,送到内部的邮件服务器,由其进行转发。?
代理服务器像真的墙一样挡在内部用户和外界之间,特别是从外面来的访问者只能看到代理服务器而看不见到任何的内部资源,诸如用户的IP等。而内部客户根本感觉不到它的存在,可以自由访问外部站点。代理可以提供极好的访问控制、登录能力以及地址转换功能,对进出防火墙的信息进行记录,便于管理员监视和管理系统。但代理服务器同时也存在一些不足,特别是它会使网络的访问速度变慢,因为它不允许用户直接访问网络,而代理又要处理入和出的通信量,因此每增加一种新的媒体应用,则必须对代理进行设置。笔者在一套办公应用软件的设计方面,就因为代理服务器的原因折腾了很长时间,结果还是由于设置与容错方面的问题暂时搁浅了。?
8、状态监视器(StatefulInspection):
状态监视器作为防火墙技术其安全特性最佳,它采用了一个在网关上执行网络安全策略的软件引擎,称之为检测模块。检测模块在不影响网络正常工作的前提下,采用抽取相关数据的方法对网络通信的各层实施监测,抽取部分数据,即状态信息,并动态地保存起来作为以后制定安全决策的参考。检测模块支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充。与其它安全方案不同,当用户访问到达网关的操作系统前,状态监视器要抽取有关数据进行分析,结合网络配置和安全规定作出接纳、拒绝、鉴定或给该通信加密等决定。一旦某个访问违反安全规定,安全报警器就会拒绝该访问,并作下记录向系统管理器报告网络状态。状态监视器的另一个优点就是可以监测RemoteProcedureCall和User DatagrqamProtocol类的端口信息。问题当然也有,即状态监视器的配置非常复杂,而且会降低网络的速度。
页:
[1]