Seguridad

La adopción de contenedores está fuera de las listas. Con más empresas que pasan datos valiosos a través de estos contenedores, la seguridad se ha convertido en una prioridad principal para mantener la estabilidad y cumplir con las nuevas regulaciones internacionales de datos, como el RGPD.

Un informe de Sysdig de 2018 muestra que el 83 por ciento de los contenedores en uso son contenedores Docker. Otros, incluidos CoreOS, Mesos y Linux, están recortando un poco del gráfico circular, pero Docker sigue siendo la parte más considerable del uso de contenedores.

Un enfoque de validación para la seguridad de Docker

Entonces, ¿cómo mantenemos seguros los contenedores Docker en el turbulento panorama digital actual? Una forma es usar un software de detección que escanee las imágenes de Docker para buscar vulnerabilidades. Los motores de auditoría de Docker se centran en descubrir vulnerabilidades y exposiciones comunes (CVE), a menudo utilizando puntos de referencia establecidos en bases de datos como la National Vulnerability Database (NVD).

En lugar de codificar su propio software de descubrimiento de amenazas, existen muchas herramientas de código abierto como Docker Bench, Clair, Cilium, Dagda y otras para ahorrarle la molestia. Uno en particular, Anchore, cuenta con un impresionante conjunto de características, con una sólida adopción y lo que parece ser un historial estable de mantenimiento.

Introducción a Anchore Engine para la auditoría de imágenes de Docker

La herramienta Anchore de código abierto se puede utilizar para validar imágenes de Docker. Lo que funciona es que las imágenes de Docker se descargan y luego se ejecutan contra las políticas definidas por el usuario.

“Anchore Engine es un proyecto de código abierto que proporciona un servicio centralizado para la inspección, análisis y certificación de imágenes de contenedores”.

Ejecute Anchore de forma independiente o en una plataforma de orquestación como Kubernetes . También puede invocarlo a través de una CLI o llamarlo a través de una API REST.

Trabajando con el motor a través de la CLI

En primer lugar, Anchore se distribuye como una imagen Docker, que se encuentra aquí . También necesitará una base de datos PostgreSQL para el almacenamiento persistente.

La CLI es una manera fácil de interactuar con Anchore Engine, así que veamos qué llamadas de muestra se pueden realizar para realizar las funciones de auditoría de imágenes de Docker.

Para empezar, la Documentación describe cómo pasar credenciales de tal manera:

--u   TEXT   Username     eg. admin1
--p   TEXT   Password     eg. foofoo
--url TEXT   Service URL  eg. http://localhost:8001/v1

Por supuesto, establecer variables de entorno es una manera fácil de evitar entradas duplicadas:

ANCHORE_CLI_URL=http://myserver.example.com:8001/v1
ANCHORE_CLI_USER=admin1
ANCHORE_CLI_PASS=foofoo

Una vez que las credenciales se almacenan para el futuro, este comando agregará una imagen de Docker a Anchore Engine:

anchore-cli image add docker.io/library/debian:latest

A continuación, obtendrá los resultados de un análisis de vulnerabilidad:

anchore-cli image vuln docker.io/library/debian:latest os

También ayuda a mantenerse actualizado cuando se agregan nuevas CVE al sistema. Un disparador útil es el webhook: puede suscribirse para recibir notificaciones con este comando:

anchore-cli subscription activate vuln_update docker.io/library/debian:latest

¿Quieres saber más sobre el sistema operativo detrás de una imagen? Este comando devolverá los tipos de SO utilizados en un contenedor:

anchore-cli image content docker.io/library/debian:latest os

Profundizando en la  documentación , los usuarios pueden descubrir cómo crear políticas personalizadas. Se puede agregar un paquete de políticas a Anchore a través de la CLI:

anchore-cli policy add /path/to/policy/bundle.json

Tal paquete puede parecerse al siguiente objeto JSON y puede contener múltiples políticas:

{
  "name": "DefaultPolicy", 
  "version": "1_0",
  "comment": "Policy for basic checks", 
  "id": "ba6daa06-da3b-46d3-9e22-f01f07b0489a", 
  "rules": [
    {
      "action": "STOP", 
      "gate": "vulnerabilities", 
      "id": "80569900-d6b3-4391-b2a0-bf34cf6d813d", 
      "params": [
        { "name": "package_type", "value": "all" }, 
        { "name": "severity_comparison", "value": ">=" }, 
        { "name": "severity", "value": "medium" }
      ], 
      "trigger": "package"
    }
  ]
}

Beneficios de la auditoría de contenedores con Anchore

Apenas hemos arañado la superficie de la auditoría de contenedores Docker. Desde políticas personalizadas hasta listas blancas y asignaciones, hay muchas características de Anchore que pueden utilizarse para automatizar el análisis de contenedores y encontrar más rutinas personalizadas para su entorno.

El feed Anchore recopila muchas fuentes de datos, como las distribuciones de Linux, los repositorios de paquetes de software y la base de datos nacional de vulnerabilidad (NVD) NIST. El sondeo predeterminado se establece en cada seis horas para obtener información actualizada de CVE. Una gran variedad de fuentes de datos significa una cobertura de calidad para muchos tipos de vulnerabilidades.

La integración de dicha auditoría de contenedores dentro de una tubería de CI / CD puede ayudar a reducir el riesgo, asegurando que estos controles de garantía de calidad se procesen con cada nueva construcción.

Pensamientos finales

En esta publicación, hemos revisado un método de código abierto para analizar contenedores Docker. Las empresas pueden haber visto una vez la contenedorización como un acto inseguro; sin embargo, la marea está cambiando rápidamente y los enfoques de DevSecOps deben evolucionar. Como informa Sysdig :

“La naturaleza efímera de los contenedores dejó a muchos preocupados por la ejecución de servicios que recopilan valiosos datos corporativos en contenedores. La preocupación parece estar disminuyendo a medida que los datos sugieren que los clientes están comenzando a trasladarse a entornos completamente controlados por contenedores “.

La auditoría de seguridad de contenedores es un componente natural para garantizar que estos temores no sean reemplazados por infracciones reales. Una opción de código abierto como Anchore se puede utilizar al menos para cumplir con las expectativas de control de calidad, al tiempo que se evita el bloqueo de proveedores.

Autor: Bill Doerrfeld Fuente: https://containerjournal.com/topics/container-security/methods-to-audit-docker-container-security/

Etiquetas:

Sobre el Autor

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments