17 您所在的位置:网站首页 正则表达式redos攻击的防御 17

17

2023-07-05 04:25| 来源: 网络整理| 查看: 265

目  录

1 ND攻击防御

1.1 ND攻击防御简介

1.2 ND攻击防御配置任务简介

1.3 开启ND协议报文源MAC地址一致性检查功能

1.4 配置ND Detection功能

1.4.1 功能简介

1.4.2 配置限制和指导

1.4.3 在VLAN内配置ND Detection功能

1.4.4 开启ND Detection忽略端口匹配检查功能

1.4.5 配置ND Detection日志功能

1.4.6 ND Detection功能显示和维护

1.4.7 ND Detection功能典型配置举例

1.5 配置RA Guard功能

1.5.1 功能简介

1.5.2 配置接口角色

1.5.3 配置及应用RA Guard策略

1.5.4 配置RA Guard日志功能

1.5.5 RA Guard功能显示和维护

1.5.6 RA Guard功能典型配置举例

1.6 ND的Keepalive表项扫描功能

1.6.1 功能简介

1.6.2 配置ND的Keepalive表项扫描功能

1.6.3 ND的Keepalive表项扫描显示和维护

 

1 ND攻击防御 1.1  ND攻击防御简介

ND协议功能强大,但是却没有任何安全机制,容易被攻击者利用。如图1-1所示,当Device作为接入设备时,攻击者Host B可以仿冒其他用户、仿冒网关发送伪造的ND报文,对网络进行攻击:

·     如果攻击者仿冒其他用户的IPv6地址发送NS/NA/RS报文,将会改写网关或者其他用户的ND表项,导致被仿冒用户的报文错误的发送到攻击者的终端上。

·     如果攻击者仿冒网关发送RA报文,会导致其他用户的IPv6配置参数错误和ND表项被改写。

图1-1 ND攻击示意图

 

伪造的ND报文具有如下特点:

·     伪造的ND报文中源MAC地址和源链路层选项地址中的MAC地址不一致。

·     伪造的ND报文中源IPv6地址和源MAC地址的映射关系不是合法用户真实的映射关系。

根据上述攻击报文的特点,设备开发了多种功能对ND攻击进行检测,可以有效地防范ND攻击带来的危害。

1.2  ND攻击防御配置任务简介

如下所有配置均为可选,请根据实际情况选择配置。

·     开启ND协议报文源MAC地址一致性检查功能

·     配置ND Detection功能

·     配置RA Guard功能

·     ND的Keepalive表项扫描功能

1.3  开启ND协议报文源MAC地址一致性检查功能 1. 功能简介

ND协议报文源MAC地址一致性检查功能主要应用于网关设备上,防御ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不同的ND攻击。

开启本特性后,网关设备会对接收的ND协议报文进行检查。如果ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不一致,则认为是攻击报文,将其丢弃;否则,继续进行ND学习。

若开启ND日志信息功能,当用户ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不同时,会有相关的日志信息输出。设备生成的ND日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ND协议报文源MAC地址一致性检查功能。

ipv6 nd mac-check enable

缺省情况下,ND协议报文源MAC地址一致性检查功能处于关闭状态。

(3)     (可选)开启ND日志信息功能。

ipv6 nd check log enable

缺省情况下,ND日志信息功能处于关闭状态。

为了防止设备输出过多的ND日志信息,一般 情况下建议不要开启此功能。

1.4  配置ND Detection功能 1.4.1  功能简介

ND Detection功能用来检查用户的合法性,主要应用于接入设备上。开启ND Detection功能后,合法用户的ND报文可以正常转发,否则直接丢弃,从而防止仿冒用户、仿冒网关的攻击。

ND Detection功能将接入设备上的接口(VLAN组网)分为两种:

·     ND信任接口:不进行用户合法性检查;

·     ND非信任接口:如果收到RA和RR消息,则认为是非法报文直接丢弃,如果收到其它类型的ND报文,则需要进行用户合法性检查,以防止仿冒用户的攻击。

用户合法性检查的方法为:将ND报文中源IPv6地址和源MAC地址与设备上的IPv6 Source Guard静态绑定表项、ND Snooping表项和DHCPv6 Snooping安全表项进行匹配。如果设备上存在与报文源IPv6地址和源MAC地址匹配的任意一种表项,则认为该ND报文合法,进行转发。否则,认为该报文非法,直接丢弃。

