Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2023-09-12. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Proteção por push para repositórios e organizações

Você pode usar a secret scanning para impedir que segredos com suporte sejam enviados por push à organização ou ao repositório habilitando a proteção por push.

A Secret scanning está disponível para os repositórios pertencentes a uma organização no GitHub Enterprise Server se a sua empresa tem uma licença do GitHub Advanced Security. Para obter mais informações, confira "Sobre a verificação de segredo" e "Sobre a Segurança Avançada do GitHub".

Observação: o administrador do site precisa habilitar a secret scanning no sua instância do GitHub Enterprise Server para que você possa usar esse recurso. Para obter mais informações, confira "Configurar a varredura de segredo para o seu dispositivo".

Talvez você não consiga habilitar ou desabilitar o secret scanning se um proprietário da empresa tiver definido uma política GitHub Advanced Security (GHAS) no nível da empresa. Para obter mais informações, confira "Como impor políticas para segurança e análise de código na empresa".

Sobre a proteção por push para repositórios e organizações

Até agora, a secret scanning verifica se há segredos após um push e alerta os usuários sobre os segredos expostos. Quando você habilita a proteção por push na organização ou no repositório, a secret scanning também verifica a presença de segredos de alta confiança (identificados por uma taxa baixa de falsos positivos) nos pushes. A Secret scanning lista todos os segredos detectados para que o autor possa revisar os segredos e removê-los ou, se necessário, permitir que esses segredos sejam enviados por push.

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 no estado descrito na tabela abaixo.
  • adicionará o evento bypass ao log de auditoria.

É possível monitorar os alertas de segurança para descobrir quando os usuários ignoram as proteções de push e criam alertas. Para obter mais informações, confira "Alertas de segurança de auditoria".

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 bypassComportamento do alerta
É usado em testesO GitHub cria um alerta fechado, que é resolvido como "usado em testes"
Isso é um falso positivoO GitHub cria um alerta fechado, que é resolvido como "falso positivo"
Farei a correção mais tardeO GitHub cria um alerta aberto

Para obter informações sobre os segredos e provedores de serviços com suporte para proteção por push, confira "Padrões de digitalização de segredo".

Habilitar a secret scanning como uma proteção por push

Para que você use secret scanning como uma proteção por push em repositórios públicos, a organização ou o repositório precisa ter a secret scanning habilitada. Para saber mais, confira "Gerenciando as configurações de segurança e de análise da sua organização," "Gerenciando as configurações de segurança e análise do repositório" e "Sobre a Segurança Avançada do GitHub."

Os proprietários da organização, os gerentes de segurança e os administradores de repositório podem habilitar a proteção por push na secret scanning por meio da API. Para saber mais, confira "Repositórios" e expanda a seção "Propriedades do objeto security_and_analysis" na documentação da API REST.

Observação: quando você cria fork em um repositório com secret scanning como uma proteção por push habilitada, isso não é habilitado por padrão no fork. Você pode habilitá-lo no fork da mesma forma que o habilita em um repositório autônomo.

Habilitar a secret scanning como uma proteção por push para uma organização

Você pode usar a página de configurações da organização para "Segurança e análise de código" para habilitar ou desabilitar secret scanning como uma proteção por push de todos os repositórios existentes em uma organização.

  1. No sua instância do GitHub Enterprise Server, navegue até a página principal da organização.

  2. No nome da sua organização, clique Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela da barra de navegação horizontal para uma organização. A guia "Configurações" está contornada em laranja escuro.

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Em "Segurança e análise de código", encontre o "GitHub Advanced Security".

  5. Em "Secret scanning", em "Proteção por push", clique em Habilitar tudo.

  6. Opcionalmente, clique em "Habilitar automaticamente para repositórios adicionados aosecret scanning".

Para obter mais informações sobre como habilitar recursos de segurança em uma organização, confira "Como proteger sua organização".

Como habilitar a secret scanning como uma proteção por push para um repositório

  1. No sua instância do GitHub Enterprise Server, navegue até a página principal do repositório.
  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações. Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.
  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.
  4. Em "Segurança e análise de código", encontre o "GitHub Advanced Security".
  5. Em "Secret scanning", em "Proteção por push", clique em Habilitar. Captura de tela mostrando como habilitar a proteção contra push na secret scanning para um repositório.

Habilitar a proteção por push para um padrão personalizado

Você pode habilitar secret scanning como uma proteção por push para padrões personalizados armazenados em no nível da empresa, da organização ou do repositório.

Habilitar a proteção por push para um padrão personalizado armazenado em uma empresa

