Skip to content
Latchkey

O Que É um Hardened Runner? Uma Máquina de CI Feita para Resistir a Ataques

Um hardened runner é uma máquina de CI deliberadamente configurada para resistir a adulteração, limitar o que os jobs podem alcançar e não deixar estado para trás para o próximo job.

Um runner executa o que quer que seu pipeline mande, incluindo código de dependências e pull requests em que você talvez não confie totalmente. Um hardened runner assume que parte desse código pode ser hostil e é construído para limitar o dano: padrões restritos, acesso de rede limitado, monitoramento e nenhum estado persistente. É a diferença entre um alvo fácil e um fortificado.

O que envolve o hardening

  • Rodar jobs com least privilege, não como um usuário todo-poderoso.
  • Egress filtering para bloquear conexões de saída inesperadas.
  • Monitoramento de comportamento anômalo de processos e de rede.
  • Ambientes efêmeros e isolados sem estado compartilhado.

Por que um runner padrão é arriscado

Um runner de longa duração e amplamente permissionado é um alvo suculento: ele vê muitos jobs, carrega credenciais poderosas e persiste estado. O comprometimento de um job pode envenenar o próximo ou colher segredos entre execuções. O hardening remove essas facilidades.

Egress filtering e monitoramento

Dois dos controles mais eficazes são restringir para onde um job pode enviar dados (para que a exfiltração falhe) e observar comportamento suspeito (um build step abrindo de repente uma conexão de rede que nunca abriu antes). Juntos eles pegam e bloqueiam muitos ataques de supply-chain em ação.

Isolamento e ephemerality

Um hardened runner dá a cada job um ambiente fresco e isolado e o destrói depois. Essa única propriedade derrota uma classe inteira de ataques: um job comprometido não pode persistir, não pode ler os segredos de outro job e não pode adulterar builds futuros.

Hardening como um padrão gerenciado

Fazer o hardening de uma frota self-hosted é trabalho contínuo. Managed runners que são isolados e efêmeros por design (como a Latchkey) entregam o hardening central, ambiente fresco por job, sem estado compartilhado, superfície de ataque reduzida, sem sua equipe mantê-lo.

Principais conclusões

  • Um hardened runner resiste a adulteração e contém o dano de código hostil.
  • Least privilege, egress filtering, monitoramento e isolamento são os controles centrais.
  • Ambientes efêmeros e isolados derrotam a persistência e o roubo de segredos entre jobs.

Guias relacionados