在经历了多次技术变革后,防火墙的概念正在变得模糊,在不同语境中有着不同的含义。
●传统防火墙:采用状态检测机制,支持桥/路由/NAT工作模式,集成IPSec VPN等功能,作用在第2~4层的访问控制设备。
●宏观意义上的防火墙:以性能为主导的、在网络边缘执行多层次的访问控制策略、使用状态检测或深度包检测(DPI)机制、包含一种或多种安全功能的网关设备(Gateway)。
本小节首先介绍传统防火墙的局限性以及面临的攻击威胁,然后介绍一些网络防护新设备,即宏观意义上的一些防火墙产品,如入侵防御系统、统一威胁管理等,以及一些相关技术。
一种错误的认识是,安装了防火墙就万事大吉了。确实,防火墙作为一种访问控制设备,在保护内网安全中起着非常重要的作用。然而传统防火墙由于自身功能设定及采用的技术,具有天然的一些局限性,黑客常能利用这些局限性来绕过防火墙或是攻击防火墙,对内网安全造成威胁。
防火墙具有以下一些典型的局限性。
1)防火墙防外不防内。目前防火墙的安全控制主要作用于外对内或内对外:对外可屏蔽内部网的拓扑结构,封锁外部网上的用户连接内部网上的重要站点或某些端口;对内可屏蔽外部危险站点。但它很难解决内部网以及内部人员的安全问题,即防外不防内。而据IDC(互联网数据中心)统计表明,网络上的安全攻击事件有70%以上来自内部。
2)防火墙的管理及配置比较复杂,易造成安全漏洞。要想成功维护防火墙,就要求防火墙管理员对网络安全攻击的手段及其与系统配置的关系有相当深刻的了解。一般来说,由多个系统(路由器、过滤器、代理服务器、网关、堡垒主机)组成的防火墙,管理上的复杂程序往往使得疏漏不可避免。
3)很难为用户在防火墙内、外提供一致的安全策略。如果防火墙对用户的安全控制主要是基于用户所用机器的IP地址而不是用户身份,这就很难为同一用户在防火墙内、外提供一致的安全控制策略,限制了网络的物理范围。
4)防火墙粗粒度的访问控制带来的维护复杂性。如果防火墙只实现了粗粒度的访问控制,且不能与网络内部使用的其他安全(如访问控制)集中使用,这样就必须为网络内部的身份验证和访问控制管理维护单独的数据库。
5)使用防火墙可能会成为网络的瓶颈。一些研究结果表明,在大量使用分布式应用的环境下设置防火墙是不切实际的,因为防火墙所实施的严格的安全策略使得这样的环境无法正常运转。
6)使用应用代理防火墙时必须不断地设法获得新出现服务的应用代理。为了使用户更方便地使用因特网,就不得不编写或设法获得新访问的应用代理,而且还得重新配置防火墙。
7)防火墙防范病毒的能力有限。防火墙不可能限制所有被计算机病毒感染的软件和文件通过,也不可能杀掉通过它的病毒。虽然现在内容安全的技术可以对经过防火墙的数据内容进行过滤,但是对病毒防范是不现实的,因为病毒的类型太多,隐藏的方式也很多。
8)大量潜在的后门使得防火墙失效。防火墙不能保护那些不经过防火墙的攻击。实际上,在内部网络中存在很多这样的后门。
9)防火墙本身存在漏洞。攻击者首先利用一些专用扫描器对防火墙进行扫描分析,利用它可能存在的漏洞或配置错误来攻击防火墙和受其保护的主机。
一直以来,黑客都在研究攻击防火墙的技术,攻击的手法越来越多样化和智能化。就黑客攻击防火墙的过程来看,一般可以分为针对防火墙的探测攻击和穿透攻击两类。
针对防火墙的探测攻击通过构造各种特殊的数据包对防火墙进行探测。一般可以分为防火墙存在性探测、防火墙类型探测、防火墙规则探测、防火墙后的主机探测。
(1)防火墙存在性探测
例如,使用traceroute命令对目标主机进行跟踪会有两种情况。
●能够得到到达目的主机完整的各跳路由。
●部分路由被过滤掉了。
对于第一种情况,到达目的主机之前的最后一跳是防火墙的可能性很大。
对于第二种情况,因为最后一跳之后的数据都被拦截了,所以可以肯定最后一跳或者是防火墙,或者是路径上阻塞路径跟踪数据包的路由器。
以上的探测不能完全肯定,但是可以通过以下的步骤来进一步判断是否真的是防火墙。
(2)防火墙类型探测
连接防火墙的某些端口会返回一些特殊信息,如序号、旗标等,攻击者可以利用这些特殊信息来猜测防火墙的类型。防火墙的特征标识一般表现在以下3个方面。
●默认监听端口。有的防火墙为了管理控制,会打开默认的端口监听。攻击者对端口的扫描会有针对性和隐蔽性。例如,对ping探测数据包、目的端口、目的地址和源端口进行随机编排,使用欺骗性源主机执行分布式源扫描(使用因特网上的多台计算机,每台只扫描目标的一小部分)等。
●特征序号。某些防火墙有独有的特征序号。
●旗标。旗标是连接防火墙某一端口后得到的特殊的返回信息。当前许多流行的防火墙只要简单地连接它们就会声明自己的存在,这为利用旗标来判断防火墙提供了条件。
(3)防火墙规则探测
探测防火墙的规则就是要知道防火墙允许什么样的数据包通过。一般而言,包过滤防火墙检查的是网络层和传输层头部的相关信息。所以,在进行防火墙规则探测时,要构造各种特殊的数据包,诱使防火墙返回各种可以推测出其规则的信息,从而得知防火墙允许或禁止通过的数据包的IP地址、协议类型、端口号等信息。
(4)防火墙后的主机探测
得到了防火墙的规则后,即已经知道防火墙允许哪些端口的数据通过,因此可以通过这些已知的允许端口去探测被防火墙保护的主机,这样就可以排除不确定的因素,得到确切的结果。目前,主机探测技术可以分为两大类:正常数据包探测和异常数据包探测。
防火墙穿透攻击不是直接攻击防火墙,而是将攻击数据包“伪装”成符合安全策略的数据包,躲过防火墙的检测,在攻击主机和目标主机之间建立直接的联系。相对直接攻击防火墙,穿透攻击的代价小、隐蔽性高。
穿透技术包括IP欺骗、协议隧道和报文分片等。
(1)IP欺骗
IP欺骗技术就是利用虚假的IP地址来填充IP数据包包头中的源地址。一般这个虚假的IP要么是防火墙信任的主机IP,要么是不存在的IP,从而可以躲过防火墙的认证,或者避免攻击者真实IP地址被防火墙记录。
IP欺骗技术即使能使攻击数据包穿透防火墙到达目标主机,但因为目标主机将回应信息发送给了虚假IP地址,攻击主机无法得到目标主机的回应信息,不能和目标系统进行通信,尤其是对于TCP,更是无法完成三次握手过程,建立起连接。因此对于TCP,目前常见的是TCP序列号猜测攻击。
(2)协议隧道
攻击者可以利用协议隧道技术来逃避防火墙的鉴别,穿透防火墙。利用前面已经探测到的防火墙规则,对攻击数据进行伪装,从而构建攻击者和目标主机之间的秘密隧道,穿透防火墙。
(3)报文分片
攻击者通过先发送第一个合法的报文分片,骗过防火墙的检测,接着发送封装了恶意数据的后续分片报文,到达内部网络主机,从而威胁网络和主机的安全。
传统防火墙、入侵检测系统(Intrusion Detection System,IDS)、防病毒(Anti Virus,AV)系统等传统安全防御技术在某种程度上对防止系统非法入侵起到了一定的作用,但这些安全措施自身存在许多局限性,尤其是对网络环境下日新月异的攻击手段缺乏主动防御能力和系统防护能力。
当前,一方面网络攻击技术向隐蔽化、多样化、集成化、纵深化不断发展;另一方面,组织IT业务从向外扩展架构与容器技术到面向集成化混合服务交付环境积极转型。因此,网络安全防护产品,包括防火墙,也应具备集中化管理、分布式执行能力,合适的规模伸缩能力,以及威胁/风险/合规(Threat Risk Compliance,TRC)网络之整合能力。近些年出现了能够与防火墙联动的入侵防御系统、统一威胁管理系统等下一代防火墙产品,以及虚拟防火墙、分布式防火墙等技术。
所谓主动防御能力是指系统不仅要具有入侵检测系统的入侵发现能力和防火墙的静态防御能力,还要有针对当前入侵行为动态调整系统安全策略,阻止入侵和对入侵攻击源进行主动追踪和发现的能力。单独的防火墙技术不能对网络入侵行为实现快速、积极的主动防御。于是能够与防火墙联动的入侵防御系统(Intrusion Prevention System,IPS,也称作Intrusion Detection Prevention,IDP)作为IDS的替代技术诞生了。
IPS是一种主动的、智能的入侵检测、防范、阻止系统,其设计旨在预先对入侵活动和攻击性网络流量进行拦截,避免其造成任何损失,而不是简单地在恶意流量传送时或传送后才发出警报。它部署在网络的进出口处,当它检测到攻击企图后,会自动地将攻击包丢掉或采取措施将攻击源阻断。
统一威胁管理(Unified Threat Management,UTM)是一类集成了常用安全功能的设备,包括传统防火墙、网络入侵检测与防护和网关防病毒等功能,以及其他一些网络安全特性,如VPN、URL过滤和内容过滤。
应当说,UTM和NGFW只是针对不同级别用户的需求,对宏观意义上的防火墙的功能进行了更有针对性的归纳与总结。无论从产品与技术发展角度还是市场角度看,NGFW与IDC定义的UTM一样,都是不同时间情况下对边缘网关集成多种安全业务的阶段性描述,其出发点就是用户需求变化产生的牵引力。
随着虚拟化和云计算的出现,在虚拟化和云计算环境中很多入侵流量并不会路由到外面的物理设备上,而是在物理机内部的虚拟机之间完成。虚拟防火墙的目的是解决网络安全的虚拟化漏洞问题。虚拟防火墙本身为虚拟设备,它复制了物理防火墙的功能,运行在虚拟环境中,可以对通过物理网络的流量应用安全策略,既实现了安全性又不影响虚拟化的灵活性。
虚拟防火墙是在一台物理防火墙上虚拟出多台逻辑上的防火墙,具有各自的管理员,并配置完全不同的安全策略,各台虚拟防火墙的安全策略互不影响。虚拟防火墙与传统防火墙的实现原理不大相同,目前主要是基于虚拟路由实现和基于虚拟机实现。
目前,虚拟防火墙的应用形态主要分为以下两种。
(1)一虚多
在大规模云计算场景下,通常将一台物理设备进行1∶N虚拟化之后提供给不同用户使用。虚拟防火墙同样采用虚拟化的形式将一台物理防火墙进行虚拟分割,为不同业务数据提供相互隔离,能够独立管理、独立审计并独立执行安全策略,同时能够给每个虚拟防火墙分配独立的处理能力。
(2)多虚一
传统网络环境下,防火墙一般采用双机热备技术来提高系统可靠性和负载均衡能力,用以支撑更大的业务规模,而通过这种多台物理设备虚拟成一台更加强大设备的方式,称为N∶1虚拟化(或多虚一)。这种虚拟化方式实现了管理和控制上的统一,让组网部署更加简单,有效利用链路带宽,提高系统的稳定性,大幅减少故障点带来的业务切换冲击。多虚一之后,还可以把集群再次进行一虚多,也就是N∶1∶M的方式,从而提供更多的灵活性和可管理性。
集中式管理与分布式执行可以说是新一代防火墙在如今这个面向微服务架构及向外扩展系统时代下的必然要求。通过以虚拟设备、容器或者嵌入式代理等形式在环境当中添加多个执行点,此类系统能够分发流量过滤任务并实现安全向外扩展。计算与网络资源能够被分配至每个执行点,并根据流量需要贯彻至其保护下的整体环境当中。另外,更多实例的出现也会进一步提高实际要求,例如,需要启动更多应用程序容器或者虚拟机以满足用户对于服务保护的需求。
此类防火墙技术允许用户根据虚拟化或者容器化工作负载执行既定策略,并在虚拟机或者容器往来移动时仍能正常起效。这一点对于新兴私有云环境(或者高强度虚拟化环境)极为重要,同时,亦在负责承载关键性任务工作负载的公有云中得到快速普及。
分发的端点为微细化环境,其凭借着紧密的控制能力被集中起来,从而保证用户及服务能够通过应用程序或者服务组件(随时随地)实现通信。任何不直接存在于该功能内的面向用户层中的对象原则上都会遭到屏蔽,但通信伙伴可设置一组预定义将其作为例外处理。这种细粒度白名单大大提高了对内部横向攻击的抵御能力,从而解决这类立足于受感染系统并干扰其他接入系统之恶意因素带来的困扰。
小结
靠单一的产品往往不能满足不同用户的不同安全需求。信息安全产品的发展趋势是不断地走向融合、走向集中管理。
通过采用协同技术,让网络攻击防御体系更加有效地应对重大网络安全事件,实现多种安全产品的统一管理和协同操作、分析,从而实现对网络攻击行为进行全面、深层次的有效管理,降低安全风险和管理成本,成为网络攻击防护产品发展的一个主要方向。
拓展阅读
读者要想了解更多防火墙相关的原理与技术,可以阅读以下书籍。
[1] 徐慧洋,白杰,卢宏旺. 华为防火墙技术漫谈[M]. 北京:人民邮电出版社,2015.
[2] 苏哈林. Linux防火墙[M]. 4版. 王文烨,译. 北京:人民邮电出版社,2016.
[3] 张艳,俞优,沈亮,等. 防火墙产品原理与应用[M]. 北京:电子工业出版社,2016.
[4] 张艳,沈亮,陆臻,等. 下一代安全隔离与信息交换产品原理与应用[M]. 北京:电子工业出版社,2016.
[5] 武春岭. 信息安全产品配置与应用[M]. 北京:电子工业出版社,2010.
[6] 谢正兰,张杰. 新一代防火墙技术及应用[M]. 西安:西安电子科技大学出版社,2018.
[7] 杨东晓,张锋,熊瑛,等. 防火墙技术及应用[M]. 北京:清华大学出版社,2019.