Examine os repositórios Git em busca de informações confidenciais e problemas de segurança usando git-secrets - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Examine os repositórios Git em busca de informações confidenciais e problemas de segurança usando git-secrets

Criado por Saurabh Singh (AWS)

Resumo

Esse padrão descreve como usar a ferramenta de código aberto git-secrets do Labs AWS para escanear os repositórios de origem do Git e encontrar códigos que possam incluir informações confidenciais, como senhas de usuário ou chaves de AWS acesso, ou que tenham outros problemas de segurança.

git-secrets verifica confirmações, mensagens de confirmação e fusão para evitar que informações confidenciais, como segredos, sejam adicionadas aos seus repositórios Git. Por exemplo, se uma confirmação, mensagem de confirmação ou qualquer confirmação em um histórico de fusão corresponder a um de seus padrões de expressão regular proibidos e configurados, a confirmação será rejeitada.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS

  • Um repositório Git que requer uma verificação de segurança

  • Um cliente Git (versão 2.37.1 e superior) instalado

Arquitetura

Arquitetura de destino

  • Git

  • git-secrets

Usando a ferramenta git-secrets para verificar os repositórios de origem do Git em busca de informações confidenciais.

Ferramentas

  • A git-secrets é uma ferramenta que impede que você envie informações confidenciais nos repositórios Git.

  • O Git é um sistema de código aberto de controle de versão distribuído.

Práticas recomendadas

  • Sempre verifique um repositório Git incluindo todas as revisões:

    git secrets --scan-history

Épicos

TarefaDescriçãoHabilidades necessárias

Conecte-se a uma EC2 instância usando SSH.

Conecte-se a uma instância do Amazon Elastic Compute Cloud (Amazon EC2) usando SSH e um arquivo de par de chaves.

Você pode ignorar esta etapa se estiver verificando um repositório em sua máquina local.

AWS geral
TarefaDescriçãoHabilidades necessárias

Instale o Git.

Instale o Git usando o comando:

yum install git -y

Se você estiver usando sua máquina local, poderá instalar um cliente Git para uma versão específica do sistema operacional. Para obter mais informações, acesse o site do Git.

AWS geral
TarefaDescriçãoHabilidades necessárias

Clonar o repositório de origem do Git.

Para clonar o repositório Git que você deseja verificar, escolha o comando clonar Git no seu diretório inicial.

AWS geral

Clone git-secrets.

Clone o repositório git git-secrets.

git clone https://github.com/awslabs/git-secrets.git

Coloque git-secrets em algum lugar no seu PATH para que o Git o pegue quando você executa git-secrets.

AWS geral

Instalar git-secrets.

Para Unix e variantes (Linux/macOS):

Você pode usar o destino install do Makefile (fornecido no repositório git-secrets) para instalar a ferramenta. Você pode personalizar o caminho de instalação usando as variáveis PREFIX e MANPREFIX.

make install

Para Windows:

Execute o PowerShell install.ps1 script fornecido no git-secrets repositório. Esse script copia os arquivos de instalação para um diretório de instalação (%USERPROFILE%/.git-secrets por padrão) e adiciona o diretório ao usuário atual PATH.

PS > ./install.ps1

Para Homebrew (usuários do macOS):

Execute:

brew install git-secrets
AWS geral
TarefaDescriçãoHabilidades necessárias

Acesse o repositório de origem.

Alterne para o diretório do repositório Git que você deseja verificar:

cd my-git-repository
AWS geral

Registre o conjunto de regras da AWS (Git hooks).

Para configurar git-secrets para verificar seu repositório Git em cada commit, execute o comando:

git secrets --register-aws
AWS geral

Verificar o repositório.

Execute o comando a seguir para iniciar a verificação do seu repositório:

git secrets -–scan
AWS geral

Analise o arquivo de saída.

A ferramenta gera um arquivo de saída se encontrar uma vulnerabilidade no seu repositório Git. Por exemplo:

example.sh:4:AWS_SECRET_ACCESS_KEY = ********* [ERROR] Matched one or more prohibited patterns Possible mitigations: - Mark false positives as allowed using: git config --add secrets.allowed ... - Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory - List your configured patterns: git config --get-all secrets.patterns - List your configured allowed patterns: git config --get-all secrets.allowed - List your configured allowed patterns in .gitallowed at repository's root directory - Use --no-verify if this is a one-time false positive
AWS geral

Recursos relacionados