Como Configurar Autenticação MD5 em Peers BGP no MikroTik

10 min de leitura Redes
Como Configurar Autenticação MD5 em Peers BGP no MikroTik

O Border Gateway Protocol (BGP) é a espinha dorsal da internet, responsável por trocas de rotas entre sistemas autônomos. No entanto, por ser um protocolo baseado em TCP e não possuir mecanismos nativos de autenticação robusta em sua especificação original, ele é vulnerável a ataques de spoofing e injeção de rotas maliciosas. Para profissionais que gerenciam infraestrutura no Brasil, especialmente utilizando equipamentos MikroTik com RouterOS, a implementação de autenticação MD5 (TCP MD5 Signature Option, RFC 2385) não é apenas uma boa prática, mas um requisito fundamental de segurança para qualquer sessão de peering IPv4 ou IPv6.

A autenticação MD5 adiciona uma camada de integridade e origem às conexões TCP usadas pelo BGP. Antes que o handshake TCP seja estabelecido, os peers trocam um hash calculado com base no cabeçalho TCP e em uma senha secreta compartilhada. Se qualquer pacote for modificado em trânsito ou enviado por um dispositivo não autorizado, a verificação falha e a conexão é rejeada imediatamente.

Neste tutorial, abordaremos a configuração completa de autenticação MD5 para BGP no MikroTik RouterOS v7. Demonstraremos como configurar a senha, aplicar o mecanismo ao peer IPv4 e ao peer IPv6, validar a sessão e realizar testes de segurança básicos.

Pré-requisitos e Planejamento

Antes de iniciar as configurações no terminal do MikroTik, é essencial alinhar os parâmetros com o parceiro de peering. A autenticação MD5 funciona apenas se ambos os lados da conexão utilizarem a mesma senha secreta e o mesmo algoritmo.

  • Sistema Operacional: MikroTik RouterOS versão 7.x (recomendado devido à estabilidade das ferramentas de diagnóstico e gestão de BGP).
  • Protocolos: Suporte a IPv4 e/ou IPv6, dependendo do tipo de peering solicitado.
  • Informações do Peer: Endereço IP remoto, número do sistema autônomo (ASN) remoto e a senha secreta combinada previamente com o parceiro.
  • Acesso: Acesso SSH ou Console com privilégios administrativos no roteador MikroTik.

Atenção: A senha MD5 deve ter, no máximo, 8 caracteres. Se a senha escolhida tiver menos de 8 caracteres, ela será preenchida com zeros à direita internamente pelo protocolo TCP MD5. Evite senhas curtas ou previsíveis para manter a segurança.

Passo 1: Verificação da Topologia BGP Existente

Antes de aplicar mudanças, é crucial identificar se já existe uma sessão BGP configurada e ativa. Isso evita a criação de duplicatas e ajuda a entender o contexto atual da interface.

/routing/bgp/session print where dynamic=no

Se não houver sessões estáticas configuradas, você precisará criar a sessão básica primeiro. Se já existir uma sessão ativa sem autenticação, a mudança para MD5 causará uma queda momentânea da conexão até que o peer também seja atualizado. Planeje essa janela de manutenção com seu parceiro.

Passo 2: Configuração da Senha Secreta (Key)

No RouterOS v7, a gestão de senhas para BGP é centralizada no menu /routing/bgp/key. Este método é mais limpo e seguro do que inserir a senha diretamente na configuração do peer, pois facilita a rotação de chaves e o compartilhamento da mesma senha entre múltiplos peers.

Crie uma chave chamada peering-md5-key (ou um nome descritivo) e defina a senha secreta. Substitua "SUA_SENHA_SEGURA" pela senha combinada com seu parceiro.

/routing/bgp/key add name=peering-md5-key secret=SUA_SENHA_SEGURA

Para verificar se a chave foi criada corretamente, utilize o comando:

/routing/bgp/key print

O resultado deve exibir o nome da chave e o status valid. Note que a senha não será exibida em texto claro no output por motivos de segurança.

Passo 3: Aplicação da Autenticação MD5 para BGP IPv4

Agora, aplicaremos a chave à sessão BGP específica. A autenticação é configurada dentro do objeto da sessão BGP na árvore /routing/bgp/session.

Se você estiver criando uma nova sessão estática, o comando seria:

/routing/bgp/session add name=to-peer-ipv4 remote-address=IP_REMOTO_IPV4 remote-as=ASN_REMOTO local-address=IP_LOCAL_IPV4 key=peering-md5-key

Se a sessão já existe e você deseja apenas adicionar ou alterar a autenticação, use o modo de edição:

/routing/bgp/session set [find where name=to-peer-ipv4] key=peering-md5-key

O parâmetro key referencia o nome da chave criada no Passo 2. Ao aplicar esta configuração, o MikroTik começará a assinar os pacotes TCP do BGP com o hash MD5 gerado a partir da senha.

Troubleshooting de IPv4

Após aplicar a configuração, monitore o log do sistema para garantir que a sessão subiu corretamente:

/log print where topics~"bgp" and time>=08:00:00

Você deve ver mensagens indicando que a sessão foi estabelecida. Se houver erro de autenticação, o log exibirá erros relacionados a MD5 mismatch ou falha no handshake TCP.

Passo 4: Aplicação da Autenticação MD5 para BGP IPv6