各种表项的生成方式为:

·     IPv6 Source Guard静态绑定表项:通过ipv6 source binding命令生成,详细介绍请参见“安全配置指导”中的“IP Source Guard”。

·     ND Snooping表项:通过ND Snooping功能自动生成,详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6邻居发现”。

·     DHCPv6 Snooping安全表项:通过ND Snooping功能自动生成,详细介绍请参见“三层技术-IP业务配置指导”中的“DHCPv6”。

1.4.2  配置限制和指导

·     配置ND Detection功能时,必须至少配置IPv6 Source Guard静态绑定表项、DHCPv6 Snooping功能和ND Snooping功能三者之一,否则所有从ND非信任接口收到的ND报文都将被丢弃。

·     在与ND Detection功能配合时,IPv6 Source Guard绑定表项中必须指定VLAN参数,且该VLAN为配置ND Detection功能的VLAN,否则ND报文将无法通过接口的IPv6 Source Guard静态绑定表项的检查。

1.4.3  在VLAN内配置ND Detection功能

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     开启ND Detection功能。

ipv6 nd detection enable

缺省情况下,ND Detection功能处于关闭状态。即不进行用户合法性检查。

(4)     (可选)将不需要进行用户合法性检查的接口配置为ND信任接口。

a.     退回系统视图。

quit

b.     进入接口视图。

interface interface-type interface-number

c.     将不需要进行用户合法性检查的接口配置为ND信任接口。

ipv6 nd detection trust

缺省情况下,接口为ND非信任接口。

1.4.4  开启ND Detection忽略端口匹配检查功能 1. 功能简介

设备开启ND Detection功能后,可以根据IP Source Guard的本地表项和远端表项对接口上收到的用户报文进行安全检查。由于IP Source Guard远端表项不存在接口信息,ND Detection收到匹配远端表项的ND报文后,会因为收到报文的接口和IP Source Guard表项接口信息不匹配丢弃该报文。开启ND Detection忽略端口匹配检查功能后,ND Detection不会检查收到报文的接口信息,使匹配远端表项的ND报文能够通过检查,不会被丢弃。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ND Detection忽略端口匹配检查功能。

ipv6 nd detection port-match-ignore

缺省情况下,ND Detection忽略端口匹配检查功能处于关闭状态。

1.4.5  配置ND Detection日志功能 1. 功能简介

配置ND Detection日志功能后,设备在检测到非法ND报文时将生成检测日志,日志内容包括:

·     在VLAN组网中,显示的是受到攻击的端口编号;

·     非法ND报文的源IP地址;

·     非法ND报文的源MAC地址;

·     非法ND报文所属的VLAN ID;

·     丢弃的ND报文总数。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ND Detection日志功能。

ipv6 nd detection log enable

缺省情况下,ND Detection日志功能处于关闭状态。

1.4.6  ND Detection功能显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后ND Detection的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,用户可以执行reset命令清除ND Detection的统计信息。

表1-1 ND Detection功能显示和维护

操作

命令

显示ND Detection丢弃报文的统计信息

display ipv6 nd detection statistics [ interface interface-type interface-number ]

清除ND Detection的统计信息

reset ipv6 nd detection statistics [ interface interface-type interface-number ]

 

1.4.7  ND Detection功能典型配置举例 1. 组网需求

用户Host A和Host B通过DeviceB接入网关Device A。用户Host A的IPv6地址是10::5/64,MAC地址是0001-0203-0405。用户Host B的IPv6地址是10::6/64,MAC地址是0001-0203-0607。

要求:在Device B上配置ND Detection功能对用户的合法性进行检查,保证合法用户的报文可以被正常转发,非法用户的报文被丢弃。

2. 组网图

图1-2 配置ND Detection组网图

3. 配置步骤

(1)     配置Device A

# 创建VLAN 10。

system-view

[DeviceA] vlan 10

[DeviceA-vlan10] quit

# 配置接口Ten-GigabitEthernet1/0/3允许VLAN 10的报文通过。

[DeviceA] interface ten-gigabitethernet 1/0/3

[DeviceA-Ten-GigabitEthernet1/0/3] port link-type trunk

[DeviceA-Ten-GigabitEthernet1/0/3] port trunk permit vlan 10

[DeviceA-Ten-GigabitEthernet1/0/3] quit

# 配置VLAN接口10的IPv6地址。