Observações:

  • Para habilitar a proteção de push para padrões personalizados, é preciso habilitar o secret scanning como a proteção de push no nível corporativo. Para obter mais informações, confira "Proteção por push para repositórios e organizações".
  • Habilitar a proteção de push para padrões personalizados comumente encontrados pode ser prejudicial para os colaboradores.

Antes de habilitar a proteção por push para um padrão personalizado no nível da empresa, você também deve testar seus padrões personalizados usando simulações. Você só pode executar uma simulação em repositórios aos quais você tem acesso de administração. Se um proprietário da empresa quiser acesso para executar simulações em qualquer repositório em uma organização, ele deverá receber a função de proprietário da organização. Para obter mais informações, confira "Gerenciando sua função em uma organização pertencente à sua empresa".

  1. No canto superior à direita de GitHub Enterprise Server, clique na foto do perfil e clique em Configurações da empresa.

    Captura de tela do menu suspenso que aparece quando você clica na foto de perfil no GitHub Enterprise Server. A opção "Configurações corporativas" está realçada em um contorno laranja-escuro.

  2. Na barra lateral da empresa, clique em Políticas. 1. Em "Políticas", clique em Segurança Avançada.

  3. Em "GitHub Advanced Security", clique na guia Recursos de segurança. 1. Em "Secret scanning", em "Padrões personalizados", clique em para o padrão de interesse.

Nota: no nível empresarial, você só pode editar e habilitar a proteção por push para padrões personalizados criados por você.

1. Para habilitar a proteção por push para seu padrão personalizado, role a tela até "Proteção por Push" e clique em **Habilitar**.

Captura de tela da página de padrões personalizados com o botão para habilitar a proteção por push realçado com um contorno laranja escuro.

Habilitar secret scanning como uma proteção por push para um padrão personalizado em uma organização

Antes de habilitar a proteção por push para um padrão personalizado no nível da organização, você deve habilitar secret scanning para os repositórios que deseja digitalizar em sua organização. Para habilitar o secret scanning em todos os repositórios da sua organização, confira "Gerenciando as configurações de segurança e de análise da sua organização".

  1. No canto superior direito do GitHub Enterprise Server, clique na foto do seu perfil e clique em Suas organizações.

    Captura de tela do menu suspenso na imagem de perfil do @octocat. "Suas organizações" está contornado em laranja escuro.

  2. Ao lado da organização, clique em Configurações.

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Em "Segurança e análise de código", encontre o "GitHub Advanced Security".

  5. Em "Secret scanning", em "Padrões personalizados", clique em para o padrão de interesse.

  6. Para habilitar a proteção por push para seu padrão personalizado, role a tela até "Proteção por Push" e clique em Habilitar.

    Observações:

    • A proteção de push para padrões personalizados será aplicada somente a repositórios em sua organização que tenham o secret scanning como uma proteção de push habilitada. Para obter mais informações, confira "Proteção por push para repositórios e organizações".
    • Habilitar a proteção de push para padrões personalizados comumente encontrados pode ser prejudicial para os colaboradores.

    Captura de tela da seção "Proteção por push" da página de padrões personalizados. Um botão, rotulado como "Habilitar", está contornado em laranja escuro.

Habilitar secret scanning como uma proteção por push em um repositório para um padrão personalizado

Antes de habilitar a proteção por push para um padrão personalizado no nível do repositório, você deve definir o padrão e testá-lo no repositório. Para obter mais informações, confira "Definir padrões personalizados para a verificação de segredo".

  1. No sua instância do GitHub Enterprise Server, navegue até a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações. Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Em "Segurança e análise de código", encontre o "GitHub Advanced Security".

  5. Em "Secret scanning", em "Padrões personalizados", clique em para o padrão de interesse.

  6. Para habilitar a proteção por push para seu padrão personalizado, role a tela até "Proteção por Push" e clique em Habilitar.

    Captura de tela da seção "Proteção por push" da página de padrões personalizados. Um botão, rotulado como "Habilitar", está contornado em laranja escuro.

Usar a verificação de segredos como uma proteção por push da linha de comando

Quando você tentar efetuar push de um segredo compatível para um repositório ou uma organização com a secret scanning como uma proteção por push habilitada, o GitHub bloqueará o push. Você pode remover o segredo do branch ou seguir uma URL fornecida para permitir o push.

Até cinco segredos detectados serão exibidos por vez na linha de comando. Se um segredo específico já tiver sido detectado no repositório e um alerta já existir, o GitHub não bloqueará esse segredo.

Se você confirmar que um segredo é real, precisará remover o segredo do branch, de todos os commits em que ele aparece, antes de efetuar push novamente. Para saber mais sobre como corrigir segredos bloqueados, confira "Efetuar push de um branch bloqueado pela proteção por push".

