[GTER] O lado negro do eBGP multi-hop

Henrique de Moraes Holschuh henrique.holschuh at ima.sp.gov.br
Mon Jul 16 17:45:11 -03 2012


On 16-07-2012 16:37, Eduardo Schoedler wrote:
> 2012/7/16 Rodrigo Augusto<rodrigo at 1telecom.com.br>
>> Essas rotas recebidas podem ser repassadas para downstreams? Isto
>> e, isto e uma boa ideia?!
>
> Não, são rotas de bogon. Marque todas como no-export no route-map
> in.

Na verdade, precisa mais que isso.

O problema não é a Cymru.  É alguém sequestrar o controle do peer BGP ou
da sessão eBGP.


Uso responsável de blacklist de bogons via eBGP multi-hop:

1. Faça o download da lista manualmente, vete-a, e crie um prefix-list a
partir dela.  Listas de bogons nunca adicionam redes, apenas removem.
Como muitas vezes isso cria prefixos mais específicos, a prefix-list
deve permitir mais específicos de cada prefixo.

2. Use esse prefix-list para filtrar os anúncios recebidos da Cymru.
Isso significa que eles não poderão adicionar outras redes, apenas
remover redes da lista de bogons.  Se for a full-bogons, vai consumir
bastante recurso.

3. Use route-map para marcar como NO_ADVERTISE ou NO_EXPORT (dependendo
se você quer que propague no iBGP ou não), force o NEXT_HOP para um IP
de descarte implementado em *todos* os roteadores iBGP da rede
(NO_EXPORT) ou pelo roteador local (NO_ADVERTISE), etc.


e, finalmente:


0. Considere se o risco de uma sessão eBGP extra atravessando meia
Internet (ainda por cima sem MD5), e a perda da filtragem de bogons caso
a sessão caia, é aceitável.

Não se engane, essa sessão eBGP multi-hop é uma porta direta para atacar
o plano de controle do roteador.  Como não tem MD5, um hijack de sessão
BGP[1] permite inserir qualquer mensagem que se queira.  Feito o hijack,
sem a filtragem mencionada em (2) fica trivial de causar estrago.  Com a
filtragem mencionada em (2), ainda dá para "desfiltrar" os bogons (basta
derrubar a sessão), ou enviar pacotes que explorem algum bug no routing
engine (que pode inclusive permitir a invasão do roteador).

Se fosse protegida com MD5, daria para consumir CPU do roteador à
vontade (poucas caixas/NICs computam TCP MD5 em hardware) via DDoS com
origem forjada.

Ou seja, em muitos casos é melhor gerar essa lista via script, e ou
injetar no roteador como configuração (filter-list, ACL, etc) ou injetar
via iBGP (por exemplo, usando exabgp) com NEXT_HOP apontando para um IP
de descarte ou para uma darknet.

[1] hijack de sessão TCP.  Não é sempre que é possível, nem costuma ser
trivial, mas é bom lembrar que existem formas de se criar as condições
favoráveis em muitos casos.

-- 
Henrique de Moraes Holschuh <hmh at ima.sp.gov.br>
IM@ - Informática de Municípios Associados
Engenharia de Telecomunicações
TEL +55-19-3755-6555/CEL +55-19-9293-9464

Antes de imprimir, lembre-se de seu compromisso com o Meio Ambiente
e do custo que você pode evitar.



More information about the gter mailing list