12-攻击检测与防范命令
本章节下载: 12-攻击检测与防范命令 (666.24 KB)
目 录
1.1.3 ack-flood detect non-specific
1.1.5 attack-defense local apply policy
1.1.6 attack-defense login reauthentication-delay
1.1.8 attack-defense signature log non-aggregate
1.1.9 attack-defense tcp fragment enable
1.1.10 display attack-defense flood statistics ip
1.1.11 display attack-defense flood statistics ipv6
1.1.12 display attack-defense policy
1.1.13 display attack-defense policy ip
1.1.14 display attack-defense policy ipv6
1.1.15 display attack-defense scan attacker ip
1.1.16 display attack-defense scan attacker ipv6
1.1.17 display attack-defense statistics local
1.1.20 dns-flood detect non-specific
1.1.26 fin-flood detect non-specific
1.1.30 http-flood detect non-specific
1.1.35 icmp-flood detect non-specific
1.1.38 icmpv6-flood detect ipv6
1.1.39 icmpv6-flood detect non-specific
1.1.41 reset attack-defense policy flood
1.1.42 reset attack-defense statistics local
1.1.45 rst-flood detect non-specific
1.1.48 signature { large-icmp | large-icmpv6 } max-length
1.1.54 syn-ack-flood detect non-specific
1.1.55 syn-ack-flood threshold
1.1.58 syn-flood detect non-specific
ack-flood action命令用来配置ACK flood攻击防范的全局处理行为。
undo ack-flood action命令用来恢复缺省情况。
【命令】
ack-flood action { drop | logging } *
undo ack-flood action
【缺省情况】
不对检测到的ACK flood攻击采取任何措施。
【视图】
攻击防范策略视图
【缺省用户角色】
network-admin
【参数】
drop:表示丢弃攻击报文,即设备检测到攻击发生后,向被攻击者发送的后续所有ACK报文都会被丢弃。
logging:表示输出告警日志,即设备检测到攻击发生时,生成告警信息,生成的告警信息将被发送到日志系统。
【举例】
# 在攻击防范策略atk-policy-1中配置ACK flood攻击防范的全局处理行为是丢弃后续报文。
<Sysname> system-view
[Sysname] attack-defense policy atk-policy-1
[Sysname-attack-defense-policy-atk-policy-1] ack-flood action drop
【相关命令】
· ack-flood detect
· ack-flood detect non-specific
· ack-flood threshold
ack-flood detect命令用来开启对指定IP地址的ACK flood攻击防范检测,并配置ACK flood攻击防范的触发阈值和对ACK flood攻击的处理行为。
undo ack-flood detect命令用来关闭对指定IP地址的ACK flood攻击防范检测。
【命令】
ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
undo ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ]
【缺省情况】
未对任何指定IP地址开启ACK flood攻击防范检测。
【视图】
攻击防范策略视图
【缺省用户角色】
network-admin
【参数】
ip ipv4-address:指定要保护的IPv4地址。该IPv4地址不能为255.255.255.255或0.0.0.0。
ipv6 ipv6-address:指定要保护的IPv6地址。
vpn-instance vpn-instance-name:受保护IP地址所属的VPN实例。其中,vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。若未指定本参数,则表示该保护IP地址属于公网。
threshold threshold-value:指定ACK flood攻击防范的触发阈值。其中,threshold-value为向指定IP地址每秒发送的ACK报文数目,取值范围为1~1000000。
action:设置对ACK flood攻击的处理行为。若未指定本参数,则表示采用ACK flood攻击防范的全局处理行为。
drop:表示丢弃攻击报文,即设备检测到攻击发生后,向被攻击者发送的后续所有ACK报文都会被丢弃。
logging:表示输出告警日志,即设备检测到攻击发生时,生成告警信息。
none:表示不采取任何动作。
【使用指导】
使能ACK flood攻击防范后,设备处于攻击检测状态,当它监测到向指定IP地址发送ACK报文的速率持续达到或超过了触发阈值时,即认为该IP地址受到了ACK flood攻击,则进入攻击防范状态,并根据配置启动相应的防范措施。此后,当设备检测到向该服务器发送报文的速率低于恢复阈值(触发阈值的3/4)时,即认为攻击结束,则由攻击防范状态恢复为攻击检测状态,并停止执行防范措施。
每个攻击防范策略下可以同时对多个IP地址配置ACK flood攻击防范检测。
【举例】
# 在攻击防范策略atk-policy-1中开启对IP地址192.168.1.2的ACK flood攻击防范检测,并指定触发阈值为2000。当设备监测到向该IP地址每秒发送的ACK报文数持续达到或超过2000时,启动ACK flood攻击防范。
<Sysname> system-view
[Sysname] attack-defense policy atk-policy-1
[Sysname-attack-defense-policy-atk-policy-1] ack-flood detect ip 192.168.1.2 threshold 2000
【相关命令】
· ack-flood action
· ack-flood detect non-specific
· ack-flood threshold
ack-flood detect non-specific命令用来对所有非受保护IP地址开启ACK flood攻击防范检测。
undo ack-flood detect non-specific命令用来关闭对所有非受保护IP地址的ACK flood攻击防范检测。
【命令】
ack-flood detect non-specific
undo ack-flood detect non-specific
【缺省情况】
未对任何非受保护IP地址开启ACK flood攻击防范检测。
【视图】
攻击防范策略视图
【缺省用户角色】
network-admin
【使用指导】
对所有未配置具体攻击防范策略的IP地址开启ACK flood攻击防范检测后,设备将采用全局的阈值设置(由ack-flood threshold命令设置)和处理行为(由ack-flood action命令配置)对这些IP地址进行保护。
【举例】
# 在攻击防范策略atk-policy-1中,对所有非受保护IP地址开启ACK flood攻击防范检测。
<Sysname> system-view
[Sysname] attack-defense policy atk-policy-1
[Sysname-attack-defense-policy-atk-policy-1] ack-flood detect non-specific
【相关命令】
· ack-flood action
· ack-flood detect
· ack-flood threshold
ack-flood threshold命令用来配置ACK flood攻击防范的全局触发阈值。
undo ack-flood threshold命令用来恢复缺省情况。
【命令】
ack-flood threshold threshold-value
undo ack-flood threshold
【缺省情况】
ACK flood攻击防范的全局触发阈值为1000。
【视图】
攻击防范策略视图
【缺省用户角色】
network-admin
【参数】
threshold-value:指定向某IP地址每秒发送的ACK报文数目,取值范围为1~1000000。
【使用指导】
使能ACK flood攻击防范后,设备处于攻击检测状态,当它监测到向某IP地址发送ACK报文的速率持续达到或超过了该触发阈值时,即认为该IP地址受到了ACK flood攻击,则进入攻击防范状态,并根据配置启动相应的防范措施。此后,当设备检测到向该服务器发送报文的速率低于恢复阈值(触发阈值的3/4)时,即认为攻击结束,则由攻击防范状态恢复为攻击检测状态,并停止执行防范措施。
对于未专门配置ACK flood攻击防范检测的IP地址,设备采用全局的阈值设置来进行保护。阈值的取值需要根据实际网络应用场景进行调整,对于正常情况下到被保护对象(HTTP服务器或者FTP服务器)的ACK报文流量较大的应用场景,建议调大触发阈值,以免阈值太小对正常的业务流量造成影响;对于网络状况较差,且对攻击流量比较敏感的场景,可以适当调小触发阈值。
【举例】
# 在攻击防范策略atk-policy-1中配置ACK flood攻击防范的全局触发阈值为100,即当设备监测到向某IP地址每秒发送的ACK报文数持续达到或超过100时,启动ACK flood攻击防范。
<Sysname> system-view
[Sysname] attack-defense policy atk-policy-1
[Sysname-attack-defense-policy-atk-policy-1] ack-flood threshold 100
【相关命令】
· ack-flood action
· ack-flood detect
· ack-flood detect non-specific
attack-defense local apply policy命令用来在本机应用安全攻击防范策略。
undo attack-defense local apply policy命令用来恢复缺省情况。
【命令】
attack-defense local apply policy policy-name
undo attack-defense local apply policy
【缺省情况】
本机未应用任何攻击防范策略。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
policy-name:攻击防范策略名称,为1~31个字符的字符串,不区分大小写。合法取值包括大写字母、小写字母、数字、特殊字符“_”和“-”。
【使用指导】
通过在本机应用攻击防范策略,使已配置的攻击防范策略对目的地址为本机的报文生效。
缺省情况下交换机将需要转发的报文下发给硬件转发,只有目的地址是本机的报文才会由软件处理,但软件没有攻击防范功能。为处理针对本机的攻击,需要通过在本机上应用攻击防范策略来实现。
本机只能应用一个攻击防范策略(可多次配置,最后一次配置的有效)。
【举例】
# 在本机应用攻击防范策略atk-policy-1。
<Sysname> system-view
[Sysname] attack-defense local apply policy atk-policy-1
【相关命令】
· attack-defense policy
· display attack-defense policy
attack-defense login reauthentication-delay命令用来配置Login用户登录失败后重新进行认证的等待时长。
undo attack-defense login reauthentication-delay命令用来恢复缺省情况。
attack-defense login reauthentication-delay seconds
undo attack-defense login reauthentication-delay
【缺省情况】
Login用户登录失败后重新进行认证不需要等待。
系统视图
network-admin
【参数】
seconds:设备管理用户登录失败后重新进行认证的等待时长,取值范围为4~60,单位为秒。
【使用指导】
Login用户登录失败后,若设备上配置了重新进行认证的等待时长,则系统将会延迟一定的时长之后再允许用户进行认证,可以避免设备受到字典式攻击。
# 配置Login用户登录失败后重新进行认证的等待时长为5秒钟。
[Sysname] attack-defense login reauthentication-delay 5
attack-defense policy命令用来创建一个攻击防范策略,并进入攻击防范策略视图。如果指定的攻击防范策略已经存在,则直接进入攻击防范策略视图。
undo attack-defense policy命令用来删除指定的攻击防范策略。
【命令】
attack-defense policy policy-name
undo attack-defense policy policy-name
【缺省情况】
不存在任何攻击防范策略。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
policy-name:攻击防范策略名称,为1~31个字符的字符串,不区分大小写。合法取值包括大写字母、小写字母、数字、特殊字符“_”和“-”。
【使用指导】
攻击防范的缺省触发阈值对于现网环境而言可能过小,这会导致用户上网慢或者网页打不开等情况,请根据实际网络环境配置合理的触发阈值。
【举例】
# 创建攻击防范策略atk-policy-1,并进入攻击防范策略视图。
<Sysname> system-view
[Sysname] attack-defense policy atk-policy-1
[Sysname-attack-defense-policy-atk-policy-1]
【相关命令】
· attack-defense apply policy
· display attack-defense policy
attack-defense signature log non-aggregate命令用来指定对单包攻击防范日志非聚合输出。
undo attack-defense signature log non-aggregate命令用来恢复缺省情况。
【命令】
attack-defense signature log non-aggregate
undo attack-defense signature log non-aggregate
【缺省情况】
单包攻击防范的日志信息经系统聚合后再输出。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
对日志进行聚合输出是指,在一定时间内,对在本机或同一个接口上检测到的相同攻击类型、相同攻击防范动作、相同的源/目的地址以及属于相同VPN的单包攻击的所有日志聚合成一条日志输出。通常不建议开启单包攻击防范的日志非聚合输出功能,因为在单包攻击较为频繁的情况下,它会导致大量日志信息输出,占用控制台的显示资源。
【举例】
# 开启对单包攻击防范日志的非聚合输出功能。
<Sysname> system-view
[Sysname] attack-defense signature log non-aggregate
【相关命令】
· signature detect
attack-defense tcp fragment enable命令用来开启TCP分片攻击防范功能。
undo attack-defense tcp fragment enable命令用来关闭TCP分片攻击防范功能。
【命令】
attack-defense tcp fragment enable
undo attack-defense tcp fragment enable
【缺省情况】
TCP分片攻击防范功能处于开启状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
设备的包过滤功能一般是通过判断TCP首个分片中的五元组(源IP地址、源端口号、目的IP地址、目的端口号、传输层协议号)信息来决定后续TCP分片是否允许通过。RFC 1858对TCP分片报文进行了规定,认为TCP分片报文中,首片报文中TCP报文长度小于20字节,或后续分片报文中分片偏移量等于8字节的报文为TCP分片攻击报文。这类报文可以成功绕过上述包过滤功能,对设备造成攻击。为防止这类攻击,可以在设备上开启TCP分片攻击防范功能,对TCP分片攻击报文进行丢弃。
如果设备上开启了TCP分片攻击防范功能,并应用了单包攻击防范策略,则TCP分片攻击防范功能会先于单包攻击防范策略检测并处理入方向的TCP报文。
【举例】
# 开启TCP分片攻击防范功能。
<Sysname> system-view
[Sysname] attack-defense tcp fragment enable