URPF简介
介绍URPF的定义、由来和作用。
定义
URPF(Unicast Reverse Path Forwarding)是单播逆向路径转发的简称,其主要功能是防止基于源IP地址欺骗的网络攻击行为。
目的
拒绝服务DoS(Denial of Service)攻击是一种阻止连接服务的网络攻击。DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
URPF根据数据包的源IP地址在FIB表中查找对应的出接口,并判断该接口是否与数据包的来源接口相匹配。如果没有匹配表项则丢弃该数据包,从而预防IP欺骗,特别是针对伪造IP源地址的DoS攻击非常有效。
受益
帮助网络维护者防御网络上的IP源攻击,降低对IP源攻击的维护成本。
用户能获得更安全、稳定的网络环境,不用担心因IP源攻击带来的困扰。
URPF原理描述介绍URPF的实现原理。 工作模式在复杂的网络环境中应用URPF时,会遇到路由不对称的情况,即对端设备记录的路由路径不一样,此时使能URPF的设备可能丢弃合法报文,造成设备不能正确转发。 为了解决以上复杂网络中应用URPF的问题,设备实现了URPF的两种工作模式: - 严格模式
严格模式下,设备不仅要求报文源地址在FIB表中存在相应表项,还要求接口匹配才能通过URPF检查。 建议在路由对称的环境下使用URPF严格模式,例如两个网络边界设备之间只有一条路径的话,这时,使用严格模式能够最大限度的保证网络的安全性。 - 松散模式
松散模式下,设备不检查接口是否匹配,只要FIB表中存在该报文源地址的路由,报文就可以通过。 建议在不能保证路由对称的环境下使用URPF的松散模式,例如两个网络边界设备之间如果有多条路径连接的话,路由的对称性就不能保证,在这种情况下,URPF的松散模式也可以保证较强的安全性。
工作原理URPF通过获取报文的源地址和入接口,在FIB表中查找源地址对应的接口是否与入接口匹配。如果不匹配,则认为源地址是伪装的,丢弃该报文。通过这种工作方式,URPF能有效地防范网络中通过修改源地址而进行的恶意攻击行为。 图14-1 URPF原理

如图14-1所示,在RouterA上伪造源地址为2.1.1.1的报文向RouterB发起请求,RouterB响应请求时将向真正的“2.1.1.1”即RouterC发送报文。这种非法报文对RouterB和RouterC都造成了攻击。 如果在RouterB上启用URPF严格检查,则RouterB在收到源地址为2.1.1.1的报文时,URPF检查到以此报文源地址对应的接口与收到该报文的接口不匹配,报文会被丢弃。
URPF应用场景介绍URPF的应用场景。 严格模式下的URPF应用如图14-2所示,AS1和AS2与AS3之间为单连接。在RouterC的Interface1接口和Interface2接口上配置URPF,可以保护AS3免受来自AS1和AS2的源地址欺骗攻击。 如果AS1中的主机PC A伪造了一个源地址为2.2.2.2的报文,向AS3中的Server发送请求。RouterC在接收到这个报文后,检查其入接口是否匹配,发现源地址为2.2.2.2的报文应该从Interface2进入,则RouterC认为该报文源地址是伪造的,直接丢弃该报文。 从AS2发向Server的正常报文,检查通过后,被正常的转发。 图14-2 URPF单宿主客户应用环境示意图

松散模式下的URPF应用两个网络边界设备之间多个连接有单宿主单ISP客户和多宿主多ISP客户两种情况。 单宿主单ISP客户 图14-3 URPF单宿主单ISP客户应用环境示意图

如图14-3所示,为了保证可靠性,某公司网络和某个ISP之间有两条连接。这时就不能够保证Enterprise和ISP之间路由的对称性,必须使用URPF松散模式。 多宿主多ISP客户 图14-4 URPF多宿主多ISP客户应用环境示意图

在图14-4所示环境中,客户与多个ISP连接,很难保证Enterprise和两个ISP之间路由的对称性,必须使用URPF松散模式。 客户与多个ISP连接下的URPF可以具有以下应用:
|