Protege tus secretos con Docker

Protege tus secretos con Docker

La gestión segura de información confidencial es crucial en el entorno de contenedores Docker. Almacenar contraseñas y otros datos sensibles en archivos de configuración o scripts puede ser un riesgo, ya que podrían ser accesibles para cualquier persona que tenga acceso al sistema.

Desafortunadamente, a veces los secretos se escapan. Cuando esto sucede, puede permitir que los delincuentes utilicen maliciosamente los secretos o los publiquen en la "web oscura/“dark web" para que otros los utilicen. Pueden insertar vulnerabilidades en su código.

En este artículo, cubriremos algunas formas en que Docker puede ayudar a evitar que se filtren secretos.

Controlar el acceso con Docker Hub

El principio de mínimos privilegio es una parte poderosa de su postura de seguridad. Si alguien no necesita acceso a sus imágenes de Docker Hub, no debería tener acceso.

Docker Hub proporciona repositorios privados para que puedas guardar tus imágenes.

Los suscriptores de Docker Personal pueden crear un repositorio privado, mientras que las suscripciones a Docker Pro , Docker Team y Docker Business ofrecen repositorios privados ilimitados.

Mantener seguros los secretos

¿Qué es mejor que proteger los secretos de su imagen de Docker?

¡No tenerlos en la imagen en primer lugar!

This is Fine" Meme Analysis | Medium

Si bien hay casos en los que es necesario almacenar un secreto para poder realizar las conexiones adecuadas.

Pero muchos casos de filtración de secretos implican secretos que fueron agregados accidentalmente

La mejor manera de evitar agregar secretos es utilizar una boveda de secretos, como:

AWS Secrets Manager

HashiCorp Vault

1Password

Tiene algunas opciones CLI. Si tiene que guardar los secretos en un entorno local, puede evitar que los archivos terminen accidentalmente en su imagen agregándolos al .dockerignore .

Por ejemplo, si le preocupa agregar accidentalmente claves SSH a su imagen, puede incluir:*id_rsa*

Este enfoque funciona bien para secretos en archivos con nombres predecibles. Si siempre almacena sus credenciales de la nube en un archivo llamado cloud_key.txt, entonces está bien cubierto. Pero no lo atraparás cloud_credentials.txt.

Puedes agregar otra capa de seguridad con escáneres secretos.

Herramientas como:

Aqua Security Trivy

Anchore

JFrog Xray

Buscan en sus archivos cosas que parezcan secretos.

Si ejecuta el escáner antes de enviar su imagen, podrá captar el secreto antes de que se escape. Muchos escáneres de secretos también se pueden vincular a un gancho de confirmación de Git para evitar que se incluyan secretos en su código.

Evite que los secretos lleguen al repositorio

Horusec es una herramienta de código abierto que realiza un análisis de código estático para identificar fallas de seguridad durante el proceso de desarrollo.

Repositorio: https://github.com/ZupIT/horusec