05-攻击防范
本章节下载: 05-攻击防范 (574.54 KB)
本帮助主要介绍以下内容:
· 特性简介
○ 攻击防范策略
○ 客户端验证
○ 黑名单
○ 白名单
○ 攻击防范策略
○ 黑名单
· 配置指南
○ 攻击防范
○ 受保护IP
○ 黑名单
○ 白名单
○ 安全域设置
攻击防范是一个重要的网络安全特性,它通过分析经过设备的报文的内容和行为,判断报文是否具有攻击特征,并根据配置对具有攻击特征的报文执行一定的防范措施。
攻击防范策略用于定义一个或多个用于检测攻击的特征项,以及对检测到的攻击报文所采取的防范措施,例如输出告警日志、丢弃报文、加入黑名单或进行客户端验证。设备可以支持定义用于扫描攻击防范、泛洪攻击防范和单包攻击防范的策略。
攻击防范策略应用在安全域上,对安全域上收到的报文生效。
扫描攻击是指,攻击者运用扫描工具对网络进行主机地址或端口的扫描,通过准确定位潜在目标的位置,探测目标系统的网络拓扑结构和开放的服务端口,为进一步侵入目标系统做准备。扫描攻击主要分为地址扫描攻击和端口扫描攻击。
· 地址扫描攻击
攻击者发送大量目的IP地址变化的探测报文,通过收到的回应报文来确定活跃的目标主机,以便针对这些主机进行下一步的攻击。
· 端口扫描攻击
攻击者获取了活动目标主机的IP地址后,向目标主机发送大量目的端口变化的探测报文,通过收到的回应报文来确定目标主机开放的服务端口,然后针对活动目标主机开放的服务端口选择合适的攻击方式或攻击工具进行进一步的攻击。
扫描攻击防范主要通过监测网络使用者向目标系统发起连接的速率来检测其探测行为,一般应用在设备连接外部网络的安全域上,且仅对应用了攻击防范策略的安全域上的入方向报文有效。若设备监测到某IP地址主动发起的连接速率达到或超过了一定阈值,则可以根据配置采取相应的动作(输出告警日志、丢弃攻击者发送的报文,或者将攻击者的源IP地址加入黑名单)。
在配置扫描攻击防范策略时,需要指定扫描攻击的检测敏感度。当指定检测敏感度为低、中、高级别时,扫描攻击检测的阈值和检测周期为固定值;当指定检测敏感度为自定义时,可以通过配置灵活指定扫描攻击检测的阈值和检测周期。
若指定的扫描攻击的处理行为为加入黑名单,则需要开启安全域上的黑名单过滤功能来配合。
泛洪攻击是指攻击者在短时间内向目标系统发送大量的虚假请求,导致目标系统疲于应付无用信息,从而无法为合法用户提供正常服务,即发生拒绝服务。
泛洪攻击防范主要用于保护服务器,通过监测向服务器发起连接请求的速率来检测各类泛洪攻击,一般应用在设备连接外部网络的安全域上,且仅对应用了攻击防范策略的安全域上的入方向报文有效。在安全域上应用了泛洪攻击防范策略后,安全域处于攻击检测状态,当它监测到向某服务器发送报文的速率或源自某发送方的报文速率持续达到或超过了相应的触发门限值时,即认为该服务器受到了攻击或该源IP地址存在攻击服务器的风险,则进入攻击防范状态,并根据配置采取相应的动作(输出告警日志、丢弃攻击者发送的报文或者进行客户端验证)。此后,当设备检测到向该服务器发送报文的速率低于恢复门限值(触发门限值的3/4)时,即认为攻击结束,则由攻击防范状态恢复为攻击检测状态,并停止执行防范措施。
泛洪攻击防范策略中支持基于IP地址的攻击防范配置,即对受保护IP地址单独配置防范策略。对于所有非受保护IP地址,则可以选择采用泛洪防范公共配置来进行保护。
在配置泛洪攻击防范策略时,需要为各种类型的攻击配置防范门限。门限的设置是否合理将直接影响攻击防范的效果。系统提供了泛洪攻击阈值学习功能,为泛洪攻击防范门限值的设置提供参考。其实现原理是:系统对正常网络环境下的各种流量按时间进行统计,得出此段时间内各种流量的最高值,从而以此为依据计算出各种攻击类型对应的防范门限值。
阈值学习支持以下两种学习模式:
· 单次学习:只进行一次阈值学习。
· 周期学习:按周期学习间隔进行多次阈值学习。周期学习间隔是指从上次学习的结束时间到下次学习开始时间的间隔时间。
开启阈值学习,会对所有类型的泛洪攻击进行阈值学习。在周期学习模式下,最新一次的学习结果会覆盖上一次学习结果。对于学习到的阈值,您可以开启自动应用功能,也可以选择只学习不启用自动应用功能。
在不清楚实际流量的情况下,配置泛洪攻击防范参数时,建议使用缺省值,然后根据阈值学习功能进行调整。
单包攻击也称为畸形报文攻击,主要包括以下三种类型:
· 攻击者通过向目标系统发送带有攻击目的的IP报文,如分片重叠的IP报文、TCP标志位非法的报文,使得目标系统在处理这样的IP报文时出错、崩溃;
· 攻击者可以通过发送正常的报文,如ICMP报文、特殊类型的IP option报文,来干扰正常网络连接或探测网络结构,给目标系统带来损失;
· 攻击者还可通过发送大量无用报文占用网络带宽,造成拒绝服务攻击。
单包攻击防范主要通过分析经过设备的报文特征来判断报文是否具有攻击性,一般应用在设备连接外部网络的安全域上,且仅对应用了攻击防范策略的安全域上的入方向报文有效。若设备检测到某报文具有攻击性,则根据配置采取相应的动作(输出告警日志、丢弃攻击者发送的报文)。
设备除了支持对知名单包攻击进行检测之外,还支持对用户自定义的报文特征进行检测。
攻击防范例外列表用于过滤不需要进行攻击防范检测的主机报文,与指定的“允许”类型的ACL规则匹配的报文将不会受到任何类型的攻击防范检测。该列表用于过滤某些被信任的安全主机发送的报文,可以有效的减小误报率,并提高服务器处理效率。
需要注意的是,例外列表引用的ACL中的“允许”类型的规则中仅源地址、目的地址、源端口、目的端口、协议号、VRF和非首片分片标记参数用于匹配报文。
客户端验证功能用来防御服务器受到的TCP、DNS、DNS reply、HTTP、SIP类型的泛洪攻击。启用了客户端验证功能的设备位于客户端和受保护的服务器之间,能够对客户端发起的连接进行验证,达到保护服务器免受各种泛洪攻击的目的。
客户端验证功能有两种工作方式:
· 手工添加受保护IP地址:在安全域上开启指定类型的客户端验证功能,当设备检测到来自某客户端的首个目的地址为手工配置的受保护IP地址的报文后,将对该客户端的新建连接的报文进行合法性检查。
· 自动添加受保护IP地址:在安全域上应用指定类型的泛洪攻击防范策略,当设备检测到某服务器受到了泛洪攻击时,若安全域上的策略采用的动作为源验证,则设备会将该服务器IP地址添加到受保护IP表项中,并对后续新建连接的报文进行合法性检查。
通过合法性检查的客户端的IP地址将被设备信任,之后设备将放行来自该IP地址的报文。
TCP客户端验证功能用来防御服务器受到的SYN flood、ACK flood、SYN-ACK flood、FIN flood和RST flood等攻击。
TCP客户端验证支持两种验证模式:
· Safe Reset:仅对TCP连接的正向握手报文进行处理,也称为单向代理模式。该模式适合于从客户端发出的报文经过TCP客户端验证设备,而从服务器端发出的报文不经过TCP客户端验证设备的组网。
· SYN Cookie:对TCP连接的正向和反向所有报文都进行处理,也称为双向代理模式。该模式适合于从客户端发出的报文和从服务器端发出的报文都经过TCP客户端验证设备的组网。
1. Safe Reset
该模式下,设备收到某客户端发来的与受保护服务器(匹配某个受保护IP地址表项)建立TCP连接的请求(SYN报文)后,先代替服务器向客户端回应序号错误的SYN ACK报文。如果设备收到客户端回应的正确RST报文,则认为该TCP连接请求通过TCP代理的验证。此后一定时间内,设备收到来自该客户端的TCP报文后,直接将其转发给服务器,允许客户端和服务器之间直接建立TCP连接。
一般而言,应用服务器不会主动对客户端发起恶意连接,因此服务器响应客户端的报文可以不需要经过验证。设备仅需要对客户端发往应用服务器的报文进行实时监控,服务器响应客户端的报文可以根据实际需要选择是否经过设备,因此Safe Reset模式能够支持更灵活的组网方式。
由于设备对客户端发起的TCP连接进行了干预,因此Safe Reset模式的实现要求客户端的实现严格遵守TCP协议栈的规定,如果客户端的TCP协议栈实现不完善,即便是合法用户,也可能由于未通过检查而无法访问服务器。而且,该方式依赖于客户端向服务器发送RST报文后再次发起请求的功能,因此启用TCP客户端验证功能后,客户端发起的每个TCP连接的建立时间会有相应增加。
2. SYN Cookie
该模式下,设备收到某客户端发来的与受保护服务器建立TCP连接的请求(SYN报文)后,先代替服务器向客户端回应正常的SYN ACK报文(窗口值为0)。如果收到客户端回应的ACK报文,则认为该TCP连接请求通过TCP代理的验证。之后,设备再代替客户端向服务器发送SYN报文,并通过三次握手与服务器建立TCP连接。因此,在客户端和设备、设备和服务器之间会建立两个TCP连接,而且两个TCP连接使用的序号不同。
SYN Cookie模式下,设备作为虚拟的服务器与客户端交互,同时也作为虚拟的客户端与服务器交互,在为服务器过滤掉恶意连接报文的同时保证了常规业务的正常运行。但该方式要求客户端验证设备必须部署在所保护的服务器入口和出口的关键路径上,且要保证所有客户端向服务器发送的报文以及服务器向客户端回应的报文都需要经过该设备。
DNS客户端验证功能用来防御服务器受到的DNS flood攻击。
DNS客户端验证过程为:
1. DNS客户端验证设备收到某客户端发送的UDP类型的DNS Query报文(目的地址匹配受保护IP表项)后,先代替服务器向客户端回应DNS Truncate(TC)报文,要求客户端以TCP方式进行域名请求。
2. 如果是合法客户端,则它收到DNS Truncate报文之后会向DNS客户端验证设备发送目的端口为53的TCP SYN报文。
3. DNS客户端验证设备收到此报文后,先代替服务器向客户端回应序号错误的SYN ACK报文,之后,如果能够收到客户端回应的RST报文,则认为该客户端通过了DNS客户端验证。对于通过了DNS验证的客户端,设备直接转发其后续报文,不对报文进行处理。
由于设备对客户端发起的DNS请求进行了干预,因此要求客户端的实现严格遵守TCP/IP协议栈以及DNS协议的规定,如果客户端的协议栈实现不完善,即便是合法用户,也可能由于未通过检查而无法访问服务器。而且,该方式依赖于客户端向服务器发送RST报文后再次发起请求的功能,因此启用DNS客户端验证功能后,正常客户端发起的首个DNS请求的响应时间会有相应增加。
DNS reply验证功能用来防御DNS客户端受到的DNS reply flood攻击。
DNS reply验证过程为:
1. DNS reply验证设备收到某服务器发送的UDP类型的DNS reply报文(目的地址匹配受保护IP表项),代替DNS客户端向服务器发送DNS query报文,该报文的Query ID和源端口号由验证设备生成。
2. 如果是合法的服务器,则它收到含有新的Query ID和源端口号的DNS query报文后,会向验证设备发送含有新的Query ID和目的端口号的DNS reply报文。
3. DNS reply验证设备收到此报文后,提取Query ID和目的端口号,如果与验证设备发送的DNS query报文的Query ID和源端口号一致,则认为服务器通过了DNS reply验证。对于通过了DNS reply验证的服务器,设备直接转发其后续报文,不对报文进行处理。
HTTP客户端验证功能用来防御服务器受到HTTP flood攻击。
HTTP客户端验证支持对客户端向服务器发起的GET和POST请求进行验证。
HTTP客户端GET请求验证过程为:
1. HTTP客户端验证设备收到某客户端发送的TCP连接请求报文(目的地址匹配受保护IP表项)后,首先以Syn Cookie方式进行验证。客户端的TCP连接通过验证之后,设备将对客户端发送的HTTP GET请求报文进行两次重定向验证。
2. 第一次重定向验证:设备收到客户端的HTTP GET请求之后向其发送HTTP Redirect报文,并在重定向报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会记录该客户端的信息。当前的TCP连接结束之后,客户端与设备进行一轮新的TCP三次握手。
3. 第二次重定向验证:设备收到客户端向重定向地址发起的HTTP GET请求之后,向其发送HTTP Redirect报文,并在重定向报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会检查客户端是否经过了第一次重定向,以及本次HTTP访问的URI是否是设备重定向的地址。如果检查通过,设备会将该客户端加入到信任IP表项中,该客户端的后续HTTP GET请求报文将被直接进行透传。
HTTP客户端POST请求验证过程为:
1. HTTP客户端验证设备收到某客户端发送的TCP连接请求报文(目的地址匹配受保护IP表项)后,首先以Syn Cookie方式进行验证。客户端的TCP连接通过验证之后,设备将对客户端发送的HTTP POST请求报文依次进行重定向验证和超时验证。
2. 重定向验证:设备收到客户端的HTTP POST请求之后向其发送带有Set-Cookie验证字段的HTTP Redirect报文,并在重定向报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会记录该客户端的信息。当前的TCP连接结束之后,客户端与设备进行一轮新的TCP三次握手。
3. 超时验证:设备收到客户端发起的带有Cookie字段的HTTP POST请求之后,向其发送HTTP 408超时报文,并在报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会检查客户端是否经过了第一次重定向,以及本次HTTP报文中是否带有有效的Cookie值。如果检查通过,设备会将该客户端加入到信任IP表项中,该客户端的后续HTTP POST请求报文将被直接进行透传。
SIP客户端验证功能用来防御服务器受到的SIP flood攻击。
SIP客户端验证过程为:
1. SIP客户端验证设备收到某客户端发送的UDP类型的INVITE报文(目的地址匹配受保护IP表项)后,先代替服务器向客户端回应OPTIONS报文。
2. 如果是合法客户端,则它收到OPTIONS报文之后会向SIP客户端验证设备发送应答报文。
3. SIP客户端验证设备收到应答报文后,检查OPTIONS应答报文中的branch值和发送的OPTIONS报文中的branch值是否相同,若相同,则认为该客户端通过了SIP客户端验证。设备直接转发其后续报文,不对报文进行处理。
由于SIP客户端验证对客户端发送的报文进行了解析,因此,若客户端发送的报文由于分片导致报文首部信息不完整,即便是合法用户,也可能因未解析到对应的字段导致不能通过SIP客户端验证的检查。
黑名单功能是根据报文的IP地址进行报文过滤的一种攻击防范特性。同基于ACL的包过滤功能相比,黑名单进行报文匹配的方式更为简单,可以实现报文的高速过滤和有效屏蔽。
黑名单可以由设备动态或由用户手工进行添加、删除,具体机制如下:
· 动态添加黑名单是与扫描攻击防范功能配合实现的,动态生成的黑名单表项会在一定的时间之后老化。当设备根据报文的行为特征检测到某特定IP地址的扫描攻击企图之后,便将攻击者的IP地址自动加入黑名单,之后该IP地址发送的报文会被设备过滤掉。
· 手动配置的黑名单表项分为永久黑名单表项和非永久黑名单表项。永久黑名单表项建立后,一直存在,除非用户手工删除该表项。非永久黑名单表项的老化时间由用户指定,超出老化时间后,设备会自动将该黑名单表项删除。
白名单功能即将特定的源IP地址加入白名单后,设备将放行源IP地址匹配白名单的报文,不对其进行攻击检测与防范处理。
白名单不能直接指定IP地址,而需要通过引用地址对象组将IP地址加入白名单。白名单只能引用一个地址对象组,且只能由用户手工添加或删除。
· 攻击防范策略中的客户端验证动作只有在安全域上的客户端验证功能处于开启状态的情况下才生效。
· 如果攻击防范例外列表中引用的ACL不存在,或引用的ACL中未定义任何规则,例外列表不会生效。
· 例外列表引用的ACL规则中仅源地址、目的地址、源端口、目的端口、协议号、VRF和非首片分片标记参数用于匹配报文。
· 对于分布式设备,当设备上安装了多块业务板时,每种泛洪攻击防范策略中门限值为每块业务板上的门限值,因而整机的该类泛洪攻击的门限值即为每块业务板上的门限值与业务板数目的乘积。
· 泛洪攻击防范的门限取值需要根据实际网络应用场景进行调整,对于被保护对象的报文流量较大的应用场景,建议调大门限值,以免门限值太小对正常的业务流量造成影响;对于网络状况较差,且对攻击流量比较敏感的场景,可以适当调小门限值。
· 对于如下攻击类型,防范阈值学习功能仅对缺省检测端口生效:
○ DNS flood攻击
○ DNS reply flood攻击
○ SIP flood攻击
○ HTTP flood攻击
○ HTTP慢速攻击
· 若用户将指定泛洪攻击类型的源门限值或目的门限值手工置零,那么开启防范阈值学习功能后,无论是否开启自动应用功能,设备都不会应用置零类型的门限值学习结果,并且用户无法手工应用该学习结果。
· 设备仅支持对导出的配置文件进行导入。
· 导出功能,仅导出指定csv格式的模板文件。
· 导入功能,导入文件大小上限为2M。
· 同一时刻只允许一个用户进行导入导出的操作。
攻击防范功能的配置思路如下图所示:
图-1 攻击防范配置指导图
在配置攻击防范之前,必须首先创建一个攻击防范策略。在策略中根据实际的网络安全需求来配置策略中的具体内容,主要包括针对攻击类型指定检测条件及采取的防范措施。
1. 单击“策略 > 安全防护 > 攻击防范”。
2. 在“攻击防范”页面单击<新建>按钮。
3. 新建攻击防范策略。
表-1 攻击防范策略配置
参数 |
说明 |
策略名称 |
攻击防范策略名称,不区分大小写。合法取值包括大写字母、小写字母、数字、特殊字符“_”和“-” |
应用于 |
在指定安全域上应用当前攻击防范策略。一个安全域上只能应用一个攻击防范策略,但一个攻击防范策略可应用于多个安全域上 下拉列表中显示的安全域包括设备缺省的安全域和用户在“网络 > 安全域”页面已经配置的安全域 |
单击“扫描防范”页签,进入扫描攻击防范配置页面,配置参数如下表所示。
表-2 扫描防范配置
参数 |
说明 |
检测敏感度 |
扫描攻击防范的检测级别,包括关闭、低、中、高和自定义。关闭表示关闭扫描攻击防范功能;低表示低防范级别,该级别提供基本的扫描攻击检测,有很低的误报率,但对于一些扫描攻击类型不能检出;中表示中防范级别,该级别有适中的攻击检出率与误报率;高表示高防范级别,该级别能检测出大部分的扫描攻击,但对活跃主机误报率较高,即将可提供服务的主机的报文错误判断为攻击报文的概率比较高;自定义表示用户自定义防范级别,该级别的扫描攻击防范阈值可以由用户指定 · 开启端口扫描:开启/关闭端口扫描功能。检测敏感度为低、中、高级别时,该功能处于开启状态;检测敏感度为自定义时,该功能是否开启可以由用户指定 · 阈值:端口扫描攻击的阈值。当检测敏感度为低时,阈值为100000;当检测敏感度为中时,阈值为40000;当检测敏感度为高时,阈值为5000;当检测敏感度为自定义时,可以通过配置灵活指定端口扫描攻击阈值;当检测敏感度为关闭时,不显示本参数 · 开启地址扫描:开启/关闭地址扫描功能。检测敏感度为低、中、高级别时,该功能处于开启状态;检测敏感度为自定义时,该功能是否开启可以由用户指定 · 阈值:地址扫描攻击的阈值。当检测敏感度为低时,阈值为100000;当检测敏感度为中时,阈值为40000;当检测敏感度为高时,阈值为5000;当检测敏感度为自定义时,可以通过配置灵活指定地址扫描攻击阈值;当检测敏感度为关闭时,不显示本参数 · 检测周期:扫描攻击防范的检测周期。当检测敏感度为低、中、高时,检测周期为10秒;当检测敏感度为自定义时,可通过配置灵活指定扫描攻击防范的检测阈值;当检测敏感度为关闭时,不显示本参数 |
动作 |
对扫描攻击的处理行为,包括: · 输出告警日志 · 丢弃攻击者发送的报文 · 将发起攻击的源IP地址添加到黑名单 · X分钟后老化:动态添加的黑名单表项的老化时间。只有勾选“将发起攻击的源IP地址添加到黑名单”时,才会显示该参数 当“检测敏感度”选择“关闭”时,不显示本参数 |
单击“泛洪防范配置”页签,进入泛洪攻击防范配置页面。泛洪攻击防范配置包括公共配置和受保护IP配置。在公共配置中配置泛洪攻击的全局防范参数,在受保护IP配置中配置单个IP地址的泛洪攻击防范参数,具体参数如表-3和表-5所示。
参数 |
说明 |
攻击类型 |
设备支持的泛洪攻击类型,包括: · ACK:ACK flood攻击。ACK报文为只有ACK标志位置位的TCP报文,服务器收到ACK报文时,需要查找对应的连接。若攻击者发送大量这样的报文,服务器需要进行大量的查询工作,消耗正常处理的系统资源,影响正常的报文处理 · DNS:DNS flood攻击。DNS服务器收到任何DNS Query报文时都会试图进行域名解析并且回复该DNS报文。攻击者通过构造并向DNS服务器发送大量虚假DNS Query报文,占用DNS服务器的带宽或计算资源,使得正常的DNS Query得不到处理 · DNS reply:DNS reply flood攻击。DNS客户端收到任何DNS reply报文时都会进行处理。攻击者在一定条件下将大量伪造的DNS reply报文发送给某个DNS客户端,消耗大量DNS客户端的资源,使得正常的DNS reply报文得不到处理 · FIN:FIN flood攻击。FIN报文用于关闭TCP连接。若攻击者向服务器发送大量的伪造的FIN报文,可能会使服务器关闭掉正常的连接。同时,服务器收到FIN报文时,需要查找对应的连接,大量的无效查询操作会消耗系统资源,影响正常的报文处理 · HTTP:HTTP flood攻击。HTTP服务器收到HTTP GET命令时可能进行一系列复杂的操作,包括字符串搜索、数据库遍历、数据组装、格式化转换等等,这些操作会消耗大量系统资源,因此当HTTP请求的速率超过了服务器的处理能力时,服务器就无法正常提供服务。攻击者通过构造并发送大量虚假HTTP GET请求,使服务器崩溃,无法响应正常的用户请求 · HTTP slow:HTTP 慢速攻击。攻击者在建立了与HTTP服务器的连接后,长时间保持该连接不释放,大量这种连接将消耗服务器系统资源,影响正常报文的处理 · ICMP:ICMP flood攻击。攻击者在短时间内向特定目标发送大量的ICMP请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务 · ICMPv6:ICMPv6 flood攻击。攻击者在短时间内向特定目标发送大量的ICMPv6请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务 · RST:RST flood攻击。RST报文为TCP连接的复位报文,用于在异常情况下关闭TCP连接。如果攻击者向服务器发送大量伪造的RST报文,可能会使服务器关闭正常的TCP连接。另外,服务器收到RST报文时,需要查找对应的连接,大量的无效查询操作会消耗系统资源,影响正常的报文处理 · SIP:SIP flood攻击。SIP服务器收到SIP INVITE连接请求时,服务器需要分配一定的资源用于跟踪和建立会话,因此当SIP请求的速率超过了服务器的处理能力时,服务器就无法正常提供服务。攻击者通过构造并发送大量虚假的SIP INVITE请求报文,导致服务器崩溃,无法响应正常的用户请求 · SYN:SYN flood攻击。根据TCP协议工作原理,服务器收到SYN报文后需要建立半连接并回应SYN ACK报文,然后等待客户端的ACK报文来建立正式连接。由于资源的限制,操作系统的TCP/IP协议栈只能允许有限个TCP连接。攻击者向服务器发送大量伪造源地址的SYN报文后,由于攻击报文是伪造的,服务器不会收到客户端的ACK报文,从而导致服务器上遗留了大量无效的半连接,耗尽其系统资源,使正常的用户无法访问,直到半连接超时 · SYN-ACK:SYN-ACK flood攻击。由于SYN ACK报文为SYN报文的后续报文,服务器收到SYN ACK报文时,需要查找对应的SYN报文。若攻击者发送大量这样的报文,服务器需要进行大量的查询工作,消耗正常处理的系统资源,影响正常的报文处理 · UDP:UDP flood攻击。攻击者在短时间内向特定目标发送大量的UDP报文,占用目标主机的带宽,致使目标主机不能处理正常的业务 |
源门限值(pps) |
泛洪攻击防范基于源统计的全局触发阈值,取值范围为0~1000000,ACK flood攻击防范的全局触发阈值缺省为40000,其余flood攻击防范的全局触发阈值缺省为10000 配置了泛洪攻击防范后,设备处于攻击检测状态,当它监测到某IP地址发送报文的速率持续达到或超过了该触发阈值时,即认为该IP地址发起了泛洪攻击,则进入攻击防范状态,并根据配置启动相应的防范措施 源门限值为0表示不进行基于源统计的泛洪攻击检测 |
目的门限值(pps) |
泛洪攻击防范基于目的统计的全局触发阈值,取值范围为0~1000000,ACK flood攻击防范的全局触发阈值缺省为40000,其余flood攻击防范的全局触发阈值缺省为10000 配置了泛洪攻击防范后,设备处于攻击检测状态,当它监测到向某IP地址发送报文的速率持续达到或超过了该触发阈值时,即认为该IP地址受到了泛洪攻击,则进入攻击防范状态,并根据配置启动相应的防范措施 对于未专门配置泛洪防范受保护IP的IP地址,设备采用该全局阈值设置来进行保护。阈值的取值需要根据实际网络应用场景进行调整,对于被保护对象的报文流量较大的应用场景,建议调大触发阈值,以免阈值太小对正常的业务流量造成影响;对于网络状况较差,且对攻击流量比较敏感的场景,可以适当调小触发阈值 目的门限值为0表示不进行基于目的统计的泛洪攻击检测 |
日志 |
泛洪攻击的处理行为是输出告警日志。即设备检测到攻击发生时,生成告警信息,生成的告警信息将被发送到日志系统 |
检测所有IP地址 |
对所有非受保护IP开启泛洪攻击检测 |
客户端验证 |
泛洪攻击的处理行为是客户端验证。若客户端验证功能已开启,设备自动将受到攻击的IP地址添加到受保护IP列表中,并对客户端与受保护IP之间的连接进行代理 |
丢包 |
泛洪攻击的处理行为是丢包。即设备检测到攻击发生后,向被攻击者发送的后续所有同类型的报文都会被丢弃 |
检测端口 |
泛洪攻击防范的全局检测端口号。设备只对指定检测端口上收到的报文进行攻击检测 表示方式为port1-port2或port,port取值范围为1~65535,port2的值要大于或等于port1的值,相邻检测端口之间以“,”分隔。例如:1-10,80。port1-port2或port参数最多可以输入32次 对于所有非受保护IP地址,或未指定检测端口的受保护IP,设备采用全局的检测端口进行泛洪攻击检测。对于所有指定检测端口的受保护IP,设备针对为每个受保护IP指定的端口进行泛洪攻击检测 仅当“攻击类型”为“DNS”、“DNS reply”、“HTTP”、“HTTP slow”或“SIP”时,才能配置本参数 |
并发连接数 |
触发HTTP慢速攻击检测的HTTP并发连接数,缺省为5000 当设备的HTTP并发连接数达到所配置的并发连接数时,触发HTTP慢速攻击检测功能 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
Content长度 |
HTTP报文Content-Length字段的阈值,缺省为10000,单位为字节 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
载荷长度 |
HTTP报文实际载荷的阈值,缺省为50,单位为字节 报文头部Content-Length字段的值大于所配置的Content长度,并且报文实际载荷长度小于所配置的载荷长度的HTTP报文被视作异常报文 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
异常包数 |
异常报文的防范阈值,缺省为10 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
检测周期 |
攻击检测周期,单位为秒 若设备在一个检测周期内收到的异常报文数目超过所配置的异常包数,则执行相应的HTTP慢速攻击防范处理动作 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
黑名单 |
当安全域上的黑名单过滤功能处于开启状态时,阻断并丢弃来自攻击者的后续报文 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
黑名单老化时间 |
动态添加的黑名单表项的老化时间,单位为分钟,缺省值为10 仅当“攻击类型”为“HTTP slow”且勾选了“黑名单”时,才能配置本参数 |
配置学习参数 |
学习参数用于对阈值学习功能进行配置,请参考表-4进行相关参数配置 要使用阈值学习功能,必须先完成攻击防范策略的配置,然后在编辑页面进行学习参数的配置 |
应用学习结果 |
将泛洪攻击阈值学习结果设置为相应防范门限值 此功能仅对已启用“检测所有IP地址”且已有学习结果的攻击类型生效 |
参数 |
说明 |
学习功能 |
阈值学习功能用于为泛洪攻击防范阈值的设置提供参考值。建议开启阈值学习功能,合理设置阈值 |
每次学习时长 |
学习时长是系统完成一次阈值学习的时间长度。系统会统计该段时间内各种流量的最高值并以此为依据计算出各种攻击类型对应的防范阈值 |
学习模式 |
· 学习模式如下两种类型: · 单次学习:只进行一次阈值学习 · 周期学习:按周期间隔进行多次阈值学习 |
自动应用 |
系统在完成阈值学习后自动根据最新的学习结果更新相应门限值 该功能仅对已启用“检测所有IP地址”且已有学习结果的攻击类型生效 |
学习容忍度 |
学习容忍度会在应用学习结果之前将阈值扩大指定的范围,然后再应用到门限中。该机制可以使阈值学习功能更好的应对网络流量的波动 |
用户可在“泛洪防范配置”页面中,单击受保护IP下的<新建>按钮,新建泛洪防范受保护IP。
参数 |
说明 |
IP地址类型 |
· IPv4 · IPv6 |
IP地址 |
受保护的IP地址 当“IP地址类型”为“IPv4”时,IP地址不能为255.255.255.255或0.0.0.0 当“IP地址类型”为“IPv6”时,IP地址不能为组播地址或:: |
攻击类型 |
|
VRF |
受保护IP地址所属的VPN实例 可选择已创建的VRF,也可以新创建VRF。此处新建的VRF,可在“网络 > VRF”页面查看 |
目的门限值(pps) |
攻击防范的触发阈值,基于目的IP地址统计,ACK flood攻击防范的全局触发阈值缺省为40000,其余flood攻击防范的全局触发阈值缺省为10000 |
阈值 |
HTTP慢速攻击防范的各项阈值,包括并发连接数、Content长度、载荷长度和异常包数。有如下两种配置方式: · 公共配置:各项阈值与“泛洪防范公共配置”中所设置的阈值一致 · 自定义:自定义并发连接数(缺省为5000)、Content长度(缺省为10000字节)、载荷长度(缺省为50字节)和异常包数(缺省为10) 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
检测端口 |
泛洪攻击防范的检测端口号,设备只对指定检测端口上收到的报文进行攻击检测。有如下两种配置方式: · 公共配置:缺省情况下,检测端口为协议的知名端口,比如针对HTTP flood攻击的检测端口为80 · 自定义:检测端口为用户自定义端口,表示方式为port1-port2或port。port2的值要大于或等于port1的值,相邻检测端口之间以“,”分隔,例如:1-10,80 仅当“攻击类型”为“DNS”、“DNS reply”、“HTTP”、“HTTP slow”或“SIP”时,才能配置本参数 |
检测周期 |
攻击检测周期。有如下两种配置方式: · 公共配置:检测周期与“泛洪防范公共配置”中所设置的检测周期一致 · 自定义:自定义检测周期。若未指定本参数,则表示采用“泛洪防范公共配置”中的检测周期 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
动作 |
泛洪攻击的处理行为,有如下两个选项: · 公共配置:泛洪攻击的处理行为与“泛洪防范公共配置”一致 · 自定义:自定义泛洪攻击的处理行为,有如下几种行为: ○ 日志:设备检测到攻击发生时,生成告警信息,生成的告警信息将被发送到日志系统 ○ 丢包:设备检测到攻击发生后,向被攻击者发送的后续所有同类型的报文都会被丢弃 ○ 客户端验证:设备检测到攻击发生时,自动将受到攻击的IP地址添加到泛洪防范受保护IP列表中。若客户端验证功能已开启,则对客户端与受保护IP之间的连接进行代理 |
黑名单 |
设备检测到攻击发生时,自动将发起攻击的源IP地址添加到黑名单中 当安全域上的黑名单过滤功能处于开启状态时,来自该IP地址的报文将被丢弃 仅当“攻击类型”为“HTTP slow”时,才能配置本参数 |
黑名单老化时间 |
动态添加的黑名单表项的老化时间,单位为分钟,缺省值为10 仅当“攻击类型”为“HTTP slow”且勾选了“黑名单”动作时,才能配置本参数 |
表-6 知名单包攻击防范配置
参数 |
说明 |
攻击类型 |
设备支持的知名单包攻击类型,包括: · IP fragment:攻击者通过向目标主机发送分片偏移小于5的分片报文,导致主机对分片报文进行重组时发生错误而造成系统崩溃 · IP impossible:攻击者通过向目标主机发送源IP地址和目的IP地址相同的报文,造成主机系统处理异常 · Teardrop:攻击者通过发送大量分片重叠的报文,致使服务器对这些报文进行重组时造成重叠,因而丢失有效的数据 · Tiny fragment:攻击者构造一种特殊的IP分片来进行微小分片的攻击,这种报文首片很小,未能包含完整的传输层信息,因此能够绕过某些包过滤防火墙的过滤规则,达到攻击目标网络的目的 · IP option abnormal:攻击者利用IP报文中的异常选项的设置,达到探测网络结构的目的,也可由于系统缺乏对错误报文的处理而造成系统崩溃 · Smurf:攻击者向目标网络发送ICMP应答请求,该请求包的目的地址设置为目标网络的广播地址,这样该网络中的所有主机都会对此ICMP应答请求作出答复,导致网络阻塞,从而达到令目标网络中主机拒绝服务的攻击目的 · Traceroute:攻击者连续发送TTL从1开始递增的目的端口号较大的UDP报文,报文每经过一个路由器,其TTL都会减1,当报文的TTL为0时,路由器会给报文的源IP设备发送一个TTL超时的ICMP报文,攻击者借此来探测网络的拓扑结构 · Ping of death:攻击者构造标志位为最后一片且长度大于65535的ICMP报文发送给目标主机,可能导致系统处理数据时越界访问非法内存,造成系统错误甚至系统崩溃 · Large ICMP:某些主机或设备收到超大的报文,会引起内存分配错误而导致协议栈崩溃。攻击者通过发送超大ICMP报文,让目标主机崩溃,达到攻击目的 · Large ICMPv6:某些主机或设备收到超大的报文,会引起内存分配错误而导致协议栈崩溃。攻击者通过发送超大ICMPv6报文,让目标主机崩溃,达到攻击目的 · TCP invalid flags:攻击者通过发送TCP 标志位非法的报文探测目标主机的操作系统,可能导致目标主机系统崩溃 · TCP null flag:攻击者通过发送TCP 标志位为零的报文探测目标主机的操作系统,可能导致目标主机系统崩溃 · TCP all flags:攻击者通过发送TCP所有标志位均置位的报文探测目标主机的操作系统,可能导致目标主机系统崩溃 · TCP SYN-FIN:攻击者通过发送TCP SYN和FIN标志位被同时置位的报文探测目标主机的操作系统,可能导致目标主机系统崩溃 · TCP FIN only flag:攻击者通过发送TCP仅FIN标志被置位的报文探测目标主机的操作系统,可能导致目标主机系统崩溃 · TCP Land:攻击者向目标主机发送大量源IP地址和目的IP地址都是目标主机自身的TCP SYN报文,使得目标主机的半连接资源耗尽,最终不能正常工作 · WinNuke:攻击者向安装(或使用)Windows系统的特定目标的NetBIOS端口(139)发送OOB(Out-Of-Band,带外)数据包,这些攻击报文的指针字段与实际的位置不符,从而引起一个NetBIOS片断重叠,致使已与其他主机建立连接的目标主机在处理这些数据的时候系统崩溃 · UDP Bomb:攻击者发送畸形的UDP报文,其IP首部中的报文总长度大于IP首部长度与UDP首部中标识的UDP报文长度之和,可能造成收到此报文的系统处理数据时越界访问非法内存,导致系统异常 · UDP snork:攻击者向Windows系统发送目的端口为135(Windows定位服务)源端口为135、7或19(UDP Chargen服务)的报文,使被攻击系统不断应答报文,最终耗尽CPU资源 · UDP fraggle:攻击者通过向目标网络发送源UDP端口为7且目的UDP端口为19的Chargen报文,令网络产生大量无用的应答报文,占满网络带宽,达到攻击目的 · IPv6扩展头异常:攻击者向目标系统发送扩展头顺序不符合IPv6协议规定或扩展头重复的IPv6报文 · IPv6扩展头数目超限:攻击者向目标系统发送扩展头数目超出限制的IPv6报文 IPv6扩展头异常与IPv6扩展头数目超限攻击检测仅对IPv6报文头部位于ESP扩展头前的部分进行检测,不检测位于ESP扩展头之后的部分 |
日志 |
单包攻击的处理行为是输出告警日志。即设备检测到攻击发生时,生成告警信息,生成的告警信息将被发送到日志系统 |
丢包 |
单包攻击的处理行为是丢包。即设备检测到攻击发生后,向被攻击者发送的后续所有同类型的报文都会被丢弃 |
门限值(pps) |
· “攻击类型”为“Large ICMP”时,表示ICMP报文长度的最大值,取值范围为28~65534 · “攻击类型”为“Large ICMPv6”时,表示ICMPv6报文长度的最大值,取值范围为48~65534 |
用户可在“自定义单包攻击防范”页面,单击<新建>按钮,新建自定义单包攻击防范。
表-7 自定义单包攻击防范配置
参数 |
说明 |
特征 |
单包攻击检测的特征,包括: · IP选项:IP选项类型的报文攻击 · ICMP类型:ICMP类型的报文攻击 · ICMPv6类型:ICMPv6类型的报文攻击 · IPv6扩展头类型:IPv6扩展头类型的报文攻击 |
数值 |
特征的数值,取值范围为0~255 · “特征”为“IP选项”时,表示IP选项代码值 · “特征”为“ICMP类型”时,表示ICMP报文类型的数值 · “特征”为“ICMPv6类型”时,表示ICMPv6报文类型的数值 · “特征”为“IPv6扩展头类型”时,表示IPv6扩展头参数值 |
日志 |
单包攻击的处理行为是输出告警日志。即设备检测到攻击发生时,生成告警信息,生成的告警信息将被发送到日志系统 |
丢包 |
单包攻击的处理行为是丢包。即设备检测到攻击发生后,向被攻击者发送的后续所有同类型的报文都会被丢弃 |
表-8 例外列表配置
参数 |
说明 |
IPv4例外规则 |
使用IPv4 ACL过滤不需要进行攻击防范检测的主机报文。可选择已创建的IPv4 ACL,也可以新创建IPv4 ACL。此处新建的IPv4 ACL,可在“对象 > ACL > IPv4”页面查看 如果配置的攻击防范例外列表中引用的ACL中未定义任何规则,例外列表不会生效 |
IPv6例外规则 |
使用IPv6 ACL过滤不需要进行攻击防范检测的主机报文。可选择已创建的IPv6 ACL,也可以新创建IPv6 ACL。此处新建的IPv6 ACL,可在“对象 > ACL > IPv6”页面查看 如果配置的攻击防范例外列表中引用的ACL中未定义任何规则,例外列表不会生效 |
4. 单击<确定>按钮,新建的攻击防范策略会在“攻击防范”页面显示
通过手工添加受客户端验证保护的IP地址,对向该目的地址发送的连接请求进行代理。
受保护IP除了可以手工添加之外,还可以通过泛洪攻击防范自动添加。具体来讲就是,在客户端验证功能使能的前提下,若配置了泛洪攻击防范策略及相应的客户端验证功能,则设备检测到某服务器受到了指定类型的攻击时,设备会将该服务器IP地址添加到受保护IP列表中,并对后续指定类型的报文进行合法性检查。
1. 单击“策略 > 安全防护 > 受保护IP”。
2. 在“受保护IP”页面单击<新建>按钮。
3. 新建受保护IP。
表-9 受保护IP配置
参数 |
说明 |
协议类型 |
客户端验证的协议类型,包括: · TCP:TCP客户端验证功能 · DNS:DNS客户端验证功能 · DNS reply:DNS reply客户端验证功能 · HTTP:HTTP客户端验证功能 · SIP:SIP客户端验证功能 |
VRF |
受客户端验证保护的IP地址所属的VPN实例 可选择已创建的VRF,也可以新创建VRF。此处新建的VRF,可在“网络 > VRF”页面查看 |
IP地址类型 |
· IPv4 · IPv6 |
IP地址 |
受客户端验证保护的IP地址,即会对向该目的地址发送的连接请求进行代理 对于受TCP客户端验证保护的IP地址,发送的是TCP连接请求;对于受DNS客户端验证保护的IP地址,发送的是DNS query请求;对于受DNS reply客户端验证保护的IP地址,发送的是DNS reply响应;对于受HTTP客户端验证保护的IP地址,发送的是HTTP GET/POST连接请求;对于受SIP客户端验证保护的IP地址,发送的是UDP类型的INVITE请求 当“IP地址类型”为“IPv4”时,IP地址不能为255.255.255.255或0.0.0.0 当“IP地址类型”为“IPv6”时,IP地址不能为组播地址或:: |
端口号 |
受客户端验证保护的端口号。缺省情况下,对于DNS客户端验证的受保护IP,则表示对端口53的DNS query连接请求做代理;对于HTTP客户端验证的受保护IP,则表示对端口80的HTTP GET/POST连接请求做代理;对于SIP客户端验证的受保护IP,则表示对端口5060的INVITE连接请求进行代理;对于TCP客户端验证的受保护IP,则表示对所有端口的TCP连接请求做代理 |
4. 单击<确定>按钮,新建的受保护IP会在“受保护IP”页面显示,该页面还会显示泛洪攻击防范自动添加的受保护IP。
通过配置黑名单功能可以对来自或发往指定IP地址和地址对象组的报文进行过滤。
目的地址黑名单表项只可以手工添加,源地址黑名单表项除了可以手工添加之外,还可以通过扫描攻击防范自动添加。具体而言,在黑名单功能使能的前提下,若配置了扫描攻击防范策略及相应的黑名单添加功能,则可以将检测到的扫描攻击方地址添加到源地址黑名单中。扫描攻击防范添加的源地址黑名单表项必定会老化,老化时间可在“策略 > 安全防护 > 攻击防范 > 扫描防范”页面配置。
导出功能,导出指定的csv格式文件,然后填写需要导入的IP地址,供导入时使用。导入功能,以增量的方式向当前配置文件中写入导入的配置,并会对重复的配置进行覆盖,导入过程中如果某条配置写入失败,则停止导入,并提示错误信息,且已成功写入的配置无法回退。导入文件的格式必须为.csv。
1. 单击“策略 > 安全防护 > 黑名单”。
2. 在“IP黑名单”页签单击<新建>按钮。
3. 手工添加IP黑名单。
表-10 IP黑名单配置
参数 |
说明 |
VRF |
黑名单所属的VPN实例 可选择已创建的VRF,也可以新创建VRF。此处新建的VRF,可在“网络 > VRF”页面查看 |
IP地址类型 |
· IPv4 · IPv6 |
IP地址方向 |
· 源地址 · 目的地址 |
IP地址 |
黑名单的IP地址,用于匹配报文的源IP地址或目的IP地址 |
DS-Lite对端地址 |
黑名单的IPv4地址所属的DS-Lite隧道B4端IPv6地址 仅当“IP地址类型”选择“IPv4”时,支持配置本参数 仅当“IP地址方向”选择“源地址”时,支持配置本参数 |
剩余老化时间(秒) |
黑名单表项的剩余老化时间。若不配置,那么该IP黑名单表项永不老化,除非用户手动将其删除 |
4. 单击<确定>按钮,新建的黑名单会在“IP黑名单”页签显示。
5. 在“IP黑名单”页签单击<开启全局应用>按钮,“IP黑名单”页签与“地址对象组黑名单”页签下的黑名单对所有安全域生效。
1. 单击“策略 > 安全防护 > 黑名单”。
2. 在“地址对象组黑名单”页签单击<新建>按钮。
3. 手工添加地址对象组黑名单。
表-11 地址对象组黑名单配置
参数 |
说明 |
对象组类型 |
· IPv4,即IPv4地址对象组 · IPv6,即IPv6地址对象组 |
对象组名称 |
地址对象组的名称 |
4. 单击<确定>按钮,新建的黑名单会在“地址对象组黑名单”页签显示。
5. 在“地址对象组黑名单”页签单击<开启全局应用>按钮,“IP黑名单”页签与“地址对象组黑名单”页签下的黑名单对所有安全域生效。
通过配置白名单功能可以使来自指定IP地址的报文跳过设备的攻击检测与防范处理。
白名单只能通过引用地址对象组进行添加,当一个IP地址加入白名单后,直到用户手工将其删除,否则一直存在。地址对象组在“对象 > 对象组”页面配置。
1. 单击“策略 > 安全防护 > 白名单”。
2. 在“白名单”页面单击<新建>按钮。
3. 手工添加白名单。
表-12 白名单配置
参数 |
说明 |
对象组类型 |
· IPv4 · IPv6 |
对象组名称 |
可以选择已创建的地址对象组,也可以新创建地址对象组。此处新建的地址对象组,可在“对象 > 对象组”页页面查看 |
4. 单击<确定>按钮,新建的白名单会在“白名单”页面显示。
客户端验证的配置包括添加受保护IP和在指定安全域上开启客户端验证功能。
黑名单的配置包括开启黑名单过滤功能和添加黑名单表项。若全局的黑名单过滤功能处于开启状态,则所有安全域上的黑名单过滤功能均处于开启状态。若全局的黑名单过滤功能处于关闭状态,则需要开启指定安全域上的黑名单过滤功能。全局黑名单功能在“策略 > 安全防护 > 黑名单”页面开启。
白名单的配置包括添加白名单和开启白名单功能。若全局的白名单功能处于开启状态,则所有安全域上的白名单功能均处于开启状态。若全局的白名单功能处于关闭状态,则需要开启指定安全域上的白名单功能。全局白名单功能在“策略 > 安全防护 > 白名单”页面开启。
1. 单击“策略 > 安全防护 > 安全域设置”。
2. 在“安全域设置”页面开启指定安全域的客户端验证功能或黑名单功能。
表-13 安全域设置
参数 |
说明 |
安全域 |
已创建的安全域名称,可在“网络 > 安全域”页面新建安全域 |
TCP客户端验证 |
在指定安全域上开启/关闭TCP客户端验证功能,包括: · 关闭:关闭TCP客户端验证 · SYN Cookie:开启双向代理模式的TCP客户端验证 · Safe Reset:开启单向代理模式的TCP客户端验证 |
DNS客户端验证 |
在指定安全域上开启/关闭DNS客户端验证功能 |
DNS reply客户端验证 |
在指定安全域上开启/关闭DNS reply客户端验证功能 |
HTTP客户端验证 |
在指定安全域上开启/关闭HTTP客户端验证功能 |
SIP客户端验证 |
在指定安全域上开启/关闭SIP客户端验证功能 |
黑名单 |
在指定安全域上开启/关闭黑名单功能 |
白名单 |
在指定安全域上开启/关闭白名单功能 |
3. 单击左上方的<应用>按钮,将配置应用在指定的安全域。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!