下一代防火墙俨然已经成为时下安全行业最为火热的安全产品,且业内也有厂商为迎合市场推出了形色各异的下一代防火墙产品,然而对于众多的安全从业人员及用户网络管理人员来说,他们的关注点可能不仅仅是一个个光鲜的概念,而更希望能够从技术层面深入理解下一代防火墙。因此,笔者希望通过本文来帮助大家全面深入地认识下一代防火墙。
统一策略框架
何为统一策略框架?简单来说就是整体考虑系统各模块与安全策略之间的逻辑关系,通过同一套安全策略将处于不同层级的安全模块有效的整合在一起,在策略匹配顺序及层次上实现系统智能匹配。相对来说,传统的安全产品由于模块之间的依赖关系不明确,用户必须理解这些模块间的层级依赖关系,分别做出正确的配置才能发挥最佳的效果,对使用者的要求较高。
因此,下一代防火墙的统一策略框架彻底解决了传统的安全产品多种安全模块之间的冗余及效率低下的问题。
那么统一策略框架到底是如何运转的呢,从上图可以看出,数据流入下一代防火墙之后,大抵会经过三个阶段:
a) 初始数据包筛选阶段
当初始数据包进入统一策略系统后,系统首先会根据传统五元组信息对数据流进行初始分类,然后进行第一次策略匹配。如果发现安全策略为禁止,则该处理流程结束,后续处理过程也不会进行,如果策略显示为非禁止,则执行后续处理流程。
b) 应用分类及筛选阶段
数据流经过初始筛选过后,统一策略框架的应用分类系统会对其进行更加细粒度的区分,形成三种不同的应用类型:已知的非加密应用,加密应用及未知应用。
对于已知的非加密应用,会直接对其进行识别和筛选处理。
对于加密应用来说,统一策略框架需要配置对应的解密策略,如果配置了解密策略,则系统自身的解密引擎会启动,并且根据类似代理的方式对该应用执行解密,同时将解密的应用纳入至已知应用分类中。
对于某些未知应用来说,可以通过数据包抓包,日志捕获等形式将原始数据信息提交至相关的应用签名分析及处理系统中(也可能是应用签名团队),通过该处理系统执行一系列分析及处理流程,形成新的应用签名更新至应用签名库内。
对于经过上述分类的应用程序,统一策略框架系统会对上述应用进行筛选,此时可以执行的操作可以包括如下:
禁止或者允许某一种或者某一类应用。
允许使用某类应用,但是禁止该类应用的某些动作,如:允许用户使用QQ,但是禁止该用户使用QQ进行视频聊天及文件共享。
有限制的允许,如仅允许某类应用在某特定时间段内被某类用户或者用户组访问。如:仅允许财务人员在周一至周五时间段内访问公司财务数据库。
c) 安全控制阶段
对于经过初步的数据包筛选及精细化的应用程序分类筛选以后,随后会进入安全控制阶段,此阶段可以通过多种多样的安全策略对该目标应用程序执行相关动作。比如上述提到MSN应用,对于MSN应用来说,经过应用筛选后,系统已经对大部分MSN应用做了禁止,但是开放了MSN登录及MSN传输文件的功能,那么我们可以对已经允许的该部分功能进行如下动作:
对于MSN的文件传输进行深度内容扫描,并且执行脆弱性扫描,文件病毒扫描,以及恶意软件检测。
对MSN传输的文件进行流量管理,如限制传输文件的流量不大于1Mbps等。
关键组件分析
如果把统一策略框架比如为一辆高速行驶的马车的话,那么如果要保证马车能够始终快速行驶,那么需要具备两个基本条件:一匹好马及一对经久耐用的车轮,那么同样对于统一策略框架来说如果要保证良好的可用性及运转效率,同样也需要两种关键组件作为支撑,即一体化引擎及应用识别技术。
高效率的一体化引擎
一直以来类似统一威胁管理(UTM)的设备在单一盒子上集成多种安全功能,其性能效率一直被外界诟病。主要原因是UTM仅仅是把多种安全引擎叠加在一起,而不是从底层进行重新架构设计,这样做的结果就是数据流会在每个安全引擎分别执行解码,状态复原等操作,从而导致大量消耗系统资源,所以当UTM启动全部功能时,系统性能大幅度降低也不足为奇了。UTM产品的大致数据处理过程如下图:
而下一代防火墙在设计上采用一体化引擎的架构,这种一体化引擎架构可以保证引擎系统在数据流流人时,一次性的完成策略查找,应用程序识别/解码以及 内容扫描(病毒,间谍程序,入侵防御)等工作,同时结合先进的硬件平台,从而实现最高的处理性能及最小的延迟。下一代防火墙的引擎处理过程如下图:
举一个简单的例子:在需要同时开启防火墙,IPS及URL过滤的用户场景下,对于UTM产品来说,数据包处理流程为:数据包先进行链路层及网络层的 拆包,然后做传输层端口检查,最后查找匹配防火墙策略,封包进入IPS引擎,进入IPS引擎后会再做一次数据包链路层/网络层拆包,进入应用协议解码程 序,将应用层解码后将获取到的数据与原有的IPS特征码进行模式匹配,异常行为匹配后,与IPS策略进行匹配,再进行数据包封装,才进入URL分类引擎, 此时又要重新进行数据包拆封,应用层解码等程序,最终提取URL信息做模式匹配,最终再将数据包封装通过URL分类策略做转发。
同样的用户场景,对于下一代防火墙来说,数据包流入以后,下一代防火墙会先进行网络层,应用层等拆包分析,然后分别与一体化策略匹配,如果策略禁止 则直接丢弃,如果允许则进行下一层拆解,然后分别通过IPS策略检查及URL分类过滤策略后,通过执行统一安全策略进行转发及丢弃决策,全部策略执行完毕 后对数据包封包,转发。
很显然,对于上述用户场景,同等硬件条件下,其数据包处理效率远远超过UTM产品。
精准的应用识别
为了能够精确的识别网络中存在的所有应用,一般来说需要具备以下四种应用识别技术,如下图:
签名匹配技术
签名类似于应用程序的指纹系统,主要用来唯一的标识网络数据流中某一类应用程序。无论该应用程序使用了何种协议及外部端口,均可以通过该应用签名对 该类应用程序进行匹配。例如某些知名的应用协议如RDP,由于在某些情况下可能没有采用标准的3389端口,而是采用了其他非标准端口(如:80等),对 于一般的状态防火墙来说,很难对其进行鉴别,而对于基于端口及协议无关的下一代防火墙来说,则可以通过签名匹配的方式对该协议进行识别及策略的控制。
应用协议解密技术
用户网络中充斥着大量的加密应用,对于此类应用,传统的应用识别方式很难对其进行识别,对于下一代防火墙来说,只需要提前导入应用服务器证书中的私 钥信息,当客户端向应用服务器发起加密应用连接时,会被处于中间位置的下一代防火墙截获,同时由于下一代防火墙证书信息已经包含了服务器的私钥,因此可以 对此应用进行解密操作,基本原理如下图:
协议解码技术
在某些应用场景下,应用会以隧道的形式嵌套至某些知名应用协议之内(例如网页版QQ会通过HTTP进行传输)。此时便需要协议解码技术与签名匹配技 术共同配合使用对该类应用进行识别,另外对于某些复杂的流行软件来说,协议解码技术还可以用于识别这些流行应用程序的子应用(如:QQ,MSN等通讯软件 的文件共享功能)。
智能识别技术
对于某些特殊应用来说,通用的签名匹配技术及协议解码技术可能仍然无法对其进行识别,这时候便需要使用智能识别技术或者行为分析技术。比如对于P2P或VoIP类应用来说,智能识别技术会通过数据会话模型,流量信息,源数据包信息,数据包长度等多种方式进行综合判断。
下一代防火墙的统一策略框架与一体化引擎及应用识别技术是一套极为复杂的技术体系,可能很难通过寥寥数语便能把它描述清楚。因而本文不可避免会出现部分内容描述不准确或者与实际存在出入的地方,敬请读者谅解。
另外笔者始终认为下一代防火墙的核心思想是为了向用户交付更加高效,更具可用性的网络安全系统,因而选择把极其复杂的安全逻辑及模块关系最大程度的隐藏,这也符合下一代防火墙的真谛——更简单,更安全,更高效。