O processo para IPv6 é idêntico, mas utiliza endereços e interfaces de link-local ou globais específicas do IPv6. Muitos provedores no Brasil oferecem peering dual-stack (IPv4 e IPv6), tornando esta etapa obrigatória.

Crie a chave para IPv6 se desejar uma senha diferente (recomendado por segurança, embora tecnicamente possível usar a mesma):

/routing/bgp/key add name=peering-ipv6-md5-key secret=SUA_SENHA_IPV6

Aplique a chave à sessão BGP IPv6:

/routing/bgp/session set [find where remote-address~"::"] key=peering-ipv6-md5-key

Substitua o filtro [find where ...] pelo nome exato da sua sessão IPv6 ou pelo endereço remoto específico para evitar alterações acidentais em outras sessões.

Passo 5: Validação e Diagnóstico

A segurança não é comprovada apenas pela configuração aplicada, mas pelo comportamento operacional. Utilize as ferramentas de diagnóstico do RouterOS para validar a integridade da conexão.

Verificação do Status da Sessão

Confirme que o estado da sessão é established:

/routing/bgp/session print where dynamic=no

Observe a coluna state. Se estiver active ou idle sem transição para estabelecido, verifique os logs e a conectividade de rede subjacente.

Análise de Tráfego com Wireshark/Tshark

A validação mais robusta é inspecionar o tráfego na interface física ou bridge. Capture os pacotes TCP da porta 179 (BGP) e verifique se o campo TCP MD5 Signature está presente.

No MikroTik, você pode usar o packet sniffer básico para uma verificação rápida:

/tool packet-sniffer start interface=ethernet-1 where port==179

Analise a saída. Cada pacote TCP enviado ou recebido pelo BGP deve conter a opção de assinatura MD5. Se os pacotes forem enviados sem essa assinatura, a configuração não foi aplicada corretamente ou o peer remoto não está suportando MD5.

Passo 6: Testes de Segurança e Resiliência

Para garantir que a autenticação está funcionando como um filtro de segurança, realize testes de simulação de ataque (em ambiente controlado).

Teste de Spoofing Local

Tente estabelecer uma conexão TCP na porta 179 simulando ser o peer, mas sem conhecer a senha. No MikroTik, isso pode ser testado tentando configurar um peer temporário com uma senha incorreta em outro dispositivo ou usando ferramentas de linha de comando como nc (netcat) se houver acesso ao sistema subjacente.

No Linux, um exemplo conceitual de tentativa de conexão sem a assinatura correta resultaria em reset imediato ou silêncio:

echo "GET / HTTP/1.0" | nc -p 12345 IP_REMOTO 179

O MikroTik, configurado corretamente, rejeitará a conexão TCP antes mesmo que o protocolo BGP seja negociado, pois o handshake falhará na verificação do hash MD5.

Teste de Rotação de Chaves

Simule uma rotação de senha. Altere a senha no peer remoto (coordenadamente) e atualize a chave no MikroTik:

/routing/bgp/key set [find where name=peering-md5-key] secret=NOVA_SENHA_SEGURA

Verifique se a sessão cai brevemente (down) e restabelece (established) com a nova chave. Isso valida que o roteador está utilizando ativamente a senha armazenada.

Melhores Práticas para Ambientes de Produção

A implementação técnica é apenas parte da equação. Para manter a segurança do peering BGP no longo prazo, adote as seguintes práticas:

  • Gestão de Senhas: Nunca compartilhe senhas MD5 por e-mail não criptografado ou chat inseguro. Utilize gerenciadores de senhas corporativos ou canais seguros.
  • Limitação de ASN: Configure filtros BGP (/routing/filter) para aceitar apenas prefixes originados pelo ASN do peer ou autorizados por um IRR (Internet Routing Registry). A autenticação MD5 protege a conexão, mas não impede que um peer comprometido envie rotas incorretas se você não filtrar o conteúdo.
  • Monitoramento de Logs: Configure alertas no seu sistema de SIEM ou monitoramento (Zabbix, PRTG, etc.) para detectar quedas frequentes de sessões BGP. Quedas recorrentes podem indicar tentativas ativas de spoofing ou falhas de configuração.
  • IPv6 Link-Local: Se estiver usando endereços link-local para peering IPv6 (comuns em links ponto-a-ponto), certifique-se de que a interface correta está associada ao peer, pois o escopo do endereço pode variar.

Conclusão

A autenticação MD5 em peers BGP no MikroTik RouterOS é um passo essencial para garantir a integridade da sua infraestrutura de rede. Ao seguir os passos deste tutorial — desde a criação segura das chaves até a validação via sniffing de pacotes — você protege seus roteadores contra injeção de rotas maliciosas e spoofing de sessões.

Lembre-se que a segurança é um processo contínuo. Revise periodicamente as senhas utilizadas nas sessões BGP e mantenha o RouterOS atualizado para aproveitar as melhorias de estabilidade e segurança oferecidas pela MikroTik. Em ambientes críticos, combine a autenticação MD5 com filtros de prefixos rigorosos e monitoramento proativo para uma defesa em profundidade eficaz.

Agora que sua sessão BGP está autenticada, você pode prosseguir com a configuração de políticas de roteamento, atribuição de métricas (MED/LOCAL_PREF) e redistribuição de rotas, confiando que a base da comunicação está segura e verificada.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000