# Buscar y evaluar Docker Hardened Images


Docker Hardened Images (DHI) son un conjunto seleccionado de imágenes de contenedor seguras y listas para producción, diseñadas para ofrecer una seguridad mejorada, una superficie de ataque reducida y bases preparadas para producción para tus aplicaciones.

Esta página explica cómo buscar repositorios de DHI disponibles, revisar los metadatos de las imágenes, examinar los detalles de las variantes y comparar imágenes para evaluar las mejoras de seguridad y las diferencias.

## Buscar en el catálogo

Puedes explorar, buscar o filtrar imágenes por categoría en el [catálogo de Hardened Images](https://hub.docker.com/hardened-images/catalog) en Docker Hub.

Alternativamente, usa la CLI de DHI, incluida en [Docker Desktop](/desktop/), para explorar el catálogo desde la línea de comandos:

```console
$ docker dhi catalog list
```

Filtra por tipo de imagen, nombre o requisitos de cumplimiento:

```console
$ docker dhi catalog list --type image
$ docker dhi catalog list --filter python
$ docker dhi catalog list --fips
$ docker dhi catalog list --stig
```

### Detalles del repositorio

Al seleccionar un repositorio del catálogo, la página de detalles del repositorio proporciona lo siguiente:

 - Overview: Una breve explicación de la imagen.
 - Guides: Varias guías sobre cómo usar la imagen y migrar tu aplicación existente.
 - Images: Selecciona esta opción para [ver las variantes de la imagen](#variantes-de-la-imagen).
 - Security summary: Selecciona el nombre de una etiqueta para ver un resumen rápido de seguridad, que incluye el recuento de paquetes, el total de vulnerabilidades conocidas y la puntuación de salud de Scout.
 - Recently pushed tags: Una lista de variantes de imágenes actualizadas recientemente y cuándo se actualizaron por última vez.
 - Use this image: Después de seleccionar una variante de imagen, puedes seleccionar esta opción para ver las instrucciones sobre cómo descargar y usar la variante de la imagen.

Para ver los detalles del repositorio desde la línea de comandos, usa la CLI de DHI:

```console
$ docker dhi catalog get python
```

Esto muestra las etiquetas disponibles, los recuentos de CVE y otros metadatos del repositorio.

### Variantes de la imagen

Las etiquetas se utilizan para identificar las variantes de la imagen. Las variantes de la imagen son diferentes compilaciones de la misma aplicación o framework adaptadas a distintos casos de uso.

Desde los [detalles del repositorio](#detalles-del-repositorio), selecciona **Images** para ver las variantes de la imagen disponibles.

La página **Images** proporciona una tabla con las siguientes columnas:

- Image version: El nombre de la imagen con su distribución base (por ejemplo, `debian 13`) y las etiquetas asociadas.
- Type: El estado del ciclo de vida de soporte de la variante.
- Compliance: Designaciones de cumplimiento relevantes. Por ejemplo, `CIS`, `FIPS` o `STIG (100%)`.
- Package manager: Indica si hay un gestor de paquetes disponible. Una marca de verificación indica que hay un gestor de paquetes presente (por ejemplo, `apt` o `apk`), un guion indica que no lo hay.
- Shell: Indica si hay una shell disponible. Una marca de verificación indica que hay una shell presente (por ejemplo, `bash` o `busybox`), un guion indica que no la hay.
- User: El usuario con el que se ejecuta el contenedor. Por ejemplo, `root` o `nonroot (65532)`.
- Last pushed: Cuándo se actualizó por última vez la variante de la imagen.
- Vulnerabilities: Recuentos de vulnerabilidades por nivel de gravedad.
- Health: La puntuación de salud de Scout. Selecciona la puntuación para ver más detalles.

### Detalles de la variante de la imagen

En la [página **Images**](#variantes-de-la-imagen), selecciona una versión de imagen de la tabla para ver información detallada sobre esa variante específica.

La página de detalles de la variante de la imagen proporciona la siguiente información:

- Packages: Una lista de todos los paquetes incluidos en la variante de la imagen. Esta sección incluye detalles sobre cada paquete, incluyendo su nombre, versión, distribución e información de licencia.
- Specifications: Las especificaciones de la variante de la imagen incluyen los siguientes detalles clave:
   - Source & Build Information: La imagen se compila a partir del Dockerfile que se encuentra aquí y la confirmación de Git.
   - Parámetros de compilación
   - Entrypoint
   - CMD
   - Usuario
   - Directorio de trabajo
   - Variables de entorno
   - Etiquetas (labels)
   - Plataforma
- Vulnerabilities: La sección de vulnerabilidades proporciona una lista de CVE conocidos para la variante de la imagen, que incluye:
   - CVE
   - Gravedad
   - Paquete
   - Versión de corrección
   - Detectado por última vez
   - Estado
   - CVE suprimidos
- Attestations: Las variantes incluyen atestaciones de seguridad completas para verificar el proceso de compilación de la imagen, su contenido y su postura de seguridad. Estas atestaciones están firmadas y se pueden verificar mediante cosign. Para ver una lista de las atestaciones disponibles, consulta [Atestaciones](/dhi/core-concepts/attestations/).

## Comparar y evaluar imágenes

Docker Scout te deja analizar las diferencias entre dos imágenes. Comparar una DHI con una imagen estándar te ayuda a comprender las mejoras de seguridad, las diferencias de paquetes y los beneficios generales de adoptar imágenes securizadas.

La comparación es útil para:

- Evaluar las mejoras de seguridad al migrar de una imagen estándar a una DHI
- Comprender las diferencias de paquetes y vulnerabilidades entre las variantes de imágenes
- Evaluar el impacto de las personalizaciones o actualizaciones

### Requisitos previos

Antes de comparar imágenes:

- Instala [Docker Desktop](/desktop/) para usar las funciones de comparación de Docker Scout.
- Inicia sesión en los registros que contienen las imágenes que quieres comparar. Inicia sesión en `dhi.io` para Docker Hardened Images:

  ```console
  $ docker login dhi.io
  ```

### Comparación básica

Para comparar una Docker Hardened Image con otra imagen, usa el comando [`docker scout compare`](/reference/cli/docker/scout/compare/):

```console
$ docker scout compare dhi.io/<image>:<tag> \
    --to <comparison-image>:<tag> \
    --platform <platform>
```

Por ejemplo, para comparar una DHI de Node.js con la imagen oficial de Node.js:

```console
$ docker scout compare dhi.io/node:22-debian13 \
    --to node:22 \
    --platform linux/amd64
```

La salida muestra un resumen en la parte superior con métricas clave de comparación, seguido de información detallada sobre paquetes y vulnerabilidades. Ejemplo de resumen:

```console
  ## Overview

                      │                    Analyzed Image                     │              Comparison Image
  ────────────────────┼───────────────────────────────────────────────────────┼─────────────────────────────────────────────
    Target            │  dhi.io/node:22-debian13                              │  node:22
      digest          │  55d471f61608                                         │  9ee3220f602f
      platform        │ linux/amd64                                           │ linux/amd64
      vulnerabilities │    0C     0H     0M     0L                            │    0C     1H     3M   153L     4?
                      │           -1     -3   -153     -4                     │
      size            │ 41 MB (-367 MB)                                       │ 408 MB
      packages        │ 19 (-726)                                             │ 745
```

### Filtrar paquetes sin cambios

Para centrarte únicamente en las diferencias e ignorar los paquetes sin cambios, usa la opción `--ignore-unchanged`:

```console
$ docker scout compare dhi.io/node:22-debian13 \
    --to node:22 \
    --platform linux/amd64 \
    --ignore-unchanged
```

Esta salida resalta solo los paquetes y vulnerabilidades que difieren entre las dos imágenes, lo que facilita identificar las mejoras de seguridad y los cambios.

