作为一个防火墙管理员,你可能主要考虑的是如何控制外部用户访问你的内部网络和内部网络中用户访问外部网络,你花了大量的时间来配置防火墙策略,让用户只能访问你想让他们访问的、连接到你想让他们连接到的服务器、下载你允许他们下载的内容,并且只是你在想让他们进行访问的时间内进行访问。
访问控制是防火墙的实质,也是最重要的东西。如果你没有访问控制,你将不会有任何控制的权力。你必须具有允许或拒绝VPN连接、允许或拒绝远程桌面连接、允许或拒绝访问Web服务器、允许或拒绝传输文件的能力等等。你同样需要控制用户/用户组的权力,这样可以只是让你允许的用户进行访问。
你的防火墙具有增强你的访问控制的能力,因为它具有全部通过它建立连接的信息。ISA防火墙可以识别网络层、传输层和应用层的信息,然后基于你创建的防火墙策略来允许或者拒绝他们;但是常规的硬件防火墙只是可以识别网络层和传输层的信息,不能对应用层的信息进行识别。
SSL隧道的威胁
但是,当你的防火墙遇到加密的通信时,它们会怎么样呢?我们以远程客户访问内部网络中的OWA站点为例:一个常规的硬件防火墙(如PIX或者Netscreen),接受到一个进入TCP端口443的连接,此硬件防火墙上的一个ACL允许进入的连接,然后将其转发到内部网络中的OWA站点。
发起远程访问的OWA客户端和OWA站点之间协商建立一个加密的SSL连接。此时,通过硬件防火墙的所有数据现在都是加密的,硬件防火墙不能监视到SSL隧道中的内容。
当OWA上的黑客或者蠕虫病毒通过加密的SSL隧道对OWA服务器执行注入攻击时,常规的状态过滤硬件防火墙将不会阻止,只是认为“这是一个访问内部OWA服务器的SSL连接,我已经允许了它,祝它好运”。呵呵,接下来,你可能需要花一个星期的时间来修复你的Exchange服务。
这明显的不是好的安全情况,但是事实上确实如此。在这种情况下,你失去了对访问的控制,因为你的访问策略对加密隧道的内容无效,你的硬件防火墙无法控制进入的加密连接的内容。
任何人都可以使用HTTP(S)隧道
可能OWA的例子让你很担心,但是实际情况比你想像的还要严重。许多程序设计人员都使用HTTP隧道来封装他们的程序,使他们的程序可以突破“限制性防火墙”的限制。所谓“限制性的防火墙”,就是只允许HTTP或者HTTPS出入。为了突破这个限制,他们将他们的程序使用的协议配置为使用HTTP头。只要他们使用了HTTP头,允许了HTTP/HTTPS的防火墙就会允许他们出入。
这些程序有很多,例如包含RPC over HTTP(S)的非Web应用程序HTTP隧道、GoToMyPC程序和大量明显设计为暗中破坏防火墙策略的HTTP隧道程序(可以用GOOGLE搜索一下,http://www.google.com/search?hl=en&ie=UTF-8&q=HTTP+tunnel)。称之为“SSL VPNs”的程序也属于同类,它们同样可以使用加密的SSL隧道来越过防火墙的安全策略。所有的这些应用程序,无论它们使用设计为增强活动性,如RPC over HTTP或者暗中破坏防火墙策略(使用SSL隧道的木马等),都具有共同的特性:为了达到越过防火墙的控制和安全性的目的,将本身的应用协议隐藏在加密的SSL隧道之中。
就算对于没有加密的HTTP隧道应用程序,在阻止它们使用出站的TCP 80通道时,常规的状态过滤硬件防火墙都是无助的。与之对比的是,ISA防火墙的HTTP安全过滤器可以检查HTTP头的信息,然后阻止HTTP隧道连接。这是ISA防火墙对于网络保护的一个主要安全性增强。
ISA防火墙解决了隐藏SSL加密注入的问题
在常规的状态过滤硬件防火墙不能识别SSL隧道的内容,因此不能阻止隐藏在SSL隧道中的应用协议时,ISA防火墙却具有这种能力。ISA防火墙作为第三代的状态过滤和应用层识别防火墙,比简单的包过滤防火墙具有更高级别的应用层安全特性。ISA防火墙可以中断SSL连接,对SSL连接的内容进行检查,然后对SSL的会话重新进行加密,然后转发这个连接到内部网络中对应的SSL站点中。
在远程客户访问内部网络的OWA站点的例子中,我们看到常规的状态过滤硬件防火墙对注入攻击进行了允许。对于我个人来说,如果采用的是常规的状态过滤硬件防火墙,我绝不会允许远程客户访问内部网络中的任何资源。我个人意见是在防火墙不能对发布的OWA站点进行SSL隧道注入的保护时,我将不会使用OWA发布。
与常规的状态过滤硬件防火墙对比的是,当ISA防火墙从远程OWA客户接受远程访问连接时,它将解密SSL隧道的通信,然后对数据包的内容执行应用层状态识别。这由HTTP安全过滤器执行,它可以阻止许多HTTP注入攻击(如病毒、蠕虫和混合的攻击)和允许你阻止SSL通信中未经过你同意的应用层协议。如果ISA防火墙从数据包中发现了可疑的或者危险的信息,那么连接将被丢弃。如果连接是干净的和无害的,那么ISA防火墙将数据重新加密,然后在它自己和内部网络中的目的OWA服务器间建立第二个SSL连接,再将SSL数据包转发给内部的OWA服务器。
注意:OWA在此只是作为举例,任何安全Web服务器(HTTPS)都是可以保护的。
很清楚的,ISA防火墙比传统的常规状态过滤硬件防火墙提供了更高级别的安全保护。现在大部分攻击都是基于应用层的,针对网络中的常见的服务或者服务器进行。ISA防火墙作为第三代防火墙,它独一无二的设计,使它成为现代的应用程序安全识别过滤的旗手,具有通用的对于安全威胁的保护能力。
我们仍然受到出站SSL连接的威胁
尽管ISA防火墙具有那么多的优点,也不是说ISA防火墙的管理员生活就是完美的。尽管ISA防火墙对进入的SSL连接提供了应用层过滤识别保护,但是我们仍然担心从内部网络中到Internet站点的SSL隧道连接。在这种情况中,ISA防火墙和常规状态过滤硬件防火墙提供同等级别的保护。
ISA防火墙执行入站的SSL桥接和应用层状态识别,但是它不执行出站的SSL桥接。不过,当ISA防火墙开发团队发布出站的SSL桥接的解决方案时,你就可以阻止内部用户在加密的出站SSL连接中隐藏应用程序,这样就是一个完整的SSL隧道安全解决方案了。
后记
最后,我想再提醒大家,提防“SSL VPNs”,其他任何程序都可以在SSL加密连接中隐藏它们的本质。强烈建议你在内部用户需要访问出站的SSL站点时,严格限制能够访问SSL站点的用户/组,并且使用明确的域名来限制用户可以使用SSL连接到的站点。绝不要允许使用“All Open”来允许用户使用SSL协议访问所有站点,否则,用户可以通过SSL隧道来使用所有协议,而不仅仅是HTTPS,这可能是你不想看到的。