Agora que você já sabe que é uma blackhole (se caso ainda saiba, confira nosso artigo sobre RTBH – Blackhole). Agora é hora de configurar ela e conseguir se proteger dos ataques DDoS.
Para resumir a Blackhole, é uma técnica de enviar uma rota para o “buraco negro” ou simplesmente fazer o roteador descartar os pacotes direcionados a esse IP. Com a blackhole você pode também anunciar para seus fornecedores/upstreams esses IPs atacados e assim conseguir cessar os ataques.
Agora que já sei o que, agora vem a pergunta como fazer blackhole no meu roteador? No artigo de hoje vamos mostrar como configurar a Blackhole em Roteadores Juniper
Para fazer a Blackhole de forma manual temos alguns passos que são:
- Identificar o IP atacado
- Criar a rota para blackhole
- Anunciar essa rota em blackhole via BGP para suas operadoras/upstreams
Você pode automatizar tudo isso com o Made4Flow, já fechando uma sessão direta e não precisando fazer o trabalho manual.
Se quiser saber como automatizar tudo com o Made4Flow confira esse nosso próximo artigo.
Vamos lá então para as configurações
1 – Identificar o IP atacado
Você pode fazer isso através de análise de Netflow, como no Made4Flow, através dos gráficos e identificar através do Relatório de Dados Bruto, qual o IP tem um maior trafego e possivelmente sendo a vitima do ataque.
Dentro do Made4Flow, acesse por exemplo o Gráfico de Interface por Aplicação e depois e clicando em cima da porta com mais uso você pode identificar qual IP está sendo atacado
Ou através do Made4Flow, de forma simples acessando o modulo Anti-DDoS -> Anomalias Ativas
O IP atacado foi o: 200.189.56.55 (Exemplo)
2) Criar uma rota para Discard (Blackhole)
Após identificar o IP atacado via Made4Flow agora é hora de criar a rota em seu Roteador Juniper para efetivamente jogar o IP para Blackhole ou Discard
Vamos supor que o IP atacado seja o 200.200.200.1, vamos criar a rota da seguinte maneira
Comandos aplicados:
configure
set routing-options static route 200.200.200.1/32 discard
commit and-quit
Após aplicar a rota apontando para Discard esse IP irá PARAR DE FUNCIONAR!
Você pode checar a rota usando o comando de show:
Se a rota estiver com mostrando como Discard, você já está enviando-a para Blackhole
3 – Anunciar o IP em blackhole via BGP para suas operadoras/upstreams
Após identificar e colocar em blackhole a rota você precisa anunciar via BGP para suas operadoras/upstreams.
Antes da configuração é sempre recomendado falar com sua Operadora/Upstream para saber qual a community BGP de Blackhole.
A sessão BGP com sua operadora precisa estar estabelecida.
Para isso temos alguns passos:
- Configure a Community de Blackhole de sua Operadora/Upstream
Para configurar a community de blackhole para que posteriormente ser utilizada precisamos executar o seguinte comando:
Comando:
set policy-options community cm_blackhole_operadora_XPTO members 666:666
commit and-quit
Caso seja necessario adicionar mais communities, aplique o mesmo comando mudando o nome e o número da community
Dica: Fale com a sua operadora para saber qual community BGP de blackhole ela usa
- Configurar a policy-statement para Aceitar a Blackole
Para configurar o envio da Blackhole na policy-statement, você deve primeiro identificar a policy usada na sessão BGP com a Operadora e depois configurar para aceitar dentro de um term a Rota de Blackhole
Em nosso exemplo, onde o IP 200.200.200.1/32 é atacado, usaremos o seguinte comando:
Editar a policy:
Criar um novo termo já com o IP atacado:
Próximo passo é aceitar a rota dentro deste termo
Próximo passo é adicionar a community criada anteriormente
Próximo passo é alterar a ordem da policy, para que o termo que contem a rota de blackhole fique na parte de cima possivel, utilizaremos o comando de insert
Podemos validar com o comando show que está correto a configuração:
Todos os comandos utilizados:
configure exclusive
edit policy-options policy-statement OPERADORA-XPTO-OUT
set term IP-ATACADO from route-filter 200.200.200.1/32 exact
set term IP-ATACADO then accept
set term IP-ATACADO then community set cm_blackhole_operadora_XPTO
insert term IP-ATACADO before term MEU-BLOCO
commit and-quit
Você pode validar se está anunciando a rota, através do comando show route advertising-protocol bgp 192.168.100.1
Feito isso o IP irá ficar em blackhole e anunciado para sua operadora, o ataque irá cessar caso ele for para este único IP.
A configuração completa ficou da seguinte forma:
routing-options {
static {
route 200.200.200.0/22 discard;
route 200.200.200.1/32 discard;
}
autonomous-system 65000;
}
protocols {
bgp {
group OPERADORA-XPTO {
export OPERADORA-XPTO-OUT;
neighbor 192.168.100.1 {
description OPERADORA-XPTO;
peer-as 64700;
}
}
}
}
policy-options {
policy-statement OPERADORA-XPTO-OUT {
term IP-ATACADO {
from {
route-filter 200.200.200.1/32 exact;
}
then {
community set cm_blackhole_operadora_XPTO;
accept;
}
}
term MEU-BLOCO {
from {
route-filter 200.200.200.0/22 exact;
}
then accept;
}
then reject;
}
community cm_blackhole_operadora_XPTO members 666:666; }
Automatizando com o Made4Flow
Com o Made4Flow é possível automatizar o processo de anúncio para blackhole de IP’s atacados.
Para isso precisamos:
- Configurar a sessão BGP entre Roteador de Borda e o Made4Flow
Para configurar a sessão BGP entre o Roteador e Made4Flow, você precisa criar uma Policy e depois a sessão BGP
Para configurar policy, utilize os comandos
Comandos utilizados:
edit policy-options policy-statement MADE4FLOW-IN
set then next-hop discard
set then accept
commit and-quit
Neste caso já estamos também já adicionamos o Next-hop manualmente no roteador.
Dentro do Made4Flow, você já pode anunciar com a community BGP e Next-hop correto se preferir.
Configurar a sessão BGP com o Made4Flow, no nosso caso vamos utilizar um iBGP, ficando as seguintes configurações no Roteador Juniper
Comandos utilizados:
Configure
set policy-options policy-statement EXPLICITY-DENY then reject
edit protocols bgp group MADE4FLOW
set type internal
set import MADE4FLOW-IN
set export EXPLICITY-DENY
set peer-as 65000
set neighbor 192.168.120.2 description “Made4Flow – Blackhole automatizado”
commit and-quit
Dica: lembre de apagar as rotas de blackhole manual, no nosso exemplo: delete routing-options static route 200.200.200.1/32
- Configurar o Made4Flow para enviar via Ações
Dentro do Modulo de Anti-DDoS, você pode acessar o menu: Ações e Respostas e configurar a resposta para enviar a Blackhole com a community BGP correta:
Configurar o Roteador para enviar para Operadoras
Para configurar para enviar para as operadoras/upstreams você precisa antes configurar uma community BGP para ser usado no term da Policy com a Operadora.
Para isso precisamos configurar uma community
Comando: set policy-options community cm_blackhole_Made4Flow members 666:666
Próximo passo é configurar na Policy da sua operadora/upstream, como no envio da blackhole, mas agora casando com a community no Term, como em nossa configuração:
-l
Configure
edit policy-options policy-statement OPERADORA-XPTO-OUT
set term BLACKHOLE-MADE4FLOW from community cm_blackhole_Made4Flow
set term BLACKHOLE-MADE4FLOW then accept
set term BLACKHOLE-MADE4FLOW then community set cm_blackhole_operadora_XPTO
insert term BLACKHOLE-MADE4FLOW before term MEU-BLOCO
commit and-quit
Para checar se você está enviando o anúncio para operadora use os comandos:
Checar se você recebe do Made4Flow
Comando: show route receive-protocol bgp 192.168.120.2
E se está enviando para a operadora:
Comando: show route advertising-protocol bgp 192.168.100.1
Feita essas configurações, está pronta a automatização do Made4Flow, ao receber um ataque o Made4Flow já pode enviar essa rota para Blackhole.
Para facilitar, temos o vídeo abaixo, mostrando na prática como configurar o Roteador Juniper com Blackhole.
Se tiver dúvidas não deixe de falar conosco pelo WhatsApp, Redes Sociais ou E-mail
Até a próxima!