30 puntos por ironlung 2023-10-31 | Aún no hay comentarios. | Compartir por WhatsApp
  • Al crear y desplegar una aplicación como imagen de Docker, usar una imagen base pesada puede hacer que una sola descarga tarde mucho tiempo o generar problemas de seguridad al incluir datos sensibles
  • Cómo hacer que las imágenes de Docker sean más ligeras y seguras
  • Reducir el tamaño de la imagen
    • Cuanto más ligera sea una imagen de Docker, más rápido será el build y el despliegue de la aplicación
    • Esto permite desplegar con más frecuencia y en mayor cantidad, aumentando la productividad de los desarrolladores
    • Métodos
      • Técnica de múltiples etapas: se crean varias etapas, se compila cada una por separado y luego se integran los resultados en la imagen más ligera posible
      • Usar la menor cantidad posible de comandos RUN: cada comando RUN crea una imagen individual. Para minimizar esto, se ejecuta la mayor cantidad posible de scripts en un solo comando RUN
    • Eliminar código fuente innecesario con .dockerignore
      • README.md o el código de pruebas no son necesarios al compilar la aplicación real
      • Archivos .env con información sensible como tokens de autenticación de API, archivos de clave privada .pem y el directorio .git con el historial de commits de Git no deben incluirse en la imagen de Docker
      • Para evitar que estos archivos se incluyan en la imagen de Docker, se crea un archivo .dockerignore
  • Crear una imagen segura
    • Si una imagen de Docker tiene privilegios de root, puede ser peligrosa en caso de ser comprometida
    • Métodos
      • Usar una versión exacta de la imagen: si no se especifica una versión, se traerá automáticamente la versión latest, y el comportamiento en ejecución puede cambiar según la situación
      • Quitar permisos de escritura en /etc: /etc es el directorio que contiene archivos y scripts de configuración del sistema. Normalmente la aplicación no necesita modificarlo, por lo que conviene quitar esos permisos
      • Eliminar todos los ejecutables: en Go, por ejemplo, se puede ejecutar con un solo binario, así que se eliminan todos los demás ejecutables que puedan representar un riesgo potencial
      • Cambiar a un usuario normal: la cuenta root puede modificar y controlar todo el sistema. Se crea un usuario con los permisos mínimos necesarios para que la aplicación se ejecute solo con ese usuario
  • Las imágenes ligeras de Docker muestran una gran sinergia cuando se combinan con pipelines de CI/CD y metodologías ágiles
  • Con imágenes seguras de Docker se puede proteger el negocio y prevenir riesgos de antemano

Aún no hay comentarios.

Aún no hay comentarios.