Sobre este guia
Como proprietário da organização, evitar a exposição de dados privados ou confidenciais deve ser uma prioridade máxima. Sejam intencionais ou acidentais, os vazamentos de dados podem causar um risco significativo para as partes envolvidas. Embora o GitHub tome medidas para ajudar a proteger você contra vazamentos de dados, você também é responsável por administrar sua organização visando a proteger a segurança.
Há vários componentes importantes quando se trata de se defender contra os vazamentos de dados:
- Adoção de uma abordagem proativa em relação à prevenção
- Detecção antecipada de possíveis vazamentos
- Manutenção de um plano de mitigação quando ocorre um incidente
A melhor abordagem dependerá do tipo de organização que você está gerenciando. Por exemplo, uma organização que se concentra no desenvolvimento de código aberto pode exigir controles mais flexíveis do que uma organização totalmente comercial, a fim de permitir a colaboração externa. Este artigo fornece diretrizes de alto nível sobre os recursos e as configurações do GitHub a serem considerados, que você deverá implementar de acordo com suas necessidades.
Proteger as contas
Proteja os repositórios e as configurações de sua organização implementando melhores práticas de segurança, incluindo habilitação da 2FA e exigência de que todos os membros adotem a verificação, além de estabelecer diretrizes de senha fortes.
– Habilitar processos de autenticação segura usando integrações do SAML e do SCIM, bem como a autenticação 2FA sempre que possível. Para saber mais, confira "Sobre o gerenciamento de identidades e de acesso com o logon único do SAML", "Sobre o SCIM para organizações" e "Proteger sua conta com a autenticação de dois fatores (2FA)".
-
Exigir que os membros da organização, os colaboradores externos e os gerentes de cobrança habilitem a 2FA para as respectivas contas pessoais, dificultando para os atores mal-intencionados acessar os repositórios e as configurações de uma organização. Esta é uma etapa adicional, além de habilitar a autenticação segura. Para obter mais informações, consulte "Exigindo a autenticação de dois fatores na sua organização".
-
Incentivar os usuários a criar senhas fortes e protegê-las adequadamente, seguindo as diretrizes de senha recomendadas do GitHub. Para obter mais informações, confira "Criar uma senha forte".
-
Incentive os usuários a manter a proteção por push para usuários habilitados em sua conta pessoal para contar com essa proteção independentemente do repositório público ao qual efetuem push. Para obter mais informações, confira "Proteção por push para usuários".
-
Estabelecer uma política de segurança interna do GitHub, para que os usuários saibam as etapas apropriadas a serem tomadas e com quem entrar em contato em caso de suspeita de um incidente. Para obter mais informações, confira "Adicionar uma política de segurança a um repositório".
Para obter informações mais detalhadas sobre como proteger as contas, confira "Melhores práticas para proteger contas".
Evitar vazamentos de dados
Como proprietário da organização, você deve limitar e revisar o acesso conforme apropriado para o tipo da sua organização. Considere as seguintes configurações para um controle mais rígido:
Recomendação | Mais informações |
---|---|
Desabilite a capacidade de criar fork de repositórios. | "Gerenciando a política de bifurcação para seu repositório" |
Desabilite a alteração da visibilidade do repositório. | "Restringir as alterações de visibilidade de repositório na organização" |
Restrinja a criação do repositório a privado ou interno. | "Restringir a criação de repositórios na organização" |
Desabilite a exclusão e a transferência do repositório. | "Definir permissões para excluir ou transferir repositórios" |
Desabilite a capacidade de usar chaves de implantação. | "Restringindo chaves de implantação em sua organização" |
Defina o escopo dos personal access tokens com as mínimas permissões necessárias. | Nenhum |
Proteja seu código convertendo repositórios públicos em privados sempre que apropriado. Você pode alertar os proprietários do repositório sobre essa alteração automaticamente usando um GitHub App. | Prevent-Public-Repos no GitHub Marketplace |
Confirme a identidade da sua organização verificando o domínio e restringindo as notificações por email somente aos domínios de email verificados. | "Verificar ou aprovar um domínio para sua organização" e "Restringir notificações de e-mail para sua organização" |
Confirme que as organizações atualizaram para o contrato do cliente do GitHub em vez de usar os termos de serviço padrão. | "Atualizar para o Contrato de Cliente do GitHub" |
Impeça que os colaboradores façam commits acidentais. | "Remover dados confidenciais de um repositório" |
Detectar vazamentos de dados
Não importa o nível de restrição imposto na sua organização para evitar vazamentos de dados, alguns ainda podem ocorrer e você poderá responder a eles usando a secret scanning, o log de auditoria e as regras de proteção de branch.
Usar a secret scanning
Os Secret scanning ajudam a proteger o código e manter os segredos seguros entre organizações e repositórios verificando e detectando segredos que foram acidentalmente confirmados no histórico completo do Git de cada branch nos repositórios GitHub. As cadeias de caracteres que correspondem a padrões fornecidos por parceiros da verificação de segredos, por outros provedores de serviços ou definidos por você ou pela sua organização são relatadas como alertas na guia Segurança dos repositórios.
Há duas formas da secret scanning disponíveis: Alertas de verificação de segredo para parceiros e Alertas de verificação de segredo para usuários .
-
Alertas de verificação de segredo para parceiros: eles são habilitados por padrão e executados automaticamente em todos os repositórios públicos e pacotes npm públicos.
-
Alertas de verificação de segredo para usuários: para obter funcionalidades de verificação adicionais para sua organização, você precisa habilitar os alertas de verificação de segredo para usuários.
Quando habilitados, os alertas de verificação de segredo para usuários podem ser detectados nos seguintes tipos de repositório:
- Repositórios públicos pertencentes a organizações que usam o GitHub Enterprise Cloud (gratuitamente)
- Repositórios privados e internos quando você tem uma licença do GitHub Advanced Security
Para obter mais informações, confira secret scanning, confira "Sobre a verificação de segredo".
Você também pode habilitar a secret scanning como uma proteção por push para um repositório ou uma organização. Quando você habilita esse recurso, a secret scanning impede que os colaboradores efetuem push de um código com um segredo detectado. Para obter mais informações, confira "Sobre a proteção por push". Por fim, você também pode estender a detecção para incluir estruturas de cadeia de caracteres de segredo personalizadas. Para obter mais informações, confira "Definir padrões personalizados para a verificação de segredo".
Revisar o log de auditoria da sua organização
Você também pode proteger proativamente o IP e manter a conformidade para sua organização aproveitando o log de auditoria da sua organização, acompanhado da API de Log de Auditoria do GraphQL. Para obter mais informações, confira "Revisar o log de auditoria da organização" e "Interfaces."
Configurar regras de proteção de branch
Para garantir que todo o código seja revisado corretamente antes de ser mesclado no branch padrão, você pode habilitar a proteção de branch. Ao definir regras de proteção de branch, você pode impor determinados fluxos de trabalho ou requisitos antes que um colaborador possa efetuar push de alterações. Para obter mais informações, confira "Sobre branches protegidos".
Como alternativa às regras de proteção de branch, você pode criar conjuntos de regras. Os conjuntos de regras têm algumas vantagens em relação às regras de proteção de branches, como status, e melhor capacidade de detecção sem exigir acesso de administrador. Você também pode aplicar vários conjuntos de regras ao mesmo tempo. Para obter mais informações, confira "Sobre os conjuntos de regras".
Atenuar os vazamentos de dados
Se um usuário efetuar push de dados confidenciais, peça para ele os remover usando a ferramenta git filter-repo
ou a ferramenta de código aberto Repo-Cleaner do BFG. Para obter mais informações, confira "Remover dados confidenciais de um repositório". Além disso, é possível reverter quase tudo no Git. Para obter mais informações, confira the GitHub Blog.
No nível da organização, se você não conseguir coordenar com o usuário que efetuou push dos dados confidenciais para removê-los, a Microsoft recomenda que você entre em contato com o conosco por meio do Portal de suporte do GitHub com o SHA do commit em questão.
Se você não conseguir coordenar diretamente com o proprietário do repositório para remover os dados que você tem certeza de que são seus, preencha um formulário de aviso de remoção do DMCA e informe isso ao Suporte do GitHub. Para obter mais informações, confira Aviso de remoção do DMCA.
Note
Se um dos seus repositórios tiver sido removido devido a uma declaração falsa, preencha um formulário de contranotificação do DMCA e informe o Suporte do GitHub. Para obter mais informações, confira Contra-aviso do DMCA.