18-uRPF配置
本章节下载: 18-uRPF配置 (327.26 KB)
uRPF(unicast Reverse Path Forwarding,单播反向路径转发)是一种单播逆向路由查找技术,用来防范基于源地址欺骗的攻击手段,例如基于源地址欺骗的DoS(Denial of Service,拒绝服务)攻击和DDoS(Distributed Denial of Service,分布式拒绝服务)攻击。
对于使用基于IP地址验证的应用来说,基于源地址欺骗的攻击手段可能导致未被授权用户以他人,甚至是管理员的身份获得访问系统的权限。因此即使响应报文没有发送给攻击者或其它主机,此攻击方法也可能会造成对被攻击对象的破坏。
如图1-1所示,攻击者在Router A上伪造并向Router B发送大量源地址为2.2.2.1的报文,Router B响应这些报文并向真正的“2.2.2.1”(Router C)回复报文。因此这种非法报文对Router B和Router C都造成了攻击。如果此时网络管理员错误地切断了Router C的连接,可能会导致网络业务中断甚至更严重的后果。
攻击者也可以同时伪造不同源地址的攻击报文或者同时攻击多个服务器,从而造成网络阻塞甚至网络瘫痪。
uRPF可以有效防范上述攻击。一般情况下,设备在收到报文后会根据报文的目的地址对报文进行转发或丢弃。而uRPF可以在转发表中查找报文源地址对应的接口是否与报文的入接口相匹配,如果不匹配则认为源地址是伪装的并丢弃该报文,从而有效地防范网络中基于源地址欺骗的恶意攻击行为的发生。
uRPF检查有严格(strict)型和松散(loose)型两种。
不仅检查报文的源地址是否在转发表中存在,而且检查报文的入接口与转发表是否匹配。
在一些特殊情况下(如非对称路由,即设备上行流量的入接口和下行流量的出接口不相同),严格型uRPF检查会错误地丢弃非攻击报文。
一般将严格型uRPF检查布置在ISP的用户端和ISP端之间。
仅检查报文的源地址是否在转发表中存在,而不再检查报文的入接口与转发表是否匹配。
松散型uRPF检查可以避免错误的拦截合法用户的报文,但是也容易忽略一些攻击报文。
一般将松散型uRPF检查布置在ISP-ISP端。另外,如果用户无法保证路由对称,可以使用松散型uRPF检查。
当设备上配置了缺省路由后,会导致uRPF根据转发表检查源地址时,所有源地址都能查到下一跳。针对这种情况,支持用户配置uRPF是否允许匹配缺省路由。如果允许匹配缺省路由(配置allow-default-route),则当uRPF查询转发表得到的结果是缺省路由时,认为查到了匹配的表项;如果不允许匹配缺省路由,则当uRPF查询转发表得到的结果是缺省路由时,认为没有查到匹配的表项。
缺省情况下,如果uRPF查询转发表得到的结果是缺省路由,则按没有查到表项处理,丢弃报文。
运营商网络边缘位置一般不会有缺省路由指向客户侧设备,所以一般不需要配置allow-default-route。如果在客户侧边缘设备接口上面启用uRPF,这时往往会有缺省路由指向运营商,此时需要配置allow-default-route。
uRPF的处理流程如图1-2所示。
图1-2 uRPF处理流程图
(1) 检查地址合法性:对于目的地址是组播地址的报文直接放行。否则,进入步骤(2);
(2) 检查用户是否配置为松散型检查,如果是,则根据报文源IP地址查找转发表;否则,根据报文源IP地址和入接口查找转发表。检查完成后进入步骤(3);
(3) 对于源IP地址是全零的报文,如果目的地址是广播,则放行;如果目的地址不是广播,则丢弃报文;
(4) 对于源IP地址不是全零的报文,判断报文的源IP地址在转发表中是否存在匹配的单播路由:如果不存在,则丢弃报文,否则进入步骤(5);
(5) 如果转发表中匹配的是上送本机路由,即查到InLoop接口,则检查报文入接口是否是InLoop接口:如果是,则直接放行,否则丢弃报文;如果转发表中匹配的不是上送本机路由则继续步骤(6);
(6) 如果转发表中匹配的是缺省路由,则检查用户是否配置了允许匹配缺省路由(参数allow-default-route):如果没有配置,则丢弃报文,否则正常转发;如果转发表中匹配的不是缺省路由,则直接放行。
图1-3 uRPF典型组网应用
通常在ISP上配置uRPF,在ISP与用户端,配置严格型uRPF检查,在ISP与ISP端,配置松散型uRPF检查。
用户可在全局和接口上配置uRPF功能,全局配置对设备的所有接口生效。
当同时在全局和接口上配置uRPF功能时,接口上的配置优先生效。
全局或接口上开启uRPF功能后,IPv6 uRPF功能会同时开启。全局或同一接口下uRPF和IPv6 uRPF的检查模式、是否允许默认路由的配置应保持一致。
严格型uRPF检查与等价路由功能同时使用时,等价路由不超过8条时,匹配等价路由的业务报文进行严格型uRPF检查,超过8条等价路由时业务报文将进行松散型uRPF检查。
SF系列接口板上的三层以太网接口只能进行松散型uRPF检查。
接口上的uRPF功能仅适用于:三层以太网接口、三层以太网子接口、三层聚合接口、三层聚合子接口、Vlan接口。
LSQM1TGS16GPSA0单板上的uRPF功能仅适用于Vlan接口。
配置uRPF功能后短时间内,三层业务流量不通,请合理规划组网配置。
uRPF检查仅对接口收到的报文有效。
支持VXLAN三层网关的单板,全局开启uRPF检查,只在VLAN接口生效。
三层以太网接口配置uRPF功能后,不支持作为隧道公网接口。
uRPF检查功能对被隧道封装后的报文不生效。配置的uRPF检查模式不同,设备对该报文的处理结果有所不同:
· 设备上配置松散uRPF检查时,直接放行该报文。
· 设备上配置严格uRPF检查时,直接丢弃该报文。
在MPLS网络中,如果本设备为倒数第二跳设备分配了隐式空标签,则从该倒数第二跳设备收到的MPLS报文无法进行严格型uRPF检查。关于MPLS隐式空标签的详细介绍,请参见“MPLS配置指导”中的“MPLS基础”。
配置松散型uRPF检查时不建议配置allow-default-route参数,否则可能导致防攻击能力失效。
Super VLAN、Private VLAN、ARP代理转发、ND代理转发、SAVA、业务板代理模式不能与uRPF功能同时开启。Super VLAN和Private VLAN功能的详细介绍请参见“二层技术-以太网交换配置指导”中的“VLAN”。ARP代理转发功能的详细介绍请参见“三层技术-IP业务配置指导”中的“ARP”。ND代理转发功能的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。SAVA功能的详细介绍请参见“安全配置指导”中的“SAVA”。业务板代理模式的详细介绍请参见“基础配置指导”中的“设备管理”。
表1-1 配置全局uRPF
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
在全局下打开uRPF功能 |
ip urpf { loose | strict } [ allow-default-route ] |
缺省情况下,uRPF功能处于关闭状态 |
表1-2 配置接口uRPF
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启uRPF功能 |
ip urpf { loose | strict } [ allow-default-route ] |
缺省情况下,uRPF功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置uRPF后的运行情况,通过查看显示信息验证配置的效果。
表1-3 uRPF显示和维护
配置步骤 |
命令 |
显示uRPF的配置应用情况(独立运行模式) |
display ip urpf [ interface interface-type interface-number ] [ slot slot-number ] |
显示uRPF的配置应用情况(IRF模式) |
display ip urpf [ interface interface-type interface-number ] [ chassis chassis-number slot slot-number ] |
· 客户交换机Switch A与ISP交换机Switch B直连,在Switch B上配置严格型uRPF检查。
· 在Switch A上配置严格型uRPF检查,同时允许匹配缺省路由。
图1-4 uRPF配置举例组网图
# 配置严格型uRPF检查。
[SwitchB] ip urpf strict
# 配置严格型uRPF检查,同时允许匹配缺省路由。
[SwitchA] ip urpf strict allow-default-route
uRPF(unicast Reverse Path Forwarding,单播反向路径转发)是一种单播逆向路由查找技术,用来防范基于源地址欺骗的攻击手段,例如基于源地址欺骗的DoS(Denial of Service,拒绝服务)攻击和DDoS(Distributed Denial of Service,分布式拒绝服务)攻击。
对于使用基于IP地址验证的应用来说,基于源地址欺骗的攻击手段可能导致未被授权用户以他人,甚至是管理员的身份获得访问系统的权限。因此即使响应报文没有发送给攻击者或其它主机,此攻击方法也可能会造成对被攻击对象的破坏。
如图2-1所示,攻击者在Router A上伪造并向Router B发送大量源地址为2000::1的报文,Router B响应这些报文并向真正的“2000::1”(Router C)回复报文。因此这种非法报文对Router B和Router C都造成了攻击。如果此时网络管理员错误地切断了Router C的连接,可能会导致网络业务中断甚至更严重的后果。
攻击者也可以同时伪造不同源地址的攻击报文或者同时攻击多个服务器,从而造成网络阻塞甚至网络瘫痪。
uRPF可以有效防范上述攻击。一般情况下,设备在收到报文后会根据报文的目的地址对报文进行转发或丢弃。而uRPF可以在转发表中查找报文源地址对应的接口是否与报文的入接口相匹配,如果不匹配则认为源地址是伪装的并丢弃该报文,从而有效地防范网络中基于源地址欺骗的恶意攻击行为的发生。
IPv6 uRPF检查有严格(strict)型和松散(loose)型两种。
不仅检查报文的源地址是否在IPv6转发表中存在,而且检查报文的入接口与IPv6转发表是否匹配。
在一些特殊情况下(如非对称路由,即设备上行流量的入接口和下行流量的出接口不相同),严格型IPv6 uRPF检查会错误地丢弃非攻击报文。
一般将严格型IPv6 uRPF检查布置在ISP的用户端和ISP端之间。
仅检查报文的源地址是否在IPv6转发表中存在,而不再检查报文的入接口与IPv6转发表是否匹配。
松散型IPv6 uRPF检查可以避免错误的拦截合法用户的报文,但是也容易忽略一些攻击报文。
一般将松散型IPv6 uRPF检查布置在ISP-ISP端。另外,如果用户无法保证路由对称,可以使用松散型IPv6 uRPF检查。
当设备上配置了缺省路由后,会导致IPv6 uRPF根据IPv6转发表检查源地址时,所有源地址都能查到下一跳。针对这种情况,支持用户配置IPv6 uRPF是否允许匹配缺省路由。如果允许匹配缺省路由(配置allow-default-route),则当IPv6 uRPF查询IPv6转发表得到的结果是缺省路由时,认为查到了匹配的表项;如果不允许匹配缺省路由,则当IPv6 uRPF查询IPv6转发表得到的结果是缺省路由时,认为没有查到匹配的表项。
缺省情况下,如果IPv6 uRPF查询IPv6转发表得到的结果是缺省路由,则按没有查到表项处理,丢弃报文。
运营商网络边缘位置一般不会有缺省路由指向客户侧设备,所以一般不需要配置allow-default-route。如果在客户侧边缘设备接口上面启用IPv6 uRPF,这时往往会有缺省路由指向运营商,此时需要配置allow-default-route。
IPv6 uRPF的处理流程如图2-2所示。
图2-2 IPv6 uRPF处理流程图
(1) 检查地址合法性:对于目的地址是组播地址的报文直接放行。否则,进入步骤(2);
(2) 检查用户是否配置为松散型检查,如果是,则根据报文源IP地址查找IPv6转发表;否则,根据报文源IP地址和入接口查找IPv6转发表。检查完成后进入步骤(3);
(3) 对于源地址是链路本地地址的报文,检查报文入接口是否是InLoop接口:如果是,则直接放行,否则进入步骤(4);
(4) 对于源地址是全零地址的报文,直接丢弃报文,否则进入步骤(5);
(5) 检查报文的源地址在IPv6转发表中是否存在匹配的单播路由:如果在IPv6转发表中查找失败,则丢弃报文,否则进入步骤(6);
(6) 如果IPv6转发表中匹配的是上送本机路由,则检查报文入接口是否是InLoop接口:如果是,则直接放行,否则丢弃报文;如果IPv6转发表中匹配的不是上送本机路由则继续步骤(7);
(7) 如果IPv6转发表中匹配的是缺省路由,则检查用户是否配置了允许匹配缺省路由(参数allow-default-route),如果没有配置,则丢弃报文,否则进行正常转发;如果IPv6转发表中匹配的不是缺省路由,则直接放行。
图2-3 IPv6 uRPF典型组网应用
通常在ISP上配置uRPF,在ISP与用户端,配置严格型IPv6 uRPF检查,在ISP与ISP端,配置松散型IPv6 uRPF检查。
用户可在全局和接口上配置IPv6 uRPF功能,全局配置对设备的所有接口生效。
当同时在全局和接口上配置IPv6 uRPF功能时,接口上的配置优先生效。
全局或接口上开启IPv6 uRPF功能后,uRPF功能会同时开启。全局或同一接口下IPv6 uRPF和uRPF的检查模式、是否允许默认路由的配置应保持一致。
严格型IPv6 uRPF检查与等价路由功能同时使用时,等价路由不超过8条时,匹配等价路由的业务报文进行严格型IPv6 uRPF检查,超过8条等价路由时业务报文将进行松散型IPv6 uRPF检查。
SF系列接口板上的三层以太网接口只能进行松散型IPv6 uRPF检查。
接口上的IPv6 uRPF功能仅适用于:三层以太网接口、三层以太网子接口、三层聚合接口、三层聚合子接口、Vlan接口。
LSQM1TGS16GPSA0单板上的IPv6 uRPF功能仅适用于Vlan接口。
配置IPv6 uRPF功能后短时间内,三层业务流量不通,请合理规划组网配置。
收到源地址前缀大于64bit的报文时,SA系列接口板不支持对其进行IPv6 uRPF检查。
IPv6 uRPF检查仅对接口收到的报文有效。
支持VXLAN三层网关的单板,全局开启IPv6 uRPF检查,只在VLAN接口生效。
三层以太网接口配置IPv6 uRPF功能后,不支持作为隧道公网接口。
IPv6 uRPF检查功能对被隧道封装后的报文不生效。配置的IPv6 uRPF检查模式不同,设备对该报文的处理结果有所不同:
· 设备上配置松散IPv6 uRPF检查时,直接放行该报文。
· 设备上配置严格IPv6 uRPF检查时,直接丢弃该报文。
在MPLS网络中,如果本设备为倒数第二跳设备分配了隐式空标签,则从该倒数第二跳设备收到的MPLS报文无法进行严格型IPv6 uRPF检查。关于MPLS隐式空标签的详细介绍,请参见“MPLS配置指导”中的“MPLS基础”。
配置松散型IPv6 uRPF检查时不建议配置allow-default-route参数,否则可能导致防攻击能力失效。
Super VLAN、Private VLAN、ARP代理转发、ND代理转发、SAVA、业务板代理模式不能与IPv6 uRPF功能同时开启。Super VLAN和Private VLAN功能的详细介绍请参见“二层技术-以太网交换配置指导”中的“VLAN”。ARP代理转发功能的详细介绍请参见“三层技术-IP业务配置指导”中的“ARP”。ND代理转发功能的详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。SAVA功能的详细介绍请参见“安全配置指导”中的“SAVA”。业务板代理模式的详细介绍请参见“基础配置指导”中的“设备管理”。
表2-1 配置全局IPv6 uRPF
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
在全局下打开IPv6 uRPF功能 |
ipv6 urpf { loose | strict } [ allow-default-route ] |
缺省情况下,IPv6 uRPF功能处于关闭状态 |
表2-2 配置接口IPv6 uRPF
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启IPv6 uRPF功能 |
ipv6 urpf { loose | strict } [ allow-default-route ] |
缺省情况下,IPv6 uRPF功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置IPv6 uRPF后的运行情况,通过查看显示信息验证配置的效果。
表2-3 IPv6 uRPF显示和维护
配置步骤 |
命令 |
显示IPv6 uRPF的配置应用情况(独立运行模式) |
display ipv6 urpf [ interface interface-type interface-number ] [ slot slot-number ] |
显示IPv6 uRPF的配置应用情况(IRF模式) |
display ipv6 urpf [ interface interface-type interface-number ] [ chassis chassis-number slot slot-number ] |
客户交换机Switch A与ISP交换机Switch B直连,在Switch B上启动IPv6 uRPF,要求配置严格型IPv6 uRPF检查;在Switch A上启动IPv6 uRPF,要求配置严格型IPv6 uRPF检查,同时允许匹配缺省路由。
图2-4 IPv6 uRPF配置举例组网图
# 配置严格型IPv6 uRPF检查。
[SwitchB] ipv6 urpf strict
# 配置严格型IPv6 uRPF检查,同时允许匹配缺省路由。
[SwitchA] ipv6 urpf strict allow-default-route
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!