Escanear imágenes Docker en un registro Harbor

Harbor define la API REST Scanner Adapter HTTP API que puede ser implementada por un escáner de vulnerabilidades. El registro puede entonces conectarse a dicho escáner de vulnerabilidades para obtener un informe de vulnerabilidades o un archivo SBOM (Software Bill of Materials) de sus imágenes Docker. Esto permite, en particular, mostrar directamente en la interfaz de Harbor las vulnerabilidades detectadas en cada imagen y definir una política de seguridad para el despliegue de imágenes.

Cyberwatch implementa esta API y, por lo tanto, puede ser utilizado para escanear las imágenes de un registro Harbor o generar el SBOM de sus imágenes. A continuación veremos cómo configurar y utilizar esta funcionalidad.

Configurar el escáner Harbor

Para permitir que su registro Harbor se conecte a Cyberwatch, es necesario configurar el escáner Harbor:

  1. Hacer clic en Administración
  2. Hacer clic en Herramientas externas
  3. Hacer clic en la pestaña Escáner de contenedores
  4. Hacer clic en el botón Añadir
  5. Elegir la fuente
  6. Guardar

Obtendrá los datos necesarios para añadir Cyberwatch como escáner de vulnerabilidades en Harbor. Recuerde guardar estos datos, ya que no serán accesibles posteriormente.

Es posible crear varios juegos de credenciales y así definir varios escáneres en Harbor. Esto permite configurar a nivel de cada proyecto el escáner a utilizar. Así se pueden repartir los escaneos de imágenes Docker entre los nodos en una instancia multinodo o añadir concurrencia en un mismo nodo.

Asociar un registro al escáner Harbor en el campo Identificadores permite utilizar sus identificadores durante las solicitudes de análisis de imágenes por parte de Harbor; las imágenes Docker creadas podrán ser escaneadas de nuevo desde la interfaz de Cyberwatch. El comportamiento por defecto es utilizar los identificadores efímeros proporcionados por Harbor. Tenga en cuenta que estos identificadores expiran tras el análisis inicial.

También es posible ajustar el intervalo entre dos solicitudes de la API de Harbor. Este tiempo corresponde al intervalo entre dos solicitudes de la API durante la creación del informe de vulnerabilidades de una imagen Docker.

Un intervalo demasiado corto puede provocar problemas de sobrecarga de la API, un intervalo demasiado largo alargará innecesariamente el tiempo necesario para escanear una imagen. El valor por defecto es de 30 segundos.

Añadir Cyberwatch como escáner de vulnerabilidades

Ahora puede añadir Cyberwatch como escáner de vulnerabilidades para su registro Harbor:

  1. Conéctese a su registro Harbor con una cuenta con derechos de administrador
  2. En Administración, haga clic en Servicios de análisis
  3. Haga clic en el botón Nuevo escáner
  4. Complete la información requerida utilizando los datos generados en el paso anterior
  5. Pruebe su información haciendo clic en el botón Probar la conexión
  6. Si todo está correcto, haga clic en el botón Añadir

Cyberwatch ya está añadido como escáner de imágenes y está listo para su uso.

Para explicaciones complementarias, puede consultar la documentación oficial (en inglés).

Escanear una imagen Docker

Para escanear una imagen Docker desde su interfaz Harbor:

  1. Vaya al proyecto del registro donde se encuentra la imagen
  2. Haga clic en la imagen
  3. Seleccione, en la columna de la izquierda, las versiones de esa imagen que desea escanear
  4. Haga clic en el botón Scan Vulnerabibilty
  5. Una vez finalizado el análisis, aparece un informe resumido en la columna Vulnerabilidad
  6. Para una versión más detallada, haga clic en la versión analizada y baje al final de la página para encontrar la tabla de vulnerabilidades

Para más detalles, consulte la documentación de Harbor.

Cuando se realiza un escaneo de imagen o se genera un archivo SBOM, si la imagen no existe ya localmente en Cyberwatch, esta se crea y puede encontrarse en la lista de imágenes Docker así como el análisis completo realizado por Cyberwatch.

Generar el SBOM de una imagen Docker

Para generar el SBOM de una imagen Docker desde su interfaz Harbor:

  1. Vaya al proyecto del registro donde se encuentra la imagen
  2. Haga clic en la imagen
  3. Seleccione, en la columna de la izquierda, las versiones de esa imagen de las que desea obtener el SBOM
  4. Haga clic en el botón Generate SBOM
  5. Una vez generado el SBOM, aparece un enlace en la columna SBOM
  6. Haga clic en el enlace y, en la parte inferior de la página, en la pestaña SBOM, puede descargar el archivo

Flujo de trabajo para un registro Harbor

Para facilitar el seguimiento de las imágenes Docker de un registro Harbor, le sugerimos el siguiente flujo de trabajo.

En la interfaz de Cyberwatch:

  1. Configurar el registro Harbor
  2. Crear un descubrimiento de registro Harbor En los parámetros, seleccionar la opción Eliminar solo los activos disociados de todos los descubrimientos o Eliminar todos los activos disociados de este descubrimiento para el campo Eliminación de activos disociados y un periodo de lanzamiento adecuado al caso de uso
  3. Configurar el escáner Harbor asociando el registro Harbor creado previamente

En la interfaz de Harbor:

  1. Añadir Cyberwatch como escáner de vulnerabilidades con los datos que acaba de generar durante la configuración del escáner Harbor
  2. Lanzar un escaneo de las imágenes Docker presentes: en Administración > Servicios de análisis > Vulnerability, haga clic en el botón Analizar ahora
  3. Marque la opción Análisis automático de imágenes al enviar en la pestaña Configuración de cada proyecto del registro
  4. También es posible automatizar la generación de los SBOM marcando la opción Generar automáticamente un SBOM al push en la pestaña Configuración de cada proyecto del registro

Una vez realizados estos pasos, las imágenes Docker del registro habrán sido escaneadas y las futuras nuevas imágenes lo serán automáticamente. Y el descubrimiento Registro Harbor permite mantener actualizadas las imágenes Docker del registro en Cyberwatch.

Para ir más allá

Harbor permite:

  • establecer una política de seguridad impidiendo, por ejemplo, el despliegue de imágenes que tengan vulnerabilidades que superen una cierta criticidad
  • escanear todas las imágenes disponibles en el registro
  • planificar los escaneos

Estas diferentes funcionalidades se detallan en la documentación de Harbor sobre los escaneos de vulnerabilidades.


Volver arriba

English Français Español