[DeviceA] interface vlan-interface 10

[DeviceA-Vlan-interface10] ipv6 address 10::1/64

[DeviceA-Vlan-interface10] quit

(2)     配置Device B

# 创建VLAN 10。

system-view

[DeviceB] vlan 10

[DeviceB-vlan10] quit

# 配置接口Ten-GigabitEthernet1/0/1~Ten-GigabitEthernet1/0/3允许VLAN 10的报文通过。

[DeviceB] interface ten-gigabitethernet 1/0/1

[DeviceB-Ten-GigabitEthernet1/0/1] port link-type access

[DeviceB-Ten-GigabitEthernet1/0/1] port access vlan 10

[DeviceB-Ten-GigabitEthernet1/0/1] quit

[DeviceB] interface ten-gigabitethernet 1/0/2

[DeviceB-Ten-GigabitEthernet1/0/2] port link-type access

[DeviceB-Ten-GigabitEthernet1/0/2] port access vlan 10

[DeviceB-Ten-GigabitEthernet1/0/2] quit

[DeviceB] interface ten-gigabitethernet 1/0/3

[DeviceB-Ten-GigabitEthernet1/0/3] port link-type trunk

[DeviceB-Ten-GigabitEthernet1/0/3] port trunk permit vlan 10

[DeviceB-Ten-GigabitEthernet1/0/3] quit

# 开启ND Detection功能。

[DeviceB] vlan 10

[DeviceB-vlan10] ipv6 nd detection enable

# 开启ND Snooping表项获取功能,通过ND报文的源地址(包括全球单播地址和链路本地地址)生成ND Snooping表项。

[DeviceB-vlan10] ipv6 nd snooping enable global

[DeviceB-vlan10] ipv6 nd snooping enable link-local

[DeviceB-vlan10] quit

# 将上行接口Ten-GigabitEthernet1/0/3配置为ND信任接口,下行接口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2采用缺省配置,即为ND非信任接口。

[DeviceB] interface ten-gigabitethernet 1/0/3

[DeviceB-Ten-GigabitEthernet1/0/3] ipv6 nd detection trust

4. 验证配置

完成上述配置后,对于接口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2收到的ND报文,基于ND Snooping安全表项进行检查。

1.5  配置RA Guard功能 1.5.1  功能简介

RA Guard功能用来在二层接入设备上防范路由通告报文(RA报文)欺骗攻击。

二层接入设备收到目的MAC地址为单播或组播地址的RA报文后,RA Guard功能按照如下方式处理RA报文:

·     如果接收RA报文的接口配置了接口角色,则通过系统根据接口角色来选择转发还是丢弃该报文:

¡     若接口角色为路由器,则直接转发RA报文;

¡     若接口角色为用户,则直接丢弃RA报文。

·     如果接收RA报文的接口没有配置接口角色,则该报文继续匹配该接口属VLAN内的RA Guard策略:

¡     若RA Guard策略中未配置任何匹配规则,则应用该策略的接口直接转发RA报文;

¡     若RA Guard策略中配置了匹配规则,则RA报文需匹配策略下所有规则成功才会被转发;否则,该报文即被丢弃。

1.5.2  配置接口角色 1. 配置限制和指导

可根据接口在组网中的位置来配置接口的角色。如果确认接口连接的是用户主机,则配置接口角色为用户角色(host);如果确定接口连接的是路由器,则配置接口角色为路由器角色(router)。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图

interface interface-type interface-number

¡     进入二层聚合接口视图

interface bridge-aggregation interface-number

(3)     配置接口角色。

ipv6 nd raguard role { host | router }

缺省情况下,未配置接口角色。

1.5.3  配置及应用RA Guard策略 1. 功能简介

对于下面两种情况,可通过配置RA Guard策略对RA报文按规则匹配条件进行过滤:

·     不能判断接口连接的设备/终端类型,即不能通过配置接口角色来选择丢弃还是转发RA报文;

·     确认接口连接的是路由器,但用户不希望直接转发RA报文而是进行过滤。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建RA Guard策略,并进入RA Guard策略视图。

ipv6 nd raguard policy policy-name

(3)     配置RA Guard策略。请至少选择其中一项进行配置。

¡     配置ACL匹配规则。

if-match acl { ipv6-acl-number | name ipv6-acl-name }

¡     配置前缀匹配规则。