Se você confirmar que um segredo é real e que pretende corrigi-lo mais tarde, tente corrigi-lo o mais rápido possível. Por exemplo, você pode revogar o segredo e removê-lo do histórico de commits do repositório. Segredos reais que foram expostos devem ser revogados para evitar acesso não autorizado. Você pode considerar primeiro rotacionar o segredo antes de revogá-lo. Para obter mais informações, confira "Remover dados confidenciais de um repositório".

Observações:

  • Se a configuração do Git der suporte a pushes para vários branches e não apenas para o branch atual, o push poderá ser bloqueado devido a referências adicionais e não intencionais serem enviadas por push. Para obter mais informações, confira as opções push.default na documentação do Git.
  • Se secret scanning atingir o tempo limite após o push, GitHub ainda executará uma verificação dos seus commits para segredos após o push.

Permitir o push de um segredo bloqueado

Se o GitHub bloquear um segredo que você acredita ser seguro para push, permita o segredo e especifique o motivo pelo qual ele deve ser permitido.

Quando você permite que um segredo seja enviado por push, um alerta será criado na guia Segurança. GitHub fecha o alerta e não envia uma notificação se você especificar que o segredo é um falso positivo ou usado apenas em testes. Se você especificar que o segredo é real e que o corrigirá mais tarde, GitHub manterá o alerta de segurança aberto e enviará notificações ao autor do commit, bem como aos administradores do repositório. Para obter mais informações, confira "Gerenciar alertas da verificação de segredo".

  1. Acesse a URL retornada pelo GitHub quando o push foi bloqueado.
  2. Escolha a opção que melhor descreve o motivo pelo qual você deve conseguir efetuar push do segredo.
    • Se o segredo for usado apenas em testes e não representar nenhuma ameaça, clique em Ele é usado em testes.
    • Se a cadeia de caracteres detectada não for um segredo, clique em É um falso positivo.
    • Se o segredo for real, mas você pretender corrigi-lo mais tarde, clique em Corrigirei mais tarde.
  3. Clique em Permitir que eu efetue push deste segredo.
  4. Tente efetuar push novamente na linha de comando em até três horas. Se você não efetuar push em até três horas, precisará repetir esse processo.

Usar a verificação de segredos como uma proteção de push da interface do usuário da Web

Quando você usa a interface do usuário da Web para tentar fazer commit de um segredo com suporte em um repositório ou uma organização com a verificação de segredo como uma proteção por push habilitada, o GitHub bloqueará o commit.

Você verá uma caixa de diálogo com informações sobre a localização do segredo, bem como opções que permitem enviar o segredo por push. O segredo também será sublinhado no arquivo para que você possa encontrá-lo facilmente.

O GitHub exibirá apenas um segredo detectado por vez na interface do usuário da Web. Se um segredo específico já tiver sido detectado no repositório e um alerta já existir, o GitHub não bloqueará esse segredo.

Você pode remover o segredo do arquivo usando a interface do usuário da Web. Depois de remover o segredo, você poderá confirmar suas alterações.

Ignorando a proteção por push em um segredo

Se você confirmar que um segredo é real, precisará remover o segredo do branch, de todos os commits em que ele aparece, antes de efetuar push novamente. Para saber mais sobre como corrigir segredos bloqueados, confira "Efetuar push de um branch bloqueado pela proteção por push".

Se você confirmar que um segredo é real e que pretende corrigi-lo mais tarde, tente corrigi-lo o mais rápido possível. Para obter mais informações, confira "Remover dados confidenciais de um repositório".

Se o GitHub bloquear um segredo que você acredita ser seguro para push, permita o segredo e especifique o motivo pelo qual ele deve ser permitido.

Quando você permite que um segredo seja enviado por push, um alerta será criado na guia Segurança. GitHub fecha o alerta e não envia uma notificação se você especificar que o segredo é um falso positivo ou usado apenas em testes. Se você especificar que o segredo é real e que o corrigirá mais tarde, GitHub manterá o alerta de segurança aberto e enviará notificações ao autor do commit, bem como aos administradores do repositório. Para obter mais informações, confira "Gerenciar alertas da verificação de segredo".

  1. Na caixa de diálogo que apareceu quando GitHub bloqueou o commit, examine o nome e o local do segredo.
  2. Escolha a opção que melhor descreve o motivo pelo qual você deve conseguir efetuar push do segredo.
    • Se o segredo for usado apenas em testes e não representar nenhuma ameaça, clique em Ele é usado em testes.
    • Se a cadeia de caracteres detectada não for um segredo, clique em É um falso positivo.
    • Se o segredo for real, mas você pretender corrigi-lo mais tarde, clique em Corrigirei mais tarde.
  3. Clique em Permitir segredo.