InnetOps Guard InnetSolutions

Acesso administrativo

Governança e segurança de ASN

InnetOps Guard
InnetOps Guard InnetSolutions
API pendente

Governanca operacional de ASN

Dashboard global

admin
ASN -
Higiene -
RPKI -
GeoFeed -

Dashboard global — ranking de ASNs

todos os ASNs cadastrados
Como ler o ranking global

O que e: a visao fleet-wide de TODOS os ASNs/ISPs cadastrados, do melhor para o pior. Combina o score de Higiene e o readiness MANRS, com sinais de route loop, cobertura ROA e anti-spoofing.

Como usar: ordene/filtre e ataque primeiro quem aparece em baixo (pior). Clique em "Abrir" para ir ao detalhe por-ASN. A analise continua sempre por-ASN; isto e a camada agregada por cima.

Fidelidade: sinais como route loop vem de testes reais (proxy/probe), e a cobertura ROA e validada offline — o ranking reflete dado concreto, nao so o declarado.

ASNs-
Higiene media-
MANRS media-
Com route loop-
# ASN Nome Status Higiene MANRS Route loop ROA s/ cobertura Anti-spoof

Inventario

read-only
Sobre este painel: Inventario

O que faz: mostra a foto atual do ASN — identidade (nome, numero, maintainers, tags) e um resumo da Higiene. E somente leitura: a edicao fica no painel Cadastro e o detalhe dos checks no painel Operacao.

Por que importa: e a tela de entrada para conferir, num relance, quem e o ASN e se ele esta saudavel, antes de mergulhar em cada modulo.

Ganho de governanca: um ponto unico e confiavel de consulta rapida, sem risco de editar algo sem querer.

Identidade

Higiene ASN

Cadastro ASN

novo cadastro local
Sobre este painel: Cadastro ASN

O que faz: cria ou edita o registro local do ASN — identidade, maintainers (mntner) e tags. E a fonte de verdade local que alimenta os checks de Higiene e os demais modulos.

Por que importa: dado consistente aqui (nome certo, maintainer certo) eleva o score e evita retrabalho; dado errado se propaga para IRR, PeeringDB e relatorios.

Ganho de governanca: um cadastro unico e rastreavel, base para automatizar o resto com seguranca.

Operacao ASN

visao consolidada dos modulos
Como funciona a Higiene do ASN

O que e: um placar de 0 a 100% que mede o quanto o ASN esta "em ordem". Ele soma varios checks objetivos sobre inventario, contatos, IRR, RPKI, PeeringDB e GeoFeed. Nao e nota de prova — e um checklist vivo de conformidade.

Como o placar e calculado: cada check recebe um estado, e o score e a porcentagem de checks validos sobre o total (hoje 17 checks em 6 modulos, todos com o mesmo peso). Subir o score = transformar amarelo e vermelho em verde.

Os tres estados (a parte que mais importa):

  • valid (verde): comprovado e conforme — conta para o score.
  • needs review (amarelo): pendencia — falta preencher ou confirmar. Nao e erro, mas nao pontua.
  • invalid (vermelho): ausente ou em conflito — e o que derruba o score e o que voce ataca primeiro.

O que cada modulo verifica (e por que importa):

  • Inventario: o ASN existe na base local — a ancora de todo o resto.
  • Contatos (tecnico, abuse, NOC, peering): quem e acionado em incidente ou abuso. Abuse desatualizado = reclamacao que nunca chega a voce.
  • IRR (source, AS-SET, aut-num, objetos RPKI invalidos): seus upstreams montam o filtro de rota a partir disso. Objeto ausente ou invalido = prefixo filtrado e rota que nao propaga.
  • RPKI (publish-only, ROAs, horario): o ROA assina qual ASN pode originar cada prefixo. Sem ROA, o bloco fica exposto a sequestro de rota; "publish-only" e o modo seguro, que nao altera politica BGP.
  • PeeringDB (AS-SET, prefix-limits): IXPs e peers usam para montar a sessao e o limite de prefixos. Divergencia trava ou derruba o peering.
  • GeoFeed (URL, entradas, limite 5 MB): a geolocalizacao correta dos seus blocos — exatamente o que o submenu GeoFeed trata.

Como usar no dia a dia: nao e obrigatorio cravar 100%. Ataque o vermelho primeiro (erro real), depois o amarelo (pendencia). O ganho de governanca e ter, numa tela so, uma foto auditavel de quao publicavel e confiavel o seu ASN esta.

Higiene

- aguardando dados

Modulos

Visao consolidada (todas as fontes falam entre si)

Checks

inventario, contatos, IRR, RPKI, PeeringDB e GeoFeed
Modulo Check Status Detalhe

Readiness MANRS / BCOP

aguardando dados
Como funciona o readiness MANRS / BCOP

O que e: um placar de prontidao do ASN frente as 4 acoes MANRS (a norma de fato para seguranca de roteamento) e a itens do BCOP do NIC.br. E uma lente separada do score de Higiene: aqui o foco e roteamento seguro.

As 4 acoes MANRS: Filtering (filtrar rotas suas e de clientes), Anti-spoofing (BCP 38/SAV, nao deixar sair IP de origem falsa), Coordination (contato tecnico/NOC atualizado no RIR e no PeeringDB) e Global Validation (publicar suas rotas em IRR e ROAs em RPKI para terceiros validarem).

Como ler: verde = pronto, amarelo = pendencia, vermelho = ausente. A "Cobertura ROA" cruza, offline, suas rotas (route/route6) com as ROAs: aponta rota sem ROA (ficaria Unknown/Invalid), rota mais especifica que o maxLength (ficaria Invalid) e ROA com maxLength permissivo demais (RFC 9319, convida hijack por more-specific).

Por que importa: e o checklist que upstreams, IXPs e o Desafio BCOP 2026 do NIC.br usam para medir um ASN saudavel. Filtering vira "valid" quando voce tem AS-SET + route objects: geramos o prefix-list (de SAIDA) por bgpq4 em Cisco/Huawei VRP8/JunOS/BIRD para colar no router. A Acao 2 (Anti-spoofing) vira "valid" quando voce registra a evidencia do CAIDA Spoofer (IPv4+IPv6) abaixo. Em Bogons (referencia) ha o filtro de ENTRADA (nega bogons + seus prefixos) pronto para download.

Readiness

- acoes "ready" de 4

Cobertura ROA (offline)

Acoes MANRS

Filtering, Anti-spoofing, Coordination, Global Validation
Acao Status Detalhe

Prefix-list (Filtering)

offline: route objects | ao vivo: expande o AS-SET no TC

BCOP (complementar)

itens correlatos do BCOP / NIC.br

Verificacao ao vivo (RIPEstat)

read-only; requer live lookups habilitado
Prefixo RPKI (observado) Visibilidade

Consistencia entre fontes (Registro.br x plataforma)

WHOIS/RDAP do Registro.br x contatos/org da plataforma (PeeringDB/IRR)

Anti-spoofing (evidencia)

MANRS Acao 2 — registre o resultado do CAIDA Spoofer

Bogons (referencia)

Filtro de ENTRADA (nega bogons + os SEUS prefixos vindos do transito) pronto pro router:

Monitoramento — Route loop

por ASN; fonte: proxy / homologacao
Como funciona o teste de route loop ("TTL da morte")

O que e: um loop de roteamento faz o pacote quicar entre roteadores; cada salto reduz o TTL ate zerar (ICMP Time Exceeded) — a "morte por TTL". No traceroute, aparece como os mesmos hops se repetindo sem nunca chegar ao destino.

Como testar: rode traceroute -n -m 40 <alvo> (ou mtr -n --report <alvo>) e cole a saida abaixo, ou deixe um proxy / o scripts/route_loop_probe.py enviar automaticamente.

Por que importa: traz fidelidade real (teste de dentro da rede) e cobre com precisao a metrica "Routing loops" do Qrator. Cada ASN tem seu historico aqui; no futuro, proxies dentro de cada rede alimentam o dash global.

Alvos de scan (varios CIDR) — preparado p/ proxy

Liste varios prefixos/IPs (um por linha) que o proxy dentro da sua rede vai sondar. Hoje a coleta e manual/probe; a coleta AUTOMATICA por proxy (token dedicado) e a proxima fase — o frontend ja esta preparado.

Quando Alvo Loop Hops Alcancou Origem

Contatos

tecnico, abuse, NOC e peering
Sobre este painel: Contatos

O que faz: lista os contatos do ASN por papel — tecnico, abuse, NOC e peering — com origem e status de validacao.

Por que importa: o contato de abuse e o canal por onde chegam as denuncias (spam, ataque, IP comprometido); tecnico e NOC tratam da operacao; peering cuida dos acordos. Contato desatualizado = incidente que nao chega a voce e reputacao do bloco em risco.

Boa pratica: use e-mail de papel (noc@, abuse@), nao pessoal — assim nao depende de uma unica pessoa.

Ganho de governanca: responsabilidade clara e resposta rapida a incidentes.

Tipo Nome Email Telefone Origem Visibilidade Status Usuario vinculado

Organizacao

Sobre: Organizacao

O que faz: guarda os dados da empresa do ASN — nome, site, endereco, redes sociais e CNPJ.

Sincronizacao: site/endereco/aka/redes sociais espelham a Org no PeeringDB (vem no import e poderao ser escritos de volta na Etapa 3). O CNPJ e local — o PeeringDB nao tem esse campo; a fonte oficial e o Registro.br.

IRR / RPKI

TC IRR e RPKI publish-only
Sobre este painel: IRR / RPKI

O que faz: concentra os objetos de roteamento. No IRR voce mantem os objetos RPSL (route/route6, as-set, aut-num, mntner, person, role); em RPKI, os ROAs planejados. O modo e publish-only — publica e edita objetos, sem alterar politica BGP.

Por que importa: seus upstreams e IXPs montam o filtro de prefixos a partir do IRR — rota sem objeto route/route6, ou fora do AS-SET, costuma ser barrada e nao propaga. O ROA assina qual ASN pode originar cada prefixo; sem ROA, o bloco fica exposto a sequestro de rota (route hijack).

RPSL e RPKI: o IRR fala RPSL, a linguagem dos objetos (RFC 2622); o RPKI usa ROA (RFC 9582) e os roteadores aplicam Route Origin Validation (RFC 6811). O AS-SET aceita nome hierarquico (ex.: AS65000:AS-CUSTOMERS).

Ganho de governanca: rotas que propagam de forma previsivel e origem comprovada — menos filtragem indevida e menos vulnerabilidade.

IRR

ROAs planejados

Prefixo ASN maxLength Estado

Objetos IRR

edicao local
TC IRR credencial nao consultada
Salve uma vez (fica cifrada no servidor); o Submit usa ela. Para editar, salve de novo.
Objects

Selecione uma classe

as-set, aut-num, mntner, person, role, route e route6
PK Estado Maintainer Atualizacao

RPKI / Krill

CA delegada (publish-only) dirigida pela plataforma: bootstrap no Registro.br e gestao de ROAs.

--
Como funciona o RPKI delegado aqui?

O que faz: publica ROAs (autorizam seu ASN a originar seus prefixos) com um Krill proprio, sob o Registro.br (modelo delegado).

Bootstrap (uma vez): gere o Child Request aqui, cole no painel Registro.br (Titularidade → ASN → Configurar RPKI), traga o Parent Response. Idem Publisher Request → Repository Response (Publicacao Remota).

ROA minimal (RFC 9319): maxLength = tamanho do prefixo. Maior habilita sequestro de sub-prefixo; menor invalida o anuncio.

Tempo (~1h): apos criar/alterar ROA, validadores levam ate ~1h para enxergar (o IRR/RADB so revalida ROA a cada 1h).

Ganho de governanca: RPKI e IRR conversando — as ROAs saem dos mesmos prefixos que voce ja registra no IRR.

Status da CA

Saude / Confiabilidade

Servidor de chave: tempo (NTP.br), servico rodando e atualizacao. Coletado no host a cada ~15 min.

    Bootstrap (delegacao no Registro.br)

    Admin. Uma vez por organizacao. Cada request tem a sua resposta no MESMO bloco: (1) gere o Child Request → leve ao Registro.br (Configurar RPKI) → cole o Parent Response que ele devolver e aplique. (2) gere o Publisher Request → leve a Publicacao Remota → cole o Repository Response e aplique. Se ao aplicar o Parent o Krill reclamar de repositorio, aplique antes o Repository Response (bloco 2). Depois: ROAs.

    ROAs publicados

    Recursos da CA: — (use "Sugerir ROAs" para carregar dos anuncios reais)

    Como definir o maxLength (RFC 9319) — minimo vs permissivo

    ROA minimo: maxLength = o tamanho do proprio prefixo (ex.: 168.121.88.0/24 → maxLength 24). E o recomendado.

    Por que importa: um maxLength MAIOR que o prefixo (ex.: /22 com maxLength 24) e "permissivo" — autoriza qualquer sub-prefixo a originar do seu ASN, entao um atacante pode anunciar um /24 SEU nao-usado e ficar RPKI-valid (sequestro de sub-prefixo).

    Desagregar (balanceamento / mitigacao de DDoS) e legitimo e NAO conflita com a RFC: anuncie os /24 que precisar e crie 1 ROA por prefixo anunciado, cada um minimo. Assim todos ficam valid e nenhum sub-prefixo nao-anunciado pode ser sequestrado.

    Evite: /22 com maxLength 24 (1 ROA permissivo). Prefira: /22 (max 22) + 1 ROA por /24 anunciado (max 24).

    Reconciliacao (RIPEstat × IRR × ROA): "falta ROA" (anunciado, sem ROA) → adicione; "nao anunciado" (esta no IRR mas nao no BGP) → pode adicionar proativo (o ROA fica pronto p/ quando voce anunciar); "orfao" (ROA sem route-object no IRR) → gere o route-object no IRR.

    RFC 9319 — The Use of maxLength in RPKI.

    ASNPrefixomaxLengthComentario

    Coerencia IRR ↔ RPKI

    Compara os route-objects que voce registra no IRR com os ROAs publicados (origem = ASN selecionado). "Sugerir" preenche a tabela de adicao com os ROAs minimais faltantes.

    PeeringDB

    perfil publico e divergencias
    Sobre este painel: PeeringDB

    O que faz: mostra o perfil publico do ASN no PeeringDB (AS-SET, limites de prefixo IPv4/IPv6, presenca em IXPs) e aponta divergencias com o seu inventario.

    Por que importa: peers e IXPs consultam o PeeringDB para montar a sessao e definir o prefix-limit. AS-SET divergente do IRR, ou prefix-limit baixo demais, trava ou derruba o peering; alto demais enfraquece a protecao contra vazamento de rota.

    Ganho de governanca: perfil publico coerente com o IRR — peering aprovado mais rapido e com menos suporte manual.

    read-only; importar requer live lookups habilitado

    Editar perfil da Rede (local)

    Sobre: edicao local da Rede

    O que faz: edita localmente os campos da Rede do PeeringDB (AS-SET do IRR, tipo, escopo, trafego, protocolos, looking glass, politica) e o menu Configuration (Allow IXP Update / Notify).

    Allow IXP Update: autoriza o IXP a manter seus registros de netixlan via o IX-F member export. Notify On IXP Update: avisa por e-mail quando um import IX-F mudar seus dados.

    Sincronizacao: aqui e local; escrever de volta no PeeringDB (PUT) e a Etapa 3.

    IXPs (netixlan)

    IXIPv4IPv6Speed (Mbps)
    depois clique em "Salvar perfil da Rede"

    Credencial PeeringDB (org API key)

    Sobre: credencial (org API key)

    O que e: a Organization API key (com permissao READ-WRITE em net/org) que o PeeringDB te deu. E por organizacao — vale para este ASN e qualquer outro da MESMA org. Para um ISP de outra org, selecione o ASN dele e cole a key daquela org.

    Seguranca: a key fica so no servidor, cifrada em repouso (Fernet, chave derivada do session_secret) e NUNCA aparece de volta aqui — so o status. Sem ela, o "Enviar ao PeeringDB" da erro 400.

    Status: —

    Sincronizar com PeeringDB (escrita)

    Sobre: sincronizacao (Etapa 3)

    O que faz: escreve de volta no PeeringDB (PUT) os campos da Rede e da Organizacao que voce editou aqui e que diferem do PeeringDB. Direcao unica: inventario → PeeringDB.

    Seguranca: "Pre-visualizar" so mostra o diff (nao escreve nada). "Enviar" exige ASN_PLATFORM_ENABLE_EXTERNAL_WRITES=true e a org API key com permissao de escrita no .env. CNPJ e geocode nunca saem. POC e netixlan ficam para a proxima etapa.

    GeoFeed

    RFC 8805 / 9632 / 9877
    Sobre esta aba: Editor

    O que faz: voce declara, por prefixo, a localizacao real — pais BR, regiao ISO 3166-2 (BR-DF) e cidade. Ao salvar, o sistema valida o CIDR, normaliza a regiao (SP vira BR-SP) e barra o que foge do padrao.

    Por que importa: bases de GeoIP (MaxMind, IPinfo, Google) adivinham a localizacao e erram — jogam blocos inteiros na capital. Isso afeta conteudo regional, antifraude, CDN, streaming e ate obrigacoes legais do cliente.

    RFC 8805 (2020): criada pra isso — em vez de o provedor adivinhar, o dono do bloco publica a verdade (self-published). Dai o formato simples (CSV de 5 colunas) e voce como fonte autoritativa; a regiao usa ISO 3166-2 porque e o padrao que os consumidores entendem.

    Ganho de governanca: corrige na origem, derruba o chamado "meu IP aparece na cidade errada" e da ao ASN uma localizacao correta e auditavel.

    Prefixo Pais Regiao Cidade Postal Origem Validado
    Sobre esta aba: Importar

    O que faz: sobe ou cola um CSV e valida em massa. A analise normaliza (SP vira BR-SP, trata acento/virgula) e lista os erros (prefixo invalido, regiao fora do padrao, duplicata, sobreposicao) antes de salvar.

    Por que importa: quem ja mantem um inventario nao precisa redigitar, e nada invalido chega a ser publicado.

    Base (RFC 8805): o arquivo precisa ser UTF-8, CIDR valido e 5 colunas. A validacao aqui e o controle de qualidade que garante exatamente isso.

    Ganho de governanca: menos erro humano e um arquivo aceito de primeira pelo Registro.br e pelos provedores de GeoIP.

    Sobre esta aba: Comparar provedores

    O que faz: puxa ao vivo o que MaxMind/IPinfo dizem hoje para um IP de cada prefixo e compara com o que voce declarou, destacando divergencias de pais, regiao e cidade.

    Por que importa: e a evidencia objetiva de que o provedor erra (no seu caso, "Brasilia" para tudo, e um bloco em "Rio"). Justifica e prioriza o geofeed.

    Base: a RFC 8805 existe porque a localizacao inferida falha; aqui voce ve o tamanho do erro. O feed e dado do operador — o provedor e que se ajusta a voce, nao o contrario (por isso, em geral, nao copie o valor do provedor).

    Ganho de governanca: decisao baseada em fato e material para cobrar correcao dos provedores que ainda nao leem geofeed.

    Requer MaxMind/IPinfo configurado
    PrefixoCampoOperadorProvedores
    Sobre esta aba: Blocos / Registro.br

    O que faz: agrupa as entradas e gera 1 CSV por bloco alocado (nome canonico, ex.: geofeeds_198.18.0.0_22.csv), contendo so aquele bloco e seus sub-blocos.

    Por que importa: o Registro.br exige "um arquivo por bloco". Voce publica cada um numa URL HTTPS (download direto) e aponta em Numeracao → Configurar Geofeed.

    RFC 9632 (2024): padroniza como o geofeed e descoberto e consumido (substitui a RFC 9092), com cuidados de tamanho e confianca — dai a regra de "um arquivo por bloco".

    Ganho de governanca: publicacao autoritativa, organizada e rastreavel; nenhum provedor precisa adivinhar a origem da informacao.

    Um arquivo por bloco alocado (apenas dados salvos), pronto para o Registro.br: Numeracao → Configurar Geofeed.

    BlocoArquivoEntradasStatus

    Sobre esta aba: RDAP

    O que faz: consulta o RDAP do bloco e verifica se ja existe um link de geofeed publicado (rel="geofeed") e se a URL bate com a que voce configurou.

    Por que importa: e a prova de que a publicacao "pegou" — o feed so vale quando esta descoberto a partir do registro, nao apenas hospedado numa URL.

    RFC 9877 (out/2025): leva a descoberta do geofeed para o RDAP, sucessor estruturado (JSON) do WHOIS. E o que permitiu o Registro.br oferecer "Configurar Geofeed".

    Ganho de governanca: fecha o ciclo declarar → publicar → verificar; sem esta checagem voce nao sabe se provedores conseguem achar o seu feed.

    Requer live lookups habilitado

    Como registrar no Registro.br

    1. Publique o CSV (1 por bloco) numa URL HTTPS estavel, com download direto.
    2. No painel do Registro.br: Numeracao → selecione o bloco → Configurar Geofeed.
    3. Informe a URL HTTPS e salve.
    4. Confirme aqui via RDAP que o link geofeed aparece.

    Integracoes

    capacidade consolidada + saude ao vivo
    Sobre este painel: Integracoes

    O que faz: resume a capacidade de cada integracao externa (TC IRR, PeeringDB, RPKI/Krill, provedores de GeoIP) e em que modo ela esta — leitura, publish-only ou escrita habilitada.

    Por que importa: deixa explicito o que e seguro por padrao (read-only / publish-only) e o que exige credencial ou ativacao para escrever de fato, evitando acao destrutiva sem querer.

    Ganho de governanca: transparencia sobre o que o sistema pode tocar no mundo externo — mudanca consciente e auditavel.

    Saude das APIs ao vivo

    Monitoramento real (alcancabilidade): Krill, TC IRR, PeeringDB, RIPEstat.

    • Abra o painel ou clique em "Checar agora".

    Usuarios e permissoes

    multi-tenant · apenas admin global

    Configuracoes da plataforma

    Interruptor global de escrita externa no PeeringDB (sync). Quando desligado, o "Enviar ao PeeringDB" e bloqueado mesmo com a key configurada.

    Criar / editar usuario

    Tenants / ASNs do usuario

    Cada ASN e um tenant. O papel aqui sobrescreve o global naquele ASN. Admin do tenant cria/edita/deleta APENAS o(s) ASN(s) atribuidos; Operador cria e edita; Leitura so visualiza.

    Usuarios por tenant

    InnetOps (global) gerencia tudo; cada ASN e um tenant

    Looking Glass

    diagnostico multi-PoP — ping / traceroute / mtr + BGP (Huawei)
    PoPs

    Consulta BGP (Huawei VRP)

    Tabela BGP de um destino no roteador (read-only, display bgp routing-table). Veja docs/26-bgp-looking-glass.md.

    PoPs (agentes-proxy)

    Cada PoP roda o innet_lg_agent.py. O token e do servidor (ASN_PLATFORM_PROXY_TOKEN), o mesmo INNET_LG_TOKEN do agente. Veja docs/25-looking-glass.md.

    NomeRotuloURLAtivo

    Roteadores BGP

    Use um usuario VRP somente-leitura (autorizacao de comando = display). A senha e cifrada e nunca exibida. Veja docs/26-bgp-looking-glass.md.

    NomeRotuloHostUsuarioSenhaAtivo

    Trocar senha