Como podemos ter certeza de que uma rede anunciada usando o protocolo BGP, que alega ser originada em um determinado sistema autônomo, está de fato delegada a esse sistema autônomo? Quer dizer, que ferramenta eu tenho para poder verificar que uma publicação BGP está sendo originada por um sistema autônomo autorizado para gerar tal publicação?
A resposta para essas perguntas é o que chamamos de Validação de Origem, e o protocolo criado para estabelecer e verificar essa validação é o RPKI (Infraestrutura de Chave Pública de Recursos, por sua sigla em inglês).
Basicamente, a infraestrutura global do RPKI é o que conecta as redes anunciadas pelo BGP aos sistemas autônomos autorizados a anunciá-las, por meio de certificados digitais que chamamos de “Certificados de Origem” ou ROA, por sua sigla em inglês.
(Acesso livre, não requer assinatura)
Então, quem gera esses ROA?
Os ROA devem ser gerados por aqueles que possuem recursos de numeração, isto é, endereços IP em qualquer uma de suas duas variantes (IPv4 e IPv6), delegados por um dos cinco Registros Regionais (na nossa região, esse registro é o LACNIC).
Para conseguir isso, a infraestrutura do RPKI atualmente lida, de um lado, com certificados que estabelecem qual parcela de endereços IP e quais Números de Sistemas Autônomos (ASN) foram legitimamente designados a uma organização ou provedor da Internet pelo Registro Regional correspondente. Esses certificados são o que chamamos de Objetos de Infraestrutura.
Então, quem gera esses ROA?
Os ROA devem ser gerados por aqueles que possuem recursos de numeração, isto é, endereços IP em qualquer uma de suas duas variantes (IPv4 e IPv6), delegados por um dos cinco Registros Regionais (na nossa região, esse registro é o LACNIC).
Para conseguir isso, a infraestrutura do RPKI atualmente lida, de um lado, com certificados que estabelecem qual parcela de endereços IP e quais Números de Sistemas Autônomos (ASN) foram legitimamente designados a uma organização ou provedor da Internet pelo Registro Regional correspondente. Esses certificados são o que chamamos de Objetos de Infraestrutura.
Do outro lado, a infraestrutura do RPKI lida com outro tipo de certificado que é usado por aqueles que têm esses recursos de numeração (entidades finais) delegados para estabelecer suas políticas de roteamento. Esse tipo de certificados são os que chamamos Objetos de Entidade Final ou ROA no caso do RPKI.
Então, quem usa esses dois tipos de certificados para validar a origem de um anúncio BGP e como? A resposta para “quem?” é o validador RPKI, e a resposta para “como?” é verificando se os objetos ROA foram assinados por um objeto válido do primeiro tipo (objetos de infraestrutura).
FORT é um validador RPKI criado conjuntamente pelo LACNIC e NIC.mx. Basicamente, quando executamos o validador FORT, sua função é baixar todos esses objetos dos repositórios mantidos por cada um dos cinco Registros Regionais e verificar criptograficamente se os objetos do segundo tipo (os ROA) foram assinados por um objeto válido do primeiro tipo (um certificado de recurso). O resultado de todo esse processo de validação é um arquivo de texto que contém todos os objetos ROA validados pelo validador FORT.
Finalmente, como essa lista de ROA é usada?
Quem operam redes e usam o protocolo BGP podem fazer várias coisas muito úteis com essas informações. Uma das principais é conectar seus roteadores de borda ao validador RPKI para que os roteadores possam usar essas informações para validar a origem do AS path de cada uma das rotas em sua tabela BGP. Também podem ser usadas para monitorar, detectar e até mesmo mitigar ataques do tipo “sequestro de rotas”, entre outros.
Há alguns dias, o LACNIC publicou uma nova versão do software do validador FORT (a versão 1.7.0.experimental) que traz diversas novidades relacionadas a objetos, uma delas sendo a adição (ainda em fase experimental) de suporte para novos objetos, como são os do protocolo ASPA.
A fim de facilitar à comunidade regional um manual contendo instruções detalhadas baseadas em uma experiência prática e comprovada de esta última versão do validador FORT, eu decidi realizar a instalação e configuração completa (do zero).
Realizei a instalação como exemplo em um servidor virtual baseado em ProxMox com sistema operacional Ubuntu Server 26.04. Decidi fazê-lo compilando o código do validador FORT de uma forma que o tornasse replicável em qualquer outro sistema operacional semelhante ao Linux.
Espero que este guia sirva como uma pequena contribuição para a comunidade regional e global, e celebro toda a equipe de desenvolvimento do FORT pelo seu trabalho.