

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Analysez les référentiels Git pour détecter les informations sensibles et les problèmes de sécurité à l'aide de git-secrets
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets"></a>

*Saurabh Singh, Amazon Web Services*

## Résumé
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-summary"></a>

Ce modèle décrit comment utiliser l'outil open source [git-secrets](https://github.com/awslabs/git-secrets) de AWS Labs pour analyser les référentiels sources Git et trouver du code susceptible de contenir des informations sensibles, telles que des mots de passe utilisateur ou des clés d' AWS accès, ou présentant d'autres problèmes de sécurité.

`git-secrets`analyse les validations, les messages de validation et les fusions pour empêcher l'ajout d'informations sensibles telles que des secrets à vos référentiels Git. Par exemple, si un commit, un message de validation ou tout autre commit d'un historique de fusion correspond à l'un de vos modèles d'expression régulière interdits et configurés, le commit est rejeté.

## Conditions préalables et limitations
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS
+ Un dépôt Git qui nécessite une analyse de sécurité
+ Un client Git (version 2.37.1 et ultérieure) installé

## Architecture
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-architecture"></a>

**Architecture cible**
+ Git
+ `git-secrets`

![\[Utilisation de l'outil git-secrets pour rechercher des informations sensibles dans les référentiels sources Git.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/4a18e0c8-0935-4ee2-86bf-c1dfcfbc1bcb/images/e4813a76-83c2-4254-b5f4-aafe2b8f2127.png)


 

## Outils
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-tools"></a>
+ [git-secrets](https://github.com/awslabs/git-secrets) est un outil qui vous empêche de saisir des informations sensibles dans les référentiels Git.
+ [Git](https://git-scm.com/) est un système de contrôle de version distribué open source.

## Bonnes pratiques
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-best-practices"></a>
+ Scannez toujours un dépôt Git en incluant toutes les révisions :

  ```
  git secrets --scan-history
  ```

## Épopées
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-epics"></a>

### Connect à une EC2 instance
<a name="connect-to-an-ec2-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Connectez-vous à une EC2 instance à l'aide de SSH. | Connectez-vous à une instance Amazon Elastic Compute Cloud (Amazon EC2) à l'aide de SSH et d'un fichier de paires de clés. Vous pouvez ignorer cette étape si vous scannez un dépôt sur votre ordinateur local. | AWS général | 

### Installez Git
<a name="install-git"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez Git. | Installez Git à l'aide de la commande :<pre>yum install git -y</pre>Si vous utilisez votre machine locale, vous pouvez installer un client Git pour une version spécifique du système d'exploitation. Pour plus d'informations, consultez le [site Web de Git](https://git-scm.com/downloads/guis). | AWS général | 

### Clonez le dépôt source et installez git-secrets
<a name="clone-the-source-repository-and-install-git-secrets"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Clonez le référentiel source Git. | Pour cloner le dépôt Git que vous souhaitez analyser, choisissez la commande **Git clone** dans votre répertoire personnel. | AWS général | 
| Clonez des secrets virtuels. | Clonez le dépôt `git-secrets` Git.<pre>git clone https://github.com/awslabs/git-secrets.git</pre>Placez-le `git-secrets` quelque part dans le vôtre `PATH ` pour que Git le récupère lorsque vous l'exécutez`git-secrets`. | AWS général | 
| Installez git-secrets. | **Pour Unix et ses variantes (Linux/macOS) :**Vous pouvez utiliser la `install` cible du `Makefile` (fournie dans le `git-secrets` référentiel) pour installer l'outil. Vous pouvez personnaliser le chemin d'installation à l'aide des `MANPREFIX` variables `PREFIX` et.<pre>make install</pre>**Pour Windows:**Exécutez le PowerShell `install.ps1` script fourni dans le `git-secrets` référentiel. Ce script copie les fichiers d'installation dans un répertoire d'installation (`%USERPROFILE%/.git-secrets`par défaut) et ajoute le répertoire à l'utilisateur actuel`PATH`.<pre>PS > ./install.ps1</pre>**Pour Homebrew (utilisateurs de macOS) :**Exécuter :<pre>brew install git-secrets</pre> | AWS général | 

### Scannez le référentiel de code git
<a name="scan-git-code-repository"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Accédez au référentiel source. | Accédez au répertoire du dépôt Git que vous souhaitez scanner :<pre>cd my-git-repository</pre> | AWS général | 
| Enregistrez l'ensemble de règles AWS (Git hooks). | `git-secrets`Pour configurer l'analyse de votre dépôt Git à chaque validation, exécutez la commande suivante : <pre>git secrets --register-aws</pre> | AWS général | 
| Scannez le référentiel. | Exécutez la commande suivante pour lancer l'analyse de votre dépôt :<pre>git secrets -–scan</pre> | AWS général | 
| Vérifiez le fichier de sortie. | L'outil génère un fichier de sortie s'il détecte une vulnérabilité dans votre dépôt Git. Par exemple :<pre>example.sh:4:AWS_SECRET_ACCESS_KEY = *********<br /><br />[ERROR] Matched one or more prohibited patterns<br /><br />Possible mitigations:<br />- Mark false positives as allowed using: git config --add secrets.allowed ...<br />- Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory<br />- List your configured patterns: git config --get-all secrets.patterns<br />- List your configured allowed patterns: git config --get-all secrets.allowed<br />- List your configured allowed patterns in .gitallowed at repository's root directory<br />- Use --no-verify if this is a one-time false positive</pre> | AWS général | 

## Ressources connexes
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-resources"></a>
+ [outil git-secrets](https://github.com/awslabs/git-secrets)