Sobre a proteção por push
A proteção de push é um recurso da secret scanning projetado para impedir que informações confidenciais, como segredos ou tokens, sejam enviadas para o repositório em primeiro lugar. Ao contrário da secret scanning, que detecta segredos após seu commit, a proteção de push verifica proativamente seu código em busca de segredos durante o processo de push e bloqueia o push se algum for detectado.
A proteção de push ajuda a evitar os riscos associados a segredos expostos, como acesso não autorizado a recursos ou serviços. Com esse recurso, os desenvolvedores obtêm feedback imediato e podem resolver possíveis problemas antes que eles se tornem uma preocupação de segurança.
Para obter informações sobre os segredos e provedores de serviços compatíveis com a proteção de push, confira Padrões de varredura de segredos com suporte.
A proteção de push tem algumas limitações. Para saber mais, confira Solução de problemas com a varredura de segredos.
Como a proteção de push funciona
A proteção contra push funciona:
- Da linha de comando. Confira Trabalhando com a proteção de push via linha de comando.
- Na interface do usuário do GitHub. Confira Trabalhar com proteção de push na interface do usuário do GitHub.
Uma vez habilitada, se a proteção de push detectar um possível segredo durante uma tentativa de push, ela bloqueará o push e fornecerá uma mensagem detalhada explicando o motivo do bloqueio. Você precisará revisar o código em questão, remover todas as informações confidenciais e tentar o push novamente.
Por padrão, qualquer pessoa com acesso de gravação ao repositório pode optar por ignorar a proteção de push especificando um dos motivos de bypass descritos na tabela. Se um colaborador ignorar um bloco de proteção por push para um segredo, GitHub:
- criará um alerta na guia Segurança do repositório.
- Adiciona o evento de bypass ao log de auditoria.
- Envia um alerta por email para proprietários da organização ou da conta pessoal, gerentes de segurança e administradores de repositório que estiverem inspecionando o repositório, com um link para o segredo e o motivo pelo qual ele foi permitido.
Esta tabela mostra o comportamento dos alertas referente a cada maneira como o usuário pode ignorar um bloco de proteção por push.
Motivo do bypass | Comportamento do alerta |
---|---|
É usado em testes | O GitHub cria um alerta fechado, que é resolvido como "usado em testes" |
Isso é um falso positivo | O GitHub cria um alerta fechado, que é resolvido como "falso positivo" |
Farei a correção mais tarde | O GitHub cria um alerta aberto |
Sobre os benefícios da proteção de push
-
Segurança preventiva: a proteção de push atua como um mecanismo de defesa de linha de frente, verificando o código em busca de segredos no momento do push. Essa abordagem preventiva ajuda a detectar possíveis problemas antes que eles sejam inseridos em seu repositório.
-
Feedback imediato: os desenvolvedores recebem feedback instantâneo se um possível segredo for detectado durante uma tentativa de push. Essa notificação imediata permite uma correção rápida, reduzindo a probabilidade de exposição de informações confidenciais.
-
**Risco reduzido de vazamentos de **dados: ao bloquear commits que contêm informações confidenciais, a proteção contra push reduz significativamente o risco de vazamentos acidentais de dados. Isso ajuda a proteger contra acesso não autorizado à sua infraestrutura, serviços e dados.
-
Gerenciamento eficiente de segredos: em vez de lidar retrospectivamente com segredos expostos, os desenvolvedores podem resolver problemas na origem. Isso torna o gerenciamento de segredos mais eficiente e menos demorado.
-
Capacidade de detectar padrões personalizados: as organizações podem definir padrões personalizados para detectar segredos exclusivos de seus próprios ambientes. Essa personalização garante que a proteção de push possa identificar e bloquear com eficácia até mesmo segredos não padrão.
Personalizando a proteção de push
Depois que a proteção de push estiver habilitada, você poderá personalizá-la ainda mais:
Definir padrões personalizados
Defina padrões personalizados que a proteção de push pode usar para identificar segredos e bloquear pushes que contenham esses segredos. Para saber mais, confira Definir padrões personalizados para a verificação de segredo.