Outras considerações de segurança

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Há algumas outras coisas que você deve considerar ao proteger pipelines.

Confiar em PATH

Confiar na configuração PATH do agente é perigoso. Ela pode não apontar para onde você pensa que ela apontará, uma vez que um script ou ferramenta anterior pode tê-la alterado. Para scripts e binários críticos de segurança, sempre use um caminho totalmente qualificado para o programa.

Registro em log de segredos

O Azure Pipelines tenta tirar segredos dos logs sempre que possível. Essa filtragem é feita na base do melhor esforço e não pode capturar todas as formas com que os segredos podem ser vazados. Evite ecoar segredos no console, usá-los em parâmetros de linha de comando ou registrá-los em arquivos.

Bloquear contêineres

Os contêineres têm alguns mapeamentos de montagem de volume fornecidos pelo sistema nas tarefas, no workspace e nos componentes externos necessários para se comunicar com o agente de host. Você pode marcar qualquer um ou todos esses volumes somente leitura.

resources:
  containers:
  - container: example
    image: ubuntu:22.04
    mountReadOnly:
      externals: true
      tasks: true
      tools: true
      work: false  # the default; shown here for completeness

A maioria das pessoas deve marcar os três primeiros como somente leitura e deixar work como leitura-gravação. Se você souber que não gravará no diretório de trabalho em um determinado trabalho ou etapa, vá em frente e torne work somente leitura também. Se você tiver tarefas em seu pipeline, que são auto-modificadas, talvez seja necessário deixar tasks como leitura/gravação.

Controlar tarefas disponíveis

Você pode desabilitar a capacidade de instalar e executar tarefas do Marketplace. Isso permitirá maior controle sobre o código que é executado em um pipeline. Você também pode desabilitar todas as tarefas integradas (exceto Checkout, que é uma ação especial no agente). Recomendamos que você não desabilite tarefas integradas na maioria das circunstâncias.

As tarefas instaladas diretamente com tfx estão sempre disponíveis. Com esses dois recursos habilitados, somente essas tarefas estão disponíveis.

Usar o serviço de Auditoria

Muitos eventos de pipeline são registrados no serviço de auditoria. Examine o log de auditoria periodicamente para garantir que nenhuma alteração mal-intencionada tenha passado. Acesse https://dev.azure.com/ORG-NAME/_settings/audit para começar.

Próximas etapas

Retorne à visão geral e verifique se você abordou todos os artigos.