if-match prefix acl { ipv6-acl-number | name ipv6-acl-name }

¡     配置路由最高优先级匹配规则。

if-match router-preference maximum { high | low | medium }

¡     配置被管理地址标志位匹配规则。

if-match autoconfig managed-address-flag { off | on }

¡     配置其他信息配置标志位匹配规则。

if-match autoconfig other-flag { off | on }

¡     配置RA报文内跳数最大值或最小值匹配规则。

if-match hop-limit { maximum | minimum } limit

缺省情况下,未配置RA Guard策略。

(4)     退回系统视图。

quit

(5)     进入VLAN视图。

vlan vlan-number

(6)     应用RA Guard策略。

ipv6 nd raguard apply policy [ policy-name ]

缺省情况下,未应用RA Guard策略。

1.5.4  配置RA Guard日志功能 1. 功能简介

RA Guard日志可以方便管理员定位问题和解决问题,对处理RA报文的信息进行的记录。开启RA Guard日志功能后,设备在检测到非法RA报文时将生成检测日志,日志内容包括:受到攻击的接口名称、RA报文的源IP地址和丢弃的RA报文总数。

设备生成的RA Guard日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启RA Guard日志功能。

ipv6 nd raguard log enable

缺省情况下,RA Guard日志功能处于关闭状态。

1.5.5  RA Guard功能显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示RA Guard策略的信息。

表1-2 RA Guard 功能显示和维护

操作

命令

显示已创建的RA Guard策略信息

display ipv6 nd raguard policy [ policy-name ]

显示RA Guard的报文统计信息

display ipv6 nd raguard statistics [ interface interface-type interface-number ]

清除RA Guard的报文统计信息

reset ipv6 nd raguard statistics [ interface interface-type interface-number ]

 

1.5.6  RA Guard功能典型配置举例 1. 组网需求

如图1-3所示,在Device B上通过接口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2分别连接主机Host和Device C,通过接口Ten-GigabitEthernet1/0/3连接Device A。接口Ten-GigabitEthernet1/0/1、Ten-GigabitEthernet1/0/2和Ten-GigabitEthernet1/0/3都属于VLAN 10。

为防范路由通告报文(RA报文)欺骗攻击,可在Device B上配置RA Guard策略规则,并在VLAN 10下应用该策略规则:

·     接口Ten-GigabitEthernet1/0/2连接的是未知设备,用户希望该接口对RA报文按RA Guard策略规则进行匹配过滤;

·     接口Ten-GigabitEthernet1/0/1连接的是用户,用户希望该接口完全过滤RA报文将其直接丢弃;

·     接口Ten-GigabitEthernet1/0/3连接的是Device A,用户希望该接口完全信任RA报文将其直接转发。

2. 组网图

图1-3 RA Guard功能组网图

3. 配置步骤

# 在Device B上创建RA Guard策略policy1,并配置匹配规则。匹配最高路由优先级为高,被管理地址标志位置为1、其他信息配置标志位置为1、跳数最小值为100且最大值为120的RA报文。

system-view

[DeviceB] ipv6 nd raguard policy policy1

[DeviceB-raguard-policy-policy1] if-match router-preference maximum high

[DeviceB-raguard-policy-policy1] if-match autoconfig managed-address-flag on

[DeviceB-raguard-policy-policy1] if-match autoconfig other-flag on

[DeviceB-raguard-policy-policy1] if-match hop-limit maximum 120

[DeviceB-raguard-policy-policy1] if-match hop-limit minimum 100

[DeviceB-raguard-policy-policy1] quit

# 配置接口Ten-GigabitEthernet1/0/1~Ten-GigabitEthernet1/0/3允许VLAN 10的报文通过,并在VLAN 10下应用RA Guard策略。

[DeviceB] interface ten-gigabitethernet 1/0/1

[DeviceB-Ten-GigabitEthernet1/0/1] port link-type access

[DeviceB-Ten-GigabitEthernet1/0/1] port access vlan 10

[DeviceB-Ten-GigabitEthernet1/0/1] quit

[DeviceB] interface ten-gigabitethernet 1/0/2

[DeviceB-Ten-GigabitEthernet1/0/2] port link-type access

[DeviceB-Ten-GigabitEthernet1/0/2] port access vlan 10

[DeviceB-Ten-GigabitEthernet1/0/2] quit

[DeviceB] interface ten-gigabitethernet 1/0/3

