入侵防御(IPS)功能简介
入侵防御(IPS)
入侵防御是一种安全机制。设备通过分析网络流量来检测入侵,并通过一定的响应方式实时地中止入侵行为。
简介
介绍入侵防御特性的定义和目的。
定义
入侵防御是一种安全机制,通过分析网络流量,检测入侵(包括缓冲区溢出攻击、木马、蠕虫等),并通过一定的响应方式,实时地中止入侵行为,保护企业信息系统和网络架构免受侵害。
优势
入侵防御是一种既能发现又能阻止入侵行为的新安全防御技术。通过检测发现网络入侵后,能自动丢弃入侵报文或者阻断攻击源,从根本上避免攻击行为。入侵防御的主要优势有如下几点。
实时阻断攻击:设备采用直路方式部署在网络中,能够在检测到入侵时,实时对入侵活动和攻击性网络流量进行拦截,将对网络的入侵降到最低。
深层防护:新型的攻击都隐藏在TCP/IP协议的应用层里,入侵防御能检测报文应用层的内容,还可以对网络数据流重组进行协议分析和检测,并根据攻击类型、策略等确定应该被拦截的流量。
全方位防护:入侵防御可以提供针对蠕虫、病毒、木马、僵尸网络、间谍软件、广告软件、CGI(Common Gateway Interface)攻击、跨站脚本攻击、注入攻击、目录遍历、信息泄露、远程文件包含攻击、溢出攻击、代码执行、拒绝服务、扫描工具、后门等攻击的防护措施,全方位防御各种攻击,保护网络安全。
内外兼防:入侵防御不但可以防止来自于企业外部的攻击,还可以防止发自于企业内部的攻击。系统对经过的流量都可以进行检测,既可以对服务器进行防护,也可以对客户端进行防护。
不断升级,精准防护:入侵防御特征库会持续的更新,以保持最高水平的安全性。您可以从升级中心定期升级设备的特征库,以保持入侵防御的持续有效性。
与传统IDS(Intrusion Detection System)的不同
总体上说,IDS对那些异常的、可能是入侵行为的数据进行检测和报警,告知使用者网络中的实时状况,并提供相应的解决、处理方法,是一种侧重于风险管理的安全功能。而入侵防御对那些被明确判断为攻击行为,会对网络、数据造成危害的恶意行为进行检测,并实时终止,降低或是减免使用者对异常状况的处理资源开销,是一种侧重于风险控制的安全功能。
入侵防御技术在传统IDS的基础上增加了强大的防御功能:
传统IDS很难对基于应用层的攻击进行预防和阻止。入侵防御设备能够有效防御应用层攻击。
由于重要数据夹杂在过多的一般性数据中,IDS很容易忽视真正的攻击,误报和漏报率居高不下,日志和告警过多。入侵防御功能可以对报文层层剥离,进行协议识别和报文解析,对解析后的报文分类并进行特征匹配,保证了检测的精确性。
IDS设备只能被动检测保护目标遭到的攻击。为阻止进一步攻击行为,它只能通过响应机制报告给FW ,由FW 来阻断攻击。
入侵防御是一种主动积极的入侵防范阻止系统。检测到攻击企图时会自动将攻击包丢掉或将攻击源阻断,有效地实现了主动防御功能。
应用场景
入侵防御功能通常用于防护来自内部或外部网络对内网服务器和客户端的入侵。
如图所示,FW 部署在内网的出口。当外网用户访问企业内网(包括服务器、PC及其他设备)时,FW 会对该行为进行检测。如果发现该行为为入侵,则进行阻断;如果不是入侵,则允许其建立连接。
如图所示,FW 部署在内网的出口。当内网用户访问的网页包含恶意代码时,阻断连接;反之则放行。
除以上两种场景之外,FW 也可对内网不同区域之间的流量进行入侵检测和处理。不再赘述。
原理描述
入侵防御通过完善的检测机制对所有通过的报文进行检测分析,并实时决定允许通过或阻断。
入侵防御实现机制
入侵防御的基本实现机制如下:
重组应用数据
FW 首先进行IP分片报文重组以及TCP流重组,确保了应用层数据的连续性,有效检测出逃避入侵防御检测的攻击行为。
协议识别和协议解析
FW 根据报文内容识别多种常见应用层协议。
识别出报文的协议后,FW 根据具体协议分析方案进行更精细的分析,并深入提取报文特征。
与传统FW 只能根据IP地址和端口识别协议相比,大大提高了对应用层攻击行为的检测率。
特征匹配
FW 将解析后的报文特征与签名进行匹配,如果命中了签名,则进行响应处理。
签名的匹配顺序可参考入侵防御对数据流的处理。
响应处理
完成检测后,FW 根据管理员配置的动作对匹配到签名的报文进行处理。
对报文的响应处理流程请参见图。
签名
入侵防御签名用来描述网络中攻击行为的特征,FW 通过将数据流和入侵防御签名进行比较来检测和防范攻击。
FW 的入侵防御签名分为两类:
预定义签名
预定义签名是入侵防御特征库中包含的签名。用户需要购买License才能获得入侵防御特征库,在License生效期间,用户可以从华为安全能力中心平台获取最新的特征库,然后对本地的特征库进行升级。预定义签名的内容是固定的,不能创建、修改或删除。
每个预定义签名都有缺省的动作,分为:
自定义签名
须知
建议只在非常了解攻击特征的情况下才配置自定义签名。因为自定义签名设置错误可能会导致配置无效,甚至导致报文误丢弃或业务中断等问题。
自定义签名是指管理员通过自定义规则创建的签名。新的攻击出现后,其对应的攻击签名通常都会晚一点才会出现。当用户自身对这些新的攻击比较了解时,可以自行创建自定义签名以便实时地防御这些攻击。另外,当用户出于特殊的目的时,也可以创建一些对应的自定义签名。自定义签名创建后,系统会自动对自定义规则的合法性和正则表达式进行检查,避免低效签名浪费系统资源。
自定义签名的动作分为阻断和告警,您可以在创建自定义签名时配置签名的响应动作。
签名过滤器
由于设备升级特征库后会存在大量签名,而这些签名是没有进行分类的,且有些签名所包含的特征本网络中不存在,需过滤出去,故设置了签名过滤器进行管理。管理员分析本网络中常出现的威胁的特征,并将含有这些特征的签名通过签名过滤器提取出来,防御本网络中可能存在的威胁。
签名过滤器是满足指定过滤条件的集合。签名过滤器的过滤条件包括:签名的类别、对象、协议、严重性、操作系统等。只有同时满足所有过滤条件的签名才能加入签名过滤器中。一个过滤条件中如果配置多个值,多个值之间是“或”的关系,只要匹配任意一个值,就认为匹配了这个条件。
签名过滤器的动作分为阻断、告警和采用签名的缺省动作。签名过滤器的动作优先级高于签名缺省动作,当签名过滤器的动作不采用签名缺省动作时,以签名过滤器设置的动作为准。
各签名过滤器之间存在优先关系(按照配置顺序,先配置的优先)。如果一个安全配置文件中的两个签名过滤器包含同一个签名,当报文命中此签名后,设备将根据优先级高的签名过滤器的动作对报文进行处理。
例外签名
由于签名过滤器会批量过滤出签名,且通常为了方便管理设置为统一的动作。如果管理员需要将某些签名设置为与签名过滤器不同的动作时,可将这些签名引入到例外签名中,并单独配置动作。
例外签名的动作分为阻断、告警、放行和添加黑名单。其中,添加黑名单是指丢弃命中签名的报文,阻断报文所在的数据流,记录日志,并将报文的源地址或目的地址添加至黑名单。
例外签名的动作优先级高于签名过滤器。如果一个签名同时命中例外签名和签名过滤器,则以例外签名的动作为准。
例如,签名过滤器中过滤出一批符合条件的签名,且动作统一设置为阻断。但是员工经常使用的某款自研软件却被拦截了。观察日志发现,用户经常使用的该款自研软件命中了签名过滤器中某个签名,被误阻断了。此时管理员可将此签名引入到例外签名中,并修改动作为放行。
入侵防御对数据流的处理
入侵防御配置文件包含多个签名过滤器和多个例外签名。
签名、签名过滤器、例外签名的关系如图所示。假设设备中配置了3个预定义签名,分别为a01、a02、a03,且存在1个自定义签名a04。配置文件中创建了2个签名过滤器,签名过滤器1可以过滤出协议为HTTP、其他项为条件A的签名a01和a02,动作为使用签名缺省动作。签名过滤器2可以过滤出协议为HTTP和UDP、其他项为条件B的签名a03和a04,动作为阻断。另外,2个配置文件中分别引入1个例外签名。例外签名1中,将签名a02的动作设置为告警;例外签名2中,将签名a04的动作设置为告警。
签名的实际动作由签名缺省动作、签名过滤器和例外签名的动作共同决定的,参见图中的“签名实际动作”。
当数据流命中的安全策略中包含入侵防御配置文件时,设备将数据流送到入侵防御模块,并依次匹配入侵防御配置文件引用的签名。入侵防御对数据流的通用处理流程请参见图。
说明
当数据流命中多个签名,对该数据流的处理方式如下:
如果这些签名的实际动作都为告警 时,最终动作为告警。
如果这些签名中至少有一个签名的实际动作为阻断 时,最终动作为阻断。
当数据流命中了多个签名过滤器时,设备会按照优先级最高的签名过滤器的动作来处理。
检测方向
当配置引用了入侵防御配置文件的安全策略时,安全策略的方向是会话发起的方向,而非攻击流量的方向。
如图所示,Internet用户访问企业内网时,内网PC或服务器受到了来自网络的威胁。Internet用户访问企业内网的流量方向为Untrust->Trust。应用策略的方向是从Internet用户到企业内网的方向(即源为Untrust,目的为Trust)。在该场景中,会话发起的方向与攻击流量的方向是同一个方向。
如图所示,PC访问Internet的服务器时,PC受到了来自网络的威胁。从PC访问服务器的正常流量,方向定义为Trust->Untrust。而攻击流量来源于Internet,方向定义为Untrust->Trust。应用策略的方向是PC访问Internet的方向(即源为Trust,目的为Untrust),而不是攻击流量的方向。在该场景中,会话发起的方向与攻击流量的方向不是同一个方向。
入侵防御使用限制和注意事项
配置入侵防御特性之前请先阅读使用限制和注意事项。
硬件依赖
所有型号均支持入侵防御功能。
License支持
入侵防御功能受入侵防御License控制。具体License控制范围请参见License控制项。
入侵防御特征库升级需要入侵防御License支持。License加载完成后,需要手动加载入侵防御特征库。
使用限制
入侵防御License未激活时,功能可以配置,但不生效。
IPS第三代引擎不支持对ICMP协议类型的报文进行检测。
License过期或者去激活后,用户可以继续使用设备已有的入侵防御特征库和自定义签名,但是不能对入侵防御特征库进行升级。
入侵防御特性支持IPv4和IPv6。
注意事项
入侵防御特征库升级之后,如果原有预定义签名在新的特征库中已经不存在,则该签名涉及的所有配置信息将不会生效。
在双机热备组网环境中,推荐在主备备份方式下开启入侵防御功能。在逐流负载分担组网环境下,支持入侵防御功能,但检测率会有所下降。
在报文来回路径不一致的组网环境中,可能无法有效检测到网络入侵。
如果需要对SFTP、HTTPS、SMTPS、POP3S或IMAPS流量进行入侵防御检测,请配置SSL加密流量检测功能
在报文来回路径不一致的组网环境中,需要在FW 上配置如下命令:
配置命令undo firewall session link-state check ,关闭会话表的链路状态检测功能。
配置命令undo fragment-reassemble enable ,关闭报文分片重组功能。
配置命令stream-reassemble session-cache 0 ,设置TCP流重组时单条会话的最大缓存为0。
FW 部署在两台路由设备中间,且两台路由设备通过BFD互相探测时,建议将路由设备上的BFD检测时间适当调大(建议大于100ms),避免网络偶发性拥塞时导致BFD震荡。
自定义签名和预定义签名没有优先级,当流量同时命中自定义签名和预定义签名时,最终动作以最为严格的签名为准。例如,自定义签名动作为告警,预定义签名动作为阻断,当流量同时命中该自定义签名和预定义签名时,最终动作为阻断。
设备在进行IPS检测时会逐包将报文上送到IAE引擎进行检测,如果特征字段和IPS全局取证字段不在同一个报文中(例如报文分片或报文分段的场景下),且携带特征字段的报文在携带待取证字段的报文到达IAE引擎前已经命中签名并触发设备发送了威胁日志,则该威胁日志的扩展信息中将无法携带取证信息。
对于命中暴力破解等关联签名的流量,设备会直接通过黑名单功能进行阻断,不会发送干扰报文(Reset报文);而对于命中跨站攻击、挖矿攻击等其他非关联签名的流量,设备会发送Reset报文对会话进行干扰阻断。