Unicast RPF (uRPF)

A feature uRPF compara o endereço IP de origem do cabeçalho IP com a tabela de rotas, com o objetivo de descartar pacotes que não possuem uma referência de rotas em determinada interface. Em resumo, o roteador só encaminhará o pacote, se o endereço IP de origem inserido no cabeçalho for acessível por aquela interface de entrada.

Lembrando que por padrão, no encaminhamento de pacotes, o roteador irá validar apenas o endereço de destino de um pacote IP.

O uRPF possui 2 modos distintos (strict e loose) que podem potencialmente ajudar a reduzir ataques com endereços IP falsificados.

Em um exemplo simples, é como se um roteador com uma interface com o endereço de LAN 192.168.1.0/24 receber um pacote com o endereço de origem 172.16.1.20. Esse endereço não faz parte da rede local.

Unicast RPF Strict Mode

uRPF strict mode permitirá apenas os pacotes acessíveis por aquela interface.

No caso de rotas com custos iguais, o tráfego também será encaminhado.

O roteador irá validar os pacotes que estão entrando no roteador e validará com a FIB. Se o pacote é recebido pela interface e tem rota para o endereço de origem do cabeçalho (para aquela interface), o pacote será recebido e encaminhado.

O comando a ser aplicado em uma interface é “ip verify unicast source reachable-via rx”. No caso de roteamento assimétrico, o tráfego será descartado.

R1(config-if)#ip verify unicast source reachable-via rx

Validando os pacotes descartados

R1 # show ip int fa0/0 | i ^  [1-9]+ verification drops
     8 verification drops
R1# show ip traffic | i unicast
     0 no route, 8 unicast RPF, 0 forced drop

Unicast RPF Loose mode

O uRPF configurado como loose mode, bloqueará pacotes que não possuem a rede de origem na tabela de roteamento. Por exemplo, caso haja duas interfaces com rotas diferentes para a mesma rede e o pacote vir por uma porta que não é a rota preferida pelo roteador, o mesmo roteará o pacote.

O uRPF loose mode é bastante útil para roteadores que aprendem suas rotas dinamicamente via BGP, descartando endereços privados,como da RFC 1918.

O comando a ser aplicado em uma interface é ‘ip verify unicast source reachable-via any‘. No caso de roteamento assimétrico o tráfego será encaminhado.

R1(config-if)#ip verify unicast source reachable-via any

Rota default

Caso o endereço seja apenas conhecido via rota default, o uRPF continuará bloqueando os endereços. Para permitir os endereços a partir da rota default use o comando “ip verify unicast source reachable-via rx allow-default

Referências

http://slaptijack.com/networking/ciscos-new-ip-verify-unicast-source-reachable-via/
http://networkengineering.stackexchange.com/questions/3133/unicast-rpf-on-the-edge
http://www.cisco.com/c/en/us/td/docs/ios/12_2/security/configuration/guide/fsecur_c/scfrpf.html

Obs: os testes foram efetuados em um roteador Cisco 7200 com IOS (C7200-ADVSECURITYK9-M), Version 12.4(24)T1

Leave a Reply

Your email address will not be published. Required fields are marked *