

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Scansiona gli archivi Git alla ricerca di informazioni sensibili e problemi di sicurezza utilizzando git-secrets
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets"></a>

*Saurabh Singh, Amazon Web Services*

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

Questo modello descrive come utilizzare lo strumento open source [git-secrets](https://github.com/awslabs/git-secrets) di AWS Labs per scansionare i repository di sorgenti Git e trovare codice che potrebbe potenzialmente includere informazioni sensibili, come password utente o chiavi di accesso, AWS o che presenta altri problemi di sicurezza.

`git-secrets`analizza i commit, i messaggi di commit e le unioni per impedire che informazioni sensibili come quelle segrete vengano aggiunte ai tuoi repository Git. Ad esempio, se un commit, un messaggio di commit o qualsiasi commit in una cronologia di unione corrisponde a uno dei modelli di espressioni regolari proibiti e configurati, il commit viene rifiutato.

## Prerequisiti e limitazioni
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un repository Git che richiede una scansione di sicurezza
+ Un client Git (versione 2.37.1 e successive) installato

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

**Architettura Target**
+ Git
+ `git-secrets`

![\[Utilizzo dello strumento git-secrets per scansionare i repository di sorgenti Git alla ricerca di informazioni sensibili.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/4a18e0c8-0935-4ee2-86bf-c1dfcfbc1bcb/images/e4813a76-83c2-4254-b5f4-aafe2b8f2127.png)


 

## Tools (Strumenti)
<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) è uno strumento che ti impedisce di inserire informazioni sensibili nei repository Git.
+ [Git](https://git-scm.com/) è un sistema di controllo delle versioni distribuito open source.

## Best practice
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-best-practices"></a>
+ Scansiona sempre un repository Git includendo tutte le revisioni:

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

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

### Connect a un' EC2 istanza
<a name="connect-to-an-ec2-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Connect a un' EC2 istanza utilizzando SSH. | Connettiti a un'istanza Amazon Elastic Compute Cloud (Amazon EC2) utilizzando SSH e un file key pair. Puoi saltare questo passaggio se stai scansionando un repository sul tuo computer locale. | Informazioni generali su AWS | 

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa Git. | Installa Git usando il comando:<pre>yum install git -y</pre>Se stai usando il tuo computer locale, puoi installare un client Git per una versione specifica del sistema operativo. Per ulteriori informazioni, consulta il [sito Web Git](https://git-scm.com/downloads/guis). | Informazioni generali su AWS | 

### Clona il repository dei sorgenti e installa git-secrets
<a name="clone-the-source-repository-and-install-git-secrets"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il repository dei sorgenti Git. | Per clonare il repository Git che vuoi scansionare, scegli il comando **Git clone** dalla tua home directory. | Informazioni generali su AWS | 
| Clona git-secrets. | Clona il repository `git-secrets` Git.<pre>git clone https://github.com/awslabs/git-secrets.git</pre>Posizionalo `git-secrets` da qualche parte nel tuo in `PATH ` modo che Git lo raccolga quando corri`git-secrets`. | Informazioni generali su AWS | 
| Installa git-secrets. | **Per Unix e varianti (Linux/macOS):**È possibile utilizzare la `install` destinazione di `Makefile` (fornita nel `git-secrets` repository) per installare lo strumento. È possibile personalizzare il percorso di installazione utilizzando le `MANPREFIX` variabili `PREFIX` and.<pre>make install</pre>**Per Windows:**Esegui lo PowerShell `install.ps1` script fornito nel `git-secrets` repository. Questo script copia i file di installazione in una directory di installazione (`%USERPROFILE%/.git-secrets`per impostazione predefinita) e aggiunge la directory all'utente `PATH` corrente.<pre>PS > ./install.ps1</pre>**Per Homebrew (utenti macOS):**Esegui:<pre>brew install git-secrets</pre> | Informazioni generali su AWS | 

### Scansiona l'archivio di codice git
<a name="scan-git-code-repository"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Vai al repository dei sorgenti. | Passa alla directory del repository Git che desideri scansionare:<pre>cd my-git-repository</pre> | Informazioni generali su AWS | 
| Registra il set di regole AWS (Git hooks). | `git-secrets`Per configurare la scansione del tuo repository Git su ogni commit, esegui il comando: <pre>git secrets --register-aws</pre> | Informazioni generali su AWS | 
| Scansiona il repository. | Esegui il seguente comando per avviare la scansione del repository:<pre>git secrets -–scan</pre> | Informazioni generali su AWS | 
| Esamina il file di output. | Lo strumento genera un file di output se rileva una vulnerabilità nel tuo repository Git. Esempio:<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> | Informazioni generali su AWS | 

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