[DeviceB-Ten-GigabitEthernet1/0/3] port link-type trunk

[DeviceB-Ten-GigabitEthernet1/0/3] port trunk permit vlan 10

[DeviceB-Ten-GigabitEthernet1/0/3] quit

[DeviceB] vlan 10

[DeviceB-vlan10] ipv6 nd raguard apply policy policy1

[DeviceB-vlan10] quit

# 配置接口Ten-GigabitEthernet1/0/1为用户角色。

[DeviceB] interface ten-gigabitethernet 1/0/1

[DeviceB-Ten-GigabitEthernet1/0/1] ipv6 nd raguard role host

[DeviceB-Ten-GigabitEthernet1/0/1] quit

# 配置接口Ten-GigabitEthernet1/0/3为路由器角色。

[DeviceB] interface ten-gigabitethernet 1/0/3

[DeviceB-Ten-GigabitEthernet1/0/3] ipv6 nd raguard role router

[DeviceB-Ten-GigabitEthernet1/0/3] quit

4. 验证配置

完成上述配置后:

·     从接口Ten-GigabitEthernet1/0/2收到的RA报文,会匹配RA Guard策略policy1:

¡     如果匹配失败则丢弃;

¡     如果匹配成功,报文会被转发到VLAN 10下其他接口。

·     从接口Ten-GigabitEthernet1/0/1收到的RA报文,不会匹配RA Guard策略policy1,RA报文都被直接丢弃。

对于接口Ten-GigabitEthernet1/0/3收到的RA报文,不会和策略policy1下的规则进行匹配,RA报文都直接被转发,在同一VLAN的其他接口也会收到此RA报文。

1.6  ND的Keepalive表项扫描功能 1.6.1  功能简介

在规模较大的组网环境中(比如园区网络),使用ND周期性扫描功能后,如果指定的扫描范围过大,会导致需要较长的时间才能扫描到异常下线的主机。开启本功能后系统可以通过Keepalive表项快速定位异常下线的主机,并在老化时间内对异常下线主机的状态进行监测。

用户上线后,系统会生成动态ND表项和IP Source Guard绑定表项。开启本功能后,系统会根据这些表项建立状态为在线的Keepalive表项。用户下线后其ND表项会被删除,对应的Keepalive表项的状态被置为离线。设备每隔一段时间会向处于离线状态的Keepalive表项对应的IPv6地址发送ND请求报文,直到Keepalive表项的状态恢复成在线或离线状态的Keepalive表项被删除。处于离线状态的Keepalive表项在老化时间内没有恢复成在线便会被删除。对于某处于离线状态的Keepalive表项,设备发送ND请求报文的间隔时间由已经向此Keepalive表项对应的IPv6地址发送的ARP请求报文的个数决定。关于IP Source Guard的详细介绍,请参见“安全配置指导”中的“IP Source Guard”。

1.6.2  配置ND的Keepalive表项扫描功能

(1)     进入系统视图。

system-view

(2)     (可选)设置ND的Keepalive表项扫描速率。

ipv6 nd scan keepalive send-rate pps

缺省情况下,ND的Keepalive表项扫描速率为每秒发送48个ND请求报文。

(3)     (可选)配置ND的Keepalive表项的老化时间

ipv6 nd scan keepalive aging-time time

缺省情况下,ND的Keepalive表项的老化时间为60分钟。

(4)     进入接口视图。

interface interface-type interface-number

(5)     开启ND的Keepalive表项扫描功能。

ipv6 nd scan keepalive enable

缺省情况下,接口上的ND的Keepalive表项扫描功能处于关闭状态。

1.6.3  ND的Keepalive表项扫描显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示ND的Keepalive表项扫描的相关信息。

在用户视图下,用户可以执行reset命令清除接口向异常状态的Keepalive表项发送的ND请求报文的计数信息。

表1-3 ARP的Keepalive表项扫描显示信息

操作

命令

显示ND的Keepalive表项信息

display ipv6 nd scan keepalive entry [ interface interface-type interface-number ] [ count ]

显示接口向异常状态的Keepalive表项发送的NS报文个数

display ipv6 nd scan keepalive statistics [ interface interface-type interface-number ] [ slot slot-number ]

清除接口向异常状态的Keepalive表项发送的NS报文的计数信息

reset ipv6 nd scan keepalive statistics [ slot slot-number ]

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有