Escanea los repositorios de Git en busca de información confidencial y problemas de seguridad mediante git-secrets - Recomendaciones de AWS

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

Creado por Saurabh Singh (AWS)

Entorno: producción

Tecnologías: seguridad, identidad y conformidad

Carga de trabajo : código abierto

Resumen

Este patrón describe cómo usar la herramienta git-secrets de código abierto de los Laboratorios de AWS para escanear los repositorios de código fuente de Git y encontrar código que pueda incluir información confidencial, como contraseñas de usuario o claves de acceso de AWS, o que presente algún otro problema 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 tus 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 tus patrones de expresión regular prohibidos y configurados, la confirmación se rechaza.

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta de AWS activa

  • Un repositorio de Git que requiere un análisis de seguridad

  • Un cliente Git (versión 2.37.1 y posteriores) instalado

Arquitectura

Arquitectura de destino

  • Git

  • git-secrets

Herramientas

  • git-secrets es una herramienta que evita que se guarde información confidencial en los repositorios de Git.

  • Git es un sistema de control de versiones distribuido de código abierto.

Prácticas recomendadas

  • Escanee siempre un repositorio de Git incluyendo todas las revisiones:

git secrets --scan-history

Epics

TareaDescripciónHabilidades requeridas

Conéctese a la instancia EC2 mediante SSH.

Conéctese a una instancia de Amazon Elastic Compute Cloud (Amazon EC2) mediante SSH y un archivo de par de claves.

Puede omitir este paso si escanea un repositorio en su equipo local.

AWS general
TareaDescripciónHabilidades requeridas

Instale Git

Instale Git mediante el comando:

yum install git -y

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.

AWS general
TareaDescripciónHabilidades 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.

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

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.

make install

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.

PS > ./install.ps1

Para Homebrew (usuarios de macOS):

Ejecute:

brew install git-secrets

Para obtener más información, consulte la sección Related resources (Recursos relacionados).

AWS general
TareaDescripciónHabilidades requeridas

Vaya al repositorio de origen.

Cambie al directorio del repositorio de Git que desee escanear:

cd my-git-repository
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:

git secrets --register-aws
AWS general

Escanee el repositorio.

Ejecute el siguiente comando para comenzar a escanear su repositorio:

git secrets -–scan
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:

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 general

Recursos relacionados