全面分析防火墙及防火墙的渗透 (防火墙现状)
编辑:rootadmin
(一)防火墙介绍 防火墙是一种功能,它使得内部网络和外部网络或Internet互相隔离,以此来保护内部网络或主机。简单的防火墙可以由Router,3LayerSwitch的ACL(accesscontrollist)来充当,也可以用一台主机,甚至是一个子网来实现。复杂的可以购买专门的硬件防火墙或软件防火墙来实现。 防火墙的功能有: 1、过滤掉不安全服务和非法用户 2、控制对特殊站点的访问 3、提供监视Internet安全和预警的方便端点 防火墙并不是万能的,也有很多防火墙*为力的地方: 1、防火墙防不住绕过防火墙的攻击。比如,防火墙不*从内部网络到外部网络的连接,那么,一些内部用户可能形成一个直接通往Internet的连接,从而绕过防火墙,造成一个潜在的backdoor.恶意的外部用户直接连接到内部用户的机器上,以这个内部用户的机器为跳板,发起绕过防火墙的不受*的攻击。 2、防火墙不是防毒墙,不能*带*的数据在网络之间传播。 3、防火墙对数据驱动式攻击也*为力。 因此,我们不能过分依赖防火墙。网络的安全是一个整体,并不是有某一样特别出色的配置。网络安全遵循的是“木桶原则”。 一般防火墙具备以下特点: 1、广泛的服务支持:通过将动态的、应用层的过滤能力和认证相结合,可实现WWW浏览器、HTTP服务器、FTP等; 2、对私有数据的加密支持:保证通过Internet进行虚拟私人网络和商务活动不受损坏; 3、客户端认证只允许指定的用户访问内部网络或选择服务:企业本地网与分支机构、商业伙伴和移动用户间安全通信的附加部分; 4、反欺骗:欺骗是从外部获取网络访问权的常用手段,它使数据包好似来自网络内部。防火墙能监视这样的数据包并能扔掉它们; 5、C/S模式和跨平台支持:能使运行在一平台的管理模块控制运行在另一平台的监视模块。 让我们来看看传统的防火墙工作原理及优缺点: 1.(传统的)*滤防火墙的工作原理 *滤是在IP层实现的,因此,它可以只用路由器完成。*滤根据包的源IP*、目的IP*、源端口、目的端口及包传递方向等报头信息来判断是否允许包通过。过滤用户定义的内容,如IP*。其工作原理是*在网络层检查数据包,与应用层无关,*滤器的应用非常广泛,因为CPU用来处理*滤的时间可以忽略不计。而且这种防护措施对用户透明,合法用户在进出网络时,根本感觉不到它的存在,使用起来很方便。这样*就具有很好的传输性能,易扩展。但是这种防火墙不太安全,因为*对应用层信息无感知——也就是说,它们不理解通信的内容,不能在用户级别上进行过滤,即不能识别不同的用户和防止IP*的盗用。如果攻击者把自己主机的IP*设成一个合法主机的IP*,就可以很轻易地通过*滤器,这样更容易被黑客攻破。基于这种工作机制,*滤防火墙有以下*: 通信信息:*滤防火墙只能访问部分数据包的头信息; 通信和应用状态信息:*滤防火墙是无状态的,所以它不可能保存来自于通信和应用的状态信息; 信息处理:*滤防火墙处理信息的能力是有限的。 比如针对微软I*漏洞的Unicode攻击,因为这种攻击是走的防火墙所允许的端口,而*滤的防火墙无法对数据包内容进行核查,因此此时防火墙等同于虚设,未打相应patch的提供web服务的*,即使在防火墙的屏障之后,也会被攻击者轻松拿下超级用户的权限。 *滤防火墙的缺点和不足,可以在应用层解决。下面我们来看看应用层*。 2.应用* 1、应用代理服务器(ApplicationGatewayProxy) 在网络应用层提供授权检查及代理服务。当外部某台主机试图访问受保护网络时,必须先在防火墙上经过身份认证。通过身份认证后,防火墙运行一个专门为该网络设计的程序,把外部主机与内部主机连接。在这个过程中,防火墙可以*用户访问的主机、访问时间及访问的方式。同样,受保护网络内部用户访问外部网时也需先登录到防火墙上,通过验证后,才可访问。 应用*代理的优点是既可以隐藏内部IP*,也可以给单个用户授权,即使攻击者盗用了一个合法的IP*,也通不过严格的身份认证。因此应用*比报文过滤具有更高的安全性。但是这种认证使得应用*不透明,用户每次连接都要受到认证,这给用户带来许多不便。这种代理技术需要为每个应用写专门的程序。 2、回路级代理服务器 即通常意义的代理服务器,它适用于多个协议,但不能解释应用协议,需要通过其他方式来获得信息,所以,回路级代理服务器通常要求修改过的用户程序。 套接字服务器(SocketsServer)就是回路级代理服务器。套接字(Sockets)是一种网络应用层的国际标准。当受保护网络客户机需要与外部网交互信息时,在防火墙上的套服务器检查客户的UserID、IP源*和IP目的*,经过确认后,套服务器才与外部的服务器建立连接。对用户来说,受保护网与外部网的信息交换是透明的,感觉不到防火墙的存在,那是因为网络用户不需要登录到防火墙上。但是客户端的应用软件必须支持“SocketsifiedAPI”,受保护网络用户访问公共网所使用的IP*也都是防火墙的IP*。 3、代管服务器 代管服务器技术是把不安全的服务如FTP、Telnet等放到防火墙上,使它同时充当服务器,对外部的请求作出回答。与应用层代理实现相比,代管服务器技术不必为每种服务专门写程序。而且,受保护网内部用户想对外部网访问时,也需先登录到防火墙上,再向外提出请求,这样从外部网向内就只能看到防火墙,从而隐藏了内部*,提高了安全性。 4、IP通道(IPTunnels) 如果一个大公司的两个子公司相隔较远,通过Internet通信。这种情况下,可以采用IPTunnels来防止Internet上的黑客截取信息,从而在Internet上形成一个虚拟的企业网。 5、网络*转换器(NATNetworkAddressTranslate) 当受保护网连到Internet上时,受保护网用户若要访问Internet,必须使用一个合法的IP*。但由于合法InternetIP*有限,而且受保护网络往往有自己的一套IP*规划(非正式IP*)。网络*转换器就是在防火墙上装一个合法IP*集。当内部某一用户要访问Internet时,防火墙动态地从*集中选一个未分配的*分配给该用户,该用户即可使用这个合法*进行通信。同时,对于内部的某些服务器如Web服务器,网络*转换器允许为其分配一个固定的合法*。外部网络的用户就可通过防火墙来访问内部的服务器。这种技术既缓解了少量的IP*和大量的主机之间的矛盾,又对外隐藏了内部主机的IP*,提高了安全性。 6、隔离*器(SplitDomainNameServer) 这种技术是通过防火墙将受保护网络的*器与外部网的*器隔离,使外部网的*器只能看到防火墙的IP*,无法了解受保护网络的具体情况,这样可以保证受保护网络的IP*不被外部网络知悉。 7、邮件技术(MailForwarding) 当防火墙采用上面所提到的几种技术使得外部网络只知道防火墙的IP*和域名时,从外部网络发来的邮件,就只能送到防火墙上。这时防火墙对邮件进行检查,只有当发送邮件的源主机是被允许通过的,防火墙才对邮件的目的*进行转换,送到内部的邮件服务器,由其进行转发。 应用*是检查所有应用层的信息包,并将检查的内容信息放入决策过程,这样安全性有所提高。然而,它们是通过打破客户机/服务器模式实现的,每一个客户机/服务器通信需要两个连接:一个是从客户端到防火墙,另一个是从防火墙到服务器。另外,每一个代理需要一个不同的应用进程,或一个后台运行的服务程序,这样如果有一个新的应用就必须添加对此应用的服务程序,否则不能使用该种服务,可伸缩性差。基于这种工作机制,应用*防火墙有以下*: 连接*:每一个服务需要自己的代理,所以可提供的服务数和伸缩性受到*; 技术*:应用*不能为UDP、RPC及普通协议族的其他服务提供代理; 性能:实现应用*防火墙牺牲了一些*性能。 防火墙的体系结构及组合形式 1、*路由器(ScreeningRouter) 这是防火墙最基本的构件。它可以由厂家专门生产的路由器实现,也可以用主机来实现。*路由器作为内外连接的唯一通道,要求所有的报文都必须在此通过检查。路由器上可以装基于IP层的报文过滤软件,实现报文过滤功能。许多路由器本身带有报文过滤配置选项,但一般比较简单。 单纯由*路由器构成的防火墙的危险带包括路由器本身及路由器允许访问的主机。它的缺点是一旦被攻陷后很难发现,而且不能识别不同的用户。 2、双宿主机*(DualHomedGateway) 任何拥有多个接口卡的*都被称为多宿的,双宿主机*是用一台装有两块网卡的主机做防火墙。两块网卡各自与受保护网和外部网相连。主机上运行着防火墙软件,可以转发应用程序,提供服务等。 双宿主机*优于*路由器的地方是:堡垒主机的*软件可用于维护*日志、硬件拷贝日志或远程日志。这对于日后的检查很有用。但这不能帮助网络管理者确认内网中哪些主机可能已被黑客入侵。