Mudanças entre as edições de "Unicast Reverse Path Forwarding"
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | = TL;DR = | + | = TL;DR - Leitura Rapida Obrigatória = |
− | O uRPF (Unicast Reverse Path Forwarding) ajuda a prevenir spoofing de endereços IP e | + | O uRPF (Unicast Reverse Path Forwarding) ajuda a prevenir spoofing de endereços IP e DDoS. Ele verifica se os pacotes recebidos têm uma rota válida de retorno na tabela de roteamento. Você tem obrigação de ter uRPF implementado. |
<u>'''Não''' use '''strict''' em ambientes que voce nao garanta que o upload e download serão pelo mesmo lugar! Nesse caso, utilize '''Loose'''!!!! Caso contrario o uRPF dropará pacotes licitos!</u> | <u>'''Não''' use '''strict''' em ambientes que voce nao garanta que o upload e download serão pelo mesmo lugar! Nesse caso, utilize '''Loose'''!!!! Caso contrario o uRPF dropará pacotes licitos!</u> | ||
Linha 41: | Linha 41: | ||
* '''Prevenção de Spoofing''': Impede originar trafego endereços IP de origem falsos; | * '''Prevenção de Spoofing''': Impede originar trafego endereços IP de origem falsos; | ||
* '''Conformidade com BCP 38''': Alinha-se às melhores práticas recomendadas para filtragem de endereços de origem; | * '''Conformidade com BCP 38''': Alinha-se às melhores práticas recomendadas para filtragem de endereços de origem; | ||
− | * '''MANRS:''' Um dos pré-requisitos do MANRS é que não tenha spoofing vindo da rede. | + | * '''[[MANRS]]:''' Um dos pré-requisitos do [[MANRS]] é que não tenha spoofing vindo da rede. |
== Exemplos de Configuração == | == Exemplos de Configuração == | ||
Linha 47: | Linha 47: | ||
=== Huawei VRP === | === Huawei VRP === | ||
− | ==== Strict | + | ==== Strict ==== |
<blockquote> | <blockquote> | ||
<code>interface GigabitEthernet0/0/0</code> | <code>interface GigabitEthernet0/0/0</code> | ||
<code>ip urpf strict</code> | <code>ip urpf strict</code> | ||
+ | |||
+ | <code>ipv6 urpf strict</code> | ||
+ | |||
</blockquote> | </blockquote> | ||
− | ==== Loose | + | ==== Loose ==== |
<blockquote> | <blockquote> | ||
<code>interface GigabitEthernet0/0/0</code> | <code>interface GigabitEthernet0/0/0</code> | ||
<code>ip urpf loose</code> | <code>ip urpf loose</code> | ||
+ | |||
+ | <code>ipv6 urpf loose</code> | ||
</blockquote> | </blockquote> | ||
=== Juniper === | === Juniper === | ||
− | ==== Strict | + | ==== Strict ==== |
<blockquote> | <blockquote> | ||
<code>set interfaces ge-0/0/0 unit 0 family inet rpf-check</code> | <code>set interfaces ge-0/0/0 unit 0 family inet rpf-check</code> | ||
+ | |||
+ | <code>set interfaces ge-0/0/0 unit 0 family inet6 rpf-check</code> | ||
</blockquote> | </blockquote> | ||
− | ==== Loose | + | ==== Loose ==== |
<blockquote> | <blockquote> | ||
<code>set interfaces ge-0/0/0 unit 0 family inet rpf-check loose</code> | <code>set interfaces ge-0/0/0 unit 0 family inet rpf-check loose</code> | ||
+ | |||
+ | <code>set interfaces ge-0/0/0 unit 0 family inet6 rpf-check loose</code> | ||
+ | </blockquote> | ||
+ | |||
+ | === Cisco IOS-XE === | ||
+ | |||
+ | ==== Strict ==== | ||
+ | <blockquote> | ||
+ | <code>interface GigabitEthernet0/0</code> | ||
+ | |||
+ | <code>ip verify unicast source reachable-via rx</code> | ||
+ | |||
+ | <code>ipv6 verify unicast source reachable-via rx</code> | ||
</blockquote> | </blockquote> | ||
+ | |||
+ | ==== Loose ==== | ||
+ | <blockquote> | ||
+ | <code>interface GigabitEthernet0/0</code> | ||
+ | |||
+ | <code>ip verify unicast source reachable-via any</code> | ||
+ | |||
+ | <code>ipv6 verify unicast source reachable-via any</code> | ||
+ | </blockquote> | ||
+ | |||
+ | === Cisco IOS-XR === | ||
+ | |||
+ | ==== Strict ==== | ||
+ | <blockquote> | ||
+ | <code>interface GigabitEthernet0/0/0/0</code> | ||
+ | |||
+ | <code>ipv4 verify unicast source reachable-via rx</code> | ||
+ | |||
+ | <code>ipv6 verify unicast source reachable-via rx</code> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== Loose ==== | ||
+ | <blockquote> | ||
+ | <code>interface GigabitEthernet0/0/0/0</code> | ||
+ | |||
+ | <code>ipv4 verify unicast source reachable-via any</code> | ||
+ | |||
+ | <code>ipv6 verify unicast source reachable-via any</code> | ||
+ | </blockquote> | ||
+ | |||
+ | === Nokia === | ||
+ | |||
+ | ==== Strict ==== | ||
+ | <blockquote> | ||
+ | <code>configure router interface "nome-da-interface"</code> | ||
+ | |||
+ | <code>sap sap-id</code> | ||
+ | |||
+ | <code> ingress</code> | ||
+ | |||
+ | <code> filter</code> | ||
+ | |||
+ | <code> ip-check</code> | ||
+ | |||
+ | <code> urpf strict</code> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== Loose ==== | ||
+ | <blockquote> | ||
+ | <code>configure router interface "nome-da-interface"</code> | ||
+ | |||
+ | <code>sap sap-id</code> | ||
+ | |||
+ | <code> ingress</code> | ||
+ | |||
+ | <code> filter</code> | ||
+ | |||
+ | <code> ip-check</code> | ||
+ | |||
+ | <code> urpf loose</code> | ||
+ | </blockquote> | ||
+ | |||
+ | === Mikrotik === | ||
+ | |||
+ | ==== Strict ==== | ||
+ | <blockquote> | ||
+ | <code>/ip settings set rp-filter=strict</code> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== Loose ==== | ||
+ | <blockquote> | ||
+ | <code>/ip settings set rp-filter=loose</code> | ||
+ | </blockquote> | ||
+ | |||
+ | Autor: | ||
+ | |||
+ | [[Usuário:Andredias|André Dias - Hexa Networks]] |
Edição atual tal como às 19h30min de 30 de novembro de 2024
TL;DR - Leitura Rapida Obrigatória
O uRPF (Unicast Reverse Path Forwarding) ajuda a prevenir spoofing de endereços IP e DDoS. Ele verifica se os pacotes recebidos têm uma rota válida de retorno na tabela de roteamento. Você tem obrigação de ter uRPF implementado.
Não use strict em ambientes que voce nao garanta que o upload e download serão pelo mesmo lugar! Nesse caso, utilize Loose!!!! Caso contrario o uRPF dropará pacotes licitos!
- Strict: Garante simetria de trafego. Prefira usar esse cara em BNG, caso você não tenha nenhum tipo de ECMP no equipamento ou algo que não garantirá a simetria;
- Loose: Não garante simetria de trafego. Prefira usar esse cara em router de borda.
Recomendo fortemente a leitura abaixo. Mas caso queira pular logo para os comandos, basta usar o índice para tal.
Unicast Reverse Path Forwarding (uRPF)
Introdução
O crescimento das redes IP trouxe desafios significativos em termos de segurança, especialmente no que diz respeito à falsificação de endereços IP (IP spoofing) e ataques de negação de serviço (DoS/DDoS). O Unicast Reverse Path Forwarding (uRPF) é uma técnica usada para mitigar esses riscos, verificando a validade dos endereços IP de origem dos pacotes que entram na rede.
O que é uRPF?
O uRPF é um mecanismo que ajuda a evitar que pacotes com endereços IP de origem falsificados saiam da (spoofing). Ele faz isso verificando se existe uma rota de retorno válida para o endereço IP de origem na tabela de roteamento, garantindo que o tráfego possa ser encaminhado de volta ao remetente.
Quem precisa ter uRPF na rede?
Absolutamente toda empresa que prove, de alguma forma internet, seja ou não um sistema autonomo (AS).
A internet é uma obra coletiva, logo se todos tivessem uRPF rodando, teríamos uma diminuição absurda de ataques DDoS com origens spoofadas.
Modos de Operação do uRPF
Modo Strict (Rigoroso) - Cuidado com ele!
- Funcionamento: O dispositivo verifica se a melhor rota de retorno para o endereço IP de origem está pela mesma interface em que o pacote foi recebido.
- Vantagens: Oferece o mais alto nível de segurança contra spoofing.
- Desvantagens: Pode descartar tráfego legítimo em redes com roteamento assimétrico. Não use strict em ambientes que voce nao garanta que o upload e download serão pelo mesmo lugar! Nesse caso, utilize Loose!!!!
- Uso Ideal: Redes com roteamento simétrico.
Modo Loose (Flexível)
- Funcionamento: O dispositivo aceita o pacote se houver qualquer rota de retorno para o endereço IP de origem, independentemente da interface.
- Vantagens: Mais flexível, adequado para redes com múltiplos caminhos.
- Desvantagens: Menos seguro que o modo strict.
- Uso Ideal: Redes com roteamento assimétrico ou múltiplos links de entrada e saída.
Benefícios do uRPF
- Prevenção de Spoofing: Impede originar trafego endereços IP de origem falsos;
- Conformidade com BCP 38: Alinha-se às melhores práticas recomendadas para filtragem de endereços de origem;
- MANRS: Um dos pré-requisitos do MANRS é que não tenha spoofing vindo da rede.
Exemplos de Configuração
Huawei VRP
Strict
interface GigabitEthernet0/0/0
ip urpf strict
ipv6 urpf strict
Loose
interface GigabitEthernet0/0/0
ip urpf loose
ipv6 urpf loose
Juniper
Strict
set interfaces ge-0/0/0 unit 0 family inet rpf-check
set interfaces ge-0/0/0 unit 0 family inet6 rpf-check
Loose
set interfaces ge-0/0/0 unit 0 family inet rpf-check loose
set interfaces ge-0/0/0 unit 0 family inet6 rpf-check loose
Cisco IOS-XE
Strict
interface GigabitEthernet0/0
ip verify unicast source reachable-via rx
ipv6 verify unicast source reachable-via rx
Loose
interface GigabitEthernet0/0
ip verify unicast source reachable-via any
ipv6 verify unicast source reachable-via any
Cisco IOS-XR
Strict
interface GigabitEthernet0/0/0/0
ipv4 verify unicast source reachable-via rx
ipv6 verify unicast source reachable-via rx
Loose
interface GigabitEthernet0/0/0/0
ipv4 verify unicast source reachable-via any
ipv6 verify unicast source reachable-via any
Nokia
Strict
configure router interface "nome-da-interface"
sap sap-id
ingress
filter
ip-check
urpf strict
Loose
configure router interface "nome-da-interface"
sap sap-id
ingress
filter
ip-check
urpf loose
Mikrotik
Strict
/ip settings set rp-filter=strict
Loose
/ip settings set rp-filter=loose
Autor: