O Que É Filtragem de Egress em CI? Controlando Onde um Build Pode se Conectar
A filtragem de egress restringe para onde um job de CI tem permissão de enviar dados, para que um build possa alcançar os serviços que precisa mas não possa exfiltrar secrets para um atacante.
A maioria da segurança foca no que entra em um build. A filtragem de egress foca no que sai. Uma dependência comprometida que rouba seus secrets ainda precisa enviá-los para algum lugar; a filtragem de egress faz essa etapa final falhar. Ao permitir conexões apenas para destinos conhecidos e confiáveis, ela transforma um roubo bem-sucedido em um roubo inútil.
O problema da exfiltração
Um pacote malicioso pode ler seus secrets em milissegundos. O dano só acontece quando ele os envia para fora, para uma URL ou IP de atacante. Se o build não consegue alcançar aquele destino, o secret nunca sai, e o ataque é neutralizado na última etapa.
Como a filtragem de egress funciona
- Defina um allowlist de destinos que o build legitimamente precisa.
- Bloqueie todas as outras conexões de saída por padrão.
- Registre ou alerte sobre tentativas de alcançar qualquer coisa fora da lista.
- Ajuste o allowlist conforme dependências legítimas são descobertas.
Allowlist vs blocklist
Blocklists falham porque atacantes usam novos destinos. Um allowlist default-deny é a abordagem robusta: o build pode falar com seu registry, sua cloud, seu espelho de pacotes, e nada mais. Qualquer coisa inesperada é bloqueada e trazida à tona.
Pegando ataques em flagrante
Além de bloquear, a filtragem de egress é um sinal de detecção. Uma etapa de build de repente tentando alcançar um host desconhecido é um forte indicador de comprometimento, uma dependência envenenada em plena exfiltração. Esse alerta pode disparar uma investigação antes do próximo build rodar.
Controle de egress no runner
A filtragem de egress precisa viver no runner ou na fronteira de rede, o que é difícil de adaptar em uma frota self-hosted improvisada. Runners gerenciados e isolados podem impor política de rede por job como parte de um ambiente endurecido, então a exfiltração é bloqueada sem cada time montar firewalls.
Principais conclusões
- A filtragem de egress controla para onde um job de CI pode enviar dados, bloqueando a exfiltração.
- Um allowlist default-deny supera um blocklist contra destinos novos de atacantes.
- Tentativas de egress bloqueadas servem também como sinal de detecção de comprometimento.