Mudanças entre as edições de "Unicast Reverse Path Forwarding"

De Wiki BPF
Ir para navegação Ir para pesquisar
 
(10 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 ataques de negação de serviço. Ele verifica se os pacotes recebidos têm uma rota válida de retorno na tabela de roteamento.
+
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 17: Linha 17:
  
 
== O que é uRPF? ==
 
== O que é uRPF? ==
O uRPF é um mecanismo que ajuda a evitar que pacotes com endereços IP de origem falsificados entrem na rede (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.
+
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? ==
 
== Quem precisa ter uRPF na rede? ==
Absolutamente toda empresa que prove, de alguma forma, internet, seja ou não um sistema autonomo (AS).
+
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, teriamos uma diminuição absurda de ataques DDoS com origens spoofadas.
+
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 ==
 
== Modos de Operação do uRPF ==
Linha 39: Linha 39:
  
 
== Benefícios do uRPF ==
 
== Benefícios do uRPF ==
* '''Prevenção de Spoofing''': Impede que pacotes com endereços IP de origem falsos entrem na rede.
+
* '''Prevenção de Spoofing''': Impede originar trafego endereços IP de origem falsos;
* '''Mitigação de Ataques DoS/DDoS''': Reduz o impacto de ataques baseados em falsificação de endereço.
+
* '''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.
  
== Limitações do uRPF ==
+
== Exemplos de Configuração ==
* '''Roteamento Assimétrico''': No modo strict, pode bloquear tráfego legítimo em redes com caminhos de entrada e saída diferentes.
+
 
* '''Carga de Processamento''': Pode aumentar o uso de CPU em dispositivos, afetando o desempenho.
+
=== Huawei VRP ===
* '''Dependência da Tabela de Roteamento''': Requer que as rotas estejam corretamente configuradas e atualizadas.
+
 
 +
==== Strict ====
 +
<blockquote>
 +
<code>interface GigabitEthernet0/0/0</code>
 +
 
 +
<code>ip urpf strict</code>
 +
 
 +
<code>ipv6 urpf strict</code>
 +
 
 +
</blockquote>
 +
 
 +
==== Loose ====
 +
<blockquote>
 +
<code>interface GigabitEthernet0/0/0</code>
 +
 
 +
<code>ip urpf loose</code>
 +
 
 +
<code>ipv6 urpf loose</code>
 +
</blockquote>
 +
 
 +
=== Juniper ===
  
== Exemplos de Configuração ==
+
==== Strict ====
A seguir, apresentamos exemplos de como configurar o uRPF em diferentes plataformas:
+
<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 inet6 rpf-check</code>
 +
</blockquote>
 +
 
 +
==== Loose ====
 +
<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 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>
 +
 
 +
==== 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:

André Dias - Hexa Networks