主要安全机制
防火墙(进入系统的安全门)
网络入侵检测(监控和报警)
漏洞扫描(巡逻保安)
中央控制的安全和策略管理(闭路电视监控器)
身份识别、4A认证、访问控制服务器、证书验证(读卡器)
加密虚拟专网(安全运输)
防火墙
防火墙概念
引入到通信领域,防火墙也正是形象化地体现了这一特点:防火墙这一具体设备,通常用于两个网络之间的隔离。
当然,这种隔离是高明的,隔离的是“火”的蔓延,而又保证“人”的穿墙而过。
这里的“火”是指网络中的各种攻击,而“人”是指正常的通信报文。
那么,用通信语言来定义,防火墙主要用于保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为。
因其隔离、防守的属性,灵活应用于网络边界、子网隔离等位置,具体如企业网络出口、大型网络内部子网隔离、数据中心边界等等。
防火墙:访问控制手段。
防火墙与路由器、交换机的区别
路由器用来连接不同的网络,通过路由协议保证互联互通,确保将报文转发到目的地;
交换机则通常用来组建局域网,作为局域网通信的重要枢纽,通过二层/三层交换快速转发报文;
而防火墙主要部署在网络边界,对进出网络的访问行为进行控制,安全防护是其核心特性。路由器与交换机的本质是转发,防火墙的本质是控制。
防火墙的发展历程
与人类的进化史相似,防火墙的发展历史也经历了从低级到高级、从功能简单到功能复杂的过程。在这一过程中,网络技术的不断发展,新需求的不断提出,推动着防火墙向前发展演进。
最早的防火墙可以追溯到上世纪80年代末期,距今已有二十多年的历史。在这二十多年间,防火墙的发展过程大致可以划分为下面三个时期:
1 1989年至1994年
1)1989年产生了包过滤防火墙,实现简单的访问控制,我们称之为第一代防火墙。
2)随后出现了代理防火墙,在应用层代理内部网络和外部网络之间的通信,属于第二代防火墙。3)代理防火墙安全性较高,但处理速度慢,而且对每一种应用开发一个对应的代理服务是很难做到的,因此只能对少量的应用提供代理支持。
3) 1994年CheckPoint公司1发布了第一台基于状态检测技术的防火墙,通过动态分析报文的状态来决定对报文采取的动作,不需要为每个应用程序都进行代理,处理速度快而且安全性高。状态检测防火墙被称为第三代防火墙。
2 1995年至2004年
在这一时期,状态检测防火墙已经成为趋势。除了访问控制功能之外,防火墙上也开始增加一些其他功能,如VPN。
同时,一些专用设备也在这一时期出现了雏形。例如,专门保护Web服务器安全的WAF(Web Application Firewall,Web应用防火墙)设备。
2004年业界提出了UTM(United Threat Management,统一威胁管理)的概念,将传统防火墙、入侵检测、防病毒、URL过滤、应用程序控制、邮件过滤等功能融合到一台防火墙上,实现全面的安全防护。
3 2005年至今
2004年后,UTM市场得到了快速的发展,UTM产品如雨后春笋般涌现,但面临新的问题。
首先是对应用层信息的检测程度受到限制,举个例子,假设防火墙允许“男人”通过,拒绝“女人”通过,那么是否允许来自星星的都教授(外星人)通过呢?此时就需要更高级的检测手段,这使得DPI(Deep Packet Inspection,深度报文检测)技术得到广泛应用。
其次是性能问题,多个功能同时运行,UTM设备的处理性能将会严重下降。
2008年Palo Alto Networks公司2发布了下一代防火墙,解决了多个功能同时运行时性能下降的问题。同时,还可以基于用户、应用和内容来进行管控。
2009年Gartner3对下一代防火墙进行了定义,明确下一代防火墙应具备的功能特性。随后各个安全厂商也推出了各自的下一代防火墙产品,防火墙进入了一个新的时代。
状态检测和会话机制
状态检测防火墙的出现是防火墙发展历史上里程碑式的事件,而其所使用的状态检测和会话机制,目前已经成为防火墙产品的基本功能,也是防火墙实现安全防护的基础技术。
首先,我们从状态检测防火墙产生的背景说起。请大家先看一个简单的网络环境,如下图所示,PC和Web服务器位于不同的网络,分别与防火墙相连,PC与Web服务器之间的通信受到防火墙的控制。当PC需要访问Web服务器浏览网页时,在防火墙上必须配置如下的一条规则,允许PC访问Web服务器的报文通过。在这条规则中,源端口处的*表示任意的端口,这是因为PC在访问Web服务器时,它的操作系统决定了所使用的源端口,例如,对于WINDOWS操作系统来说,这个值可能是1024~65535范围内任意的一个端口。这个值是不确定的,所以这里设定为任意端口。配置了这条规则后,PC发出的报文就可以顺利通过防火墙,到达Web服务器。然后Web服务器将会向PC发送回应报文,这个报文也要穿过防火墙才能到达PC。
在状态检测防火墙出现之前,包过滤防火墙还必须配置如下所示的规则2,允许反方向的报文通过。在规则2中,目的端口也设定为任意端口,因为我们无法确定PC访问Web服务器时使用的源端口,要想使Web服务器回应的报文都能顺利穿过防火墙到达PC,只能将规则2中的目的端口设定为任意端口。如果PC位于受保护的网络中,这样处理将会带来很大的安全问题。规则2将去往PC的目的端口全部开放,外部的恶意攻击者伪装成Web服务器,就可以畅通无阻地穿过防火墙,PC将会面临严重的安全风险。
看一下状态检测防火墙怎么解决这个问题。还是以上面的网络环境为例,首先我们还是需要在防火墙上设定规则1,允许PC访问Web服务器的报文通过。当报文到达防火墙后,防火墙允许报文通过,同时还会针对PC访问Web服务器的这个行为建立会话(Session),会话中包含了PC发出的报文信息,如地址和端口等。当Web服务器回应给PC的报文到达防火墙后,防火墙会把报文中的信息与会话中的信息进行比对,发现报文中的信息与会话中的信息相匹配,并且符合协议规范对后续包的定义,则认为这个报文属于PC访问Web服务器行为的后续回应报文,直接允许这个报文通过。恶意攻击者即使伪装成Web服务器向PC发起访问,由于这类报文不属于PC访问Web服务器行为的后续回应报文,防火墙就不会允许这些报文通过。这样就解决了包过滤防火墙大范围开放端口带来的安全风险,同时也保证了PC可以正常访问Web服务器。
总结一下,包过滤防火墙只根据设定好的静态规则来判断是否允许报文通过,它认为报文都是无状态的孤立个体,不关注报文产生的前因后果。而状态检测防火墙的出现正好弥补了包过滤防火墙的这个缺陷,状态检测防火墙使用基于连接状态的检测机制,将通信双方之间交互的属于同一连接的所有报文都作为整体的数据流来对待。在状态检测防火墙看来,同一个数据流内的报文不再是孤立的个体,而是存在联系的。为数据流的第一个报文建立会话,数据流内的后续报文直接根据会话进行转发,提高了转发效率。
接着我们就来进一步了解一下会话,会话是通信双方的连接在防火墙上的具体体现,代表两者的连接状态,一条会话就表示通信双方的一个连接。防火墙上多条会话的集合就叫做会话表(Session table),先看一个标准的会话表项:http VPN:public --> public 1.1.1.1:2049-->2.2.2.2:80 ,重点介绍这个表项中的关键字段:http表示协议,1.1.1.1表示源地址,2049表示源端口,2.2.2.2表示目的地址,80表示目的端口。我们是如何区分源和目的呢?其实通过“-->”符号就可以直观区分,符号前面的是源,符号后面的是目的。
源地址、源端口、目的地址、目的端口和协议这五个元素是会话的重要信息,我们将这五个元素称之为“五元组”。只要这五个元素相同的报文即可认为属于同一条流,在防火墙上通过这五个元素就可以唯一确定一条连接。
需要注意的是,会话是动态生成的,但不是永远存在的。如果长时间没有报文匹配,则说明通信双方已经断开了连接,不再需要该条会话了。此时,为了节约系统资源,防火墙会在一段时间后删除会话,该时间称为会话的老化时间。
安全策略
了解了防火墙的基础知识后,防火墙的基本作用是保护特定网络免受“不信任”的网络的攻击,但是同时还必须允许两个网络之间可以进行合法的通信。安全策略的作用就是对通过防火墙的数据流进行检验,符合安全策略的合法数据流才能通过防火墙。 如上图所示,可以在不同的域间方向应用不同的安全策略进行不同的控制。 安全策略是由匹配条件和动作(允许/拒绝)组成的控制规则,可以基于IP、端口、协议等属性进行细化的控制。
有人可能会说啥安全策略,不就是包过滤吗?那你可out了,随着防火墙产品的推陈出新,包过滤也逐渐进化,已经发展成为可以做深度内容检查的“安全策略”。策略匹配条件也已经在“五元组”的基础上增加了用户、应用等匹配条件,还增加了内容安全检测处理。 图中展现了安全策略的发展历程,大家可以看到NGFW中已经实现了基于“七元组”的安全策略。细粒度的安全管控使藏匿于流量中的危险分子无所遁形。
前面已经提到这种单纯的包过滤正在逐步退出历史舞台,这里只简单介绍一下。 包过滤的处理过程是先获取需要转发数据包的报文头信息,然后和设定的ACL规则进行比较,根据比较的结果对数据包进行转发或者丢弃。实现包过滤的核心技术是访问控制列表ACL。 因此包过滤只能基于IP地址、端口号等控制流量是否可以通过防火墙,无法准确识别应用。
UTM的安全策略已经有一体化安全处理的雏形了,将防火墙包过滤功能和内容安全功能进行了融合,但是还有一定局限性。 如果了解UTM的话应该知道,UTM更多的是体现功能集成,将传统防火墙、入侵防御设备、反病毒设备等集成到一个硬件。UTM设备的多个安全功能之间的紧密度不高,报文匹配安全策略的匹配条件后需要逐一进入各个UTM模块进行检测和处理,如果同时开启多个安全功能,设备性能往往大幅下降。
到了NGFW阶段,对一体化、应用识别与管控、高性能等要求更高。安全策略充分体现了这些特质,通过应用、用户、内容、威胁等多个维度的识别将模糊的网络环境映射为实际的业务环境,从而实现精准的访问控制和安全检测。通过高性能的一体化检测引擎实现一次扫描、实时检测,即使开启所有内容安全功能,也不会造成设备性能的大幅下降。
入侵检测
美国中央情报局简称CIA,不过我们今天要说的CIA则是信息安全中的CIA,即机密性、完整性、可用性。信息只允许授权用户使用,信息在处理、使用过程中应保持原有的完整和精确。授权用户在需要时能可靠而及时地访问所需信息。 相对的我们就可以引出入侵的概念,入侵是指未经授权蓄意尝试访问信息、窜改信息,使系统不可靠或不能使用的行为。
基本概念
通过从计算机网络或系统中若干关键节点收集信息,并对这些信息进行分析,从而发现网络或系统中是否有违法安全策略的的行为和遭到袭击的迹象的硬件和软件。
入侵检测的产生和发展
1980年James Anderson(美国国防部)在给保密客户的技术报告中指出审计记录可以识别计算机误用。 1986年Dening(SRI,stanford Research Institute)发表《An Intrution-Detection Model》被认为是入侵检测的开山之作,
1988年,SRI开发出入侵检测专家系统(Intrusion Detection Expert System,IDES),它是一个实时的入侵检测系统。1990年,UCD(Clifornia大学Davis分校)设计出面向局域网的IDS系统,NSM(Network Security Monitor)
1999年,SRI研究出用于大型网络的EMERALD(祖母绿 Event Monitoring Enabling Response to Anomalous Live Disturbances),具有分布式可升级,高度分布,自动响应、独立调整等特点,主要面向solaris进行分布式部署,以代理对应应用,关联汇聚后上报,被称之为微模式,而基于网络节点的分布式,则被称之为巨模式
Gartner 是一家提供有关全球 IT 行业的研究和分析服务的领先公司
传统防火墙的局限性
关于防火墙
防火墙不能安全过滤应用层的非法攻击,如SQL 注入
防火墙对不通过它的连接无能为力,如内网攻击等
防火墙采用静态安全策略技术,无法动态防御新的非法攻击
动机转变,安全事件无处不在
人,安全意识薄弱
漏洞,与日俱增
入侵教程,随处可见
黑客工具,唾手可得
以经济利益为目的的地下黑客产业链
入侵检测系统根据入侵检测的行为分为两种模式:异常检测和误用检测。前者先要建立一个系统访问正常行为的模型,凡是访问者不符合这个模型的行为将被断定为入侵;后者则相反,先要将所有可能发生的不利的不可接受的行为归纳建立一个模型,凡是访问者符合这个模型的行为将被断定为入侵。
这两种模式的安全策略是完全不同的,而且,它们各有长处和短处:异常检测的漏报率很低,但是不符合正常行为模式的行为并不见得就是恶意攻击,因此这种策略误报率较高;误用检测由于直接匹配比对异常的不可接受的行为模式,因此误报率较低。但恶意行为千变万化,可能没有被收集在行为模式库中,因此漏报率就很高。这就要求用户必须根据本系统的特点和安全要求来制定策略,选择行为检测模式。用户都采取两种模式相结合的策略。
旁路部署
其实不只是防毒墙,IDS、上网行为审计、流控等很多安全设备都可以在部署的时候设计为在线部署或旁路部署,在线部署就是设备是串联方式接入到网络中的,数据交互是通过相应设备的,旁路部署是指只有一根线接到网络中,一般是交换机上,交换机将数据镜像后发给防毒墙,防毒墙进行分析处理。 对于防毒墙一般来说,旁路部署目的为只检测网络中的病毒情况,在线部署也就是串接部署的话不但可以检测也可以起到实时阻止的作用。
IDS的作用:
监控、分析用户和系统的活动;
审计系统的配置和弱点;
评估关键系统和数据文件的完整性;
识别攻击的活动模式;
对异常活动进行统计分析;
对操作系统进行审计跟踪管理,识别违反策略的用户活动;
IPS 在线部署
IDS类(入侵检测系统(IDS: Intrusion Detection Systems))
IPS类(入侵防御系统(IPS: Intrusion Prevention System))