

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Escanea los repositorios de Git en busca de información confidencial y problemas de seguridad mediante git-secrets
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets"></a>

*Saurabh Singh, Amazon Web Services*

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

Este patrón describe cómo usar la herramienta [git-secrets](https://github.com/awslabs/git-secrets) de código abierto de AWS Labs para escanear los repositorios de código fuente de Git y encontrar código que podría incluir información confidencial, como contraseñas de usuario o claves de AWS acceso, o que tenga otros problemas de seguridad.

`git-secrets` escanea las confirmaciones, los mensajes de confirmación y las fusiones para evitar que se añada información confidencial, como secretos, a sus repositorios de Git. Por ejemplo, si una confirmación, un mensaje de confirmación o cualquier confirmación de un historial de fusiones coincide con uno de sus patrones de expresión regular prohibidos y configurados, la confirmación se rechaza.

## Requisitos previos y limitaciones
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-prereqs"></a>

**Requisitos previos **
+ ¿Un activo Cuenta de AWS
+ Un repositorio de Git que requiere un análisis de seguridad
+ Un cliente Git (versión 2.37.1 y posteriores) instalado

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

**Arquitectura de destino**
+ Git
+ `git-secrets`

![\[Uso de la herramienta git-secrets para escanear los repositorios de código fuente de Git en busca de información confidencial.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4a18e0c8-0935-4ee2-86bf-c1dfcfbc1bcb/images/e4813a76-83c2-4254-b5f4-aafe2b8f2127.png)


 

## Tools (Herramientas)
<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) es una herramienta que evita que se guarde información confidencial en los repositorios de Git.
+ [Git](https://git-scm.com/) es un sistema de control de versiones distribuido de código abierto.

## Prácticas recomendadas
<a name="scan-git-repositories-for-sensitive-information-and-security-issues-by-using-git-secrets-best-practices"></a>
+ Escanee siempre un repositorio de Git incluyendo todas las revisiones:

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

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

### Conectarse a una EC2 instancia
<a name="connect-to-an-ec2-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Conéctate a una EC2 instancia mediante SSH. | Conéctese a una instancia de Amazon Elastic Compute Cloud (Amazon EC2) mediante SSH y un archivo de key pair. Puede omitir este paso si escanea un repositorio en su equipo local. | AWS general | 

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


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale Git | Instale Git mediante el comando:<pre>yum install git -y</pre>Si utiliza su máquina local, puede instalar un cliente Git para una versión específica del sistema operativo. Para obtener más información, consulte el [sitio web de Git](https://git-scm.com/downloads/guis). | AWS general | 

### Clone el repositorio fuente e instale git-secrets
<a name="clone-the-source-repository-and-install-git-secrets"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Clone el repositorio de código fuente de Git. | Para clonar el repositorio de Git que quiera escanear, seleccione el comando **Git clone** (Clonar Git) en su directorio principal. | AWS general | 
| Clone git-secrets. | Clone el repositorio de Git `git-secrets`.<pre>git clone https://github.com/awslabs/git-secrets.git</pre>Coloque `git-secrets` en algún lugar de su `PATH ` para que Git lo recoja cuando usted ejecute `git-secrets`. | AWS general | 
| Instale git-secrets. | **Para Unix y sus variantes (Linux/macOS):**Usted puede usar el destino `install` del `Makefile` (que se proporciona en el repositorio `git-secrets`) para instalar la herramienta. Usted puede personalizar la ruta de instalación mediante las variables `PREFIX` y `MANPREFIX`.<pre>make install</pre>**Para Windows:**Ejecute el PowerShell `install.ps1` script proporcionado en el `git-secrets` repositorio. Este script copia los archivos de instalación en un directorio de instalación (`%USERPROFILE%/.git-secrets` de forma predeterminada) y agrega el directorio al usuario actual `PATH`.<pre>PS > ./install.ps1</pre>**Para Homebrew (usuarios de macOS):**Ejecuta:<pre>brew install git-secrets</pre> | AWS general | 

### Escanee el repositorio de código de git
<a name="scan-git-code-repository"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Vaya al repositorio de origen. | Cambie al directorio del repositorio de Git que desee escanear:<pre>cd my-git-repository</pre> | AWS general | 
| Registre el conjunto de reglas de AWS (enlaces de Git). | Para configurar `git-secrets` el escaneo de su repositorio de Git en cada confirmación, ejecute el comando: <pre>git secrets --register-aws</pre> | AWS general | 
| Escanee el repositorio. | Ejecute el siguiente comando para comenzar a escanear su repositorio:<pre>git secrets -–scan</pre> | AWS general | 
| Revise el archivo de salida. | La herramienta genera un archivo de salida si encuentra una vulnerabilidad en su repositorio de Git. Por ejemplo:<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 general | 

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