Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:cursos:docker_avanzado:distribucion_de_imagenes

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:sistemas_operativos:cursos:docker_avanzado:distribucion_de_imagenes [2023/10/18 17:51] – [Docker Scout] tempwininformatica:sistemas_operativos:cursos:docker_avanzado:distribucion_de_imagenes [2023/10/18 18:30] (actual) – [Caso práctico] tempwin
Línea 179: Línea 179:
 **5. Ve a [[https://hub.docker.com|Docker Hub]], busca la imagen de ''ubuntu:latest'' y compara los resultados obtenidos con la información mostrada en Docker Hub** **5. Ve a [[https://hub.docker.com|Docker Hub]], busca la imagen de ''ubuntu:latest'' y compara los resultados obtenidos con la información mostrada en Docker Hub**
  
-**6. Crea una imagen personalizada llamada ubuntu-updated tomando como imagen base ubuntu:latest y aplica las actualizaciones del sistema pertinentes.**+**6. Crea una imagen personalizada llamada ''ubuntu-updated'' tomando como imagen base ubuntu:latest y aplica las actualizaciones del sistema pertinentes.** 
 + 
 +Dockerfile: 
 + 
 +<code> 
 +FROM ubuntu:latest 
 +RUN apt-get update && apt-get upgrade 
 +RUN apt-get clean 
 +</code>
  
 **7. Repite los pasos 2, 3 y 4 sobre la imagen personalizada que acabamos de crear y analiza los resultados obtenidos. ¿Tenemos alguna posible solución para reducir las vulnerabilidades? En caso afirmativo, prueba a aplicar esa solución en una nueva imagen llamada ''ubuntu-updated-fixed'' y repite los paso 2, 3 y 4 sobre ella.** **7. Repite los pasos 2, 3 y 4 sobre la imagen personalizada que acabamos de crear y analiza los resultados obtenidos. ¿Tenemos alguna posible solución para reducir las vulnerabilidades? En caso afirmativo, prueba a aplicar esa solución en una nueva imagen llamada ''ubuntu-updated-fixed'' y repite los paso 2, 3 y 4 sobre ella.**
  
-**8. Finalmente vamos a probar la opción de comparación (OJO: es una función experimental del comando docker scout).+Al hacer: 
 + 
 +<code> 
 +docker scout recommendations ubuntu-updated 
 +</code> 
 + 
 +Nos dice: 
 + 
 +<code> 
 +Change base image 
 +  The list displays new recommended tags in descending order, where the top results are rated as most suitable. 
 + 
 + 
 +            Tag           │                        Details                         │   Pushed    │       Vulnerabilities 
 +──────────────────────────┼────────────────────────────────────────────────────────┼─────────────┼────────────────────────────── 
 +   23.10                  │ Benefits:                                              │ 6 days ago  │    0C     0H     0M     0L 
 +  Major OS version update │ • Image is smaller by 2.2 MB                           │             │                  -2    -12 
 +  Also known as:          │ • Image contains 18 fewer packages                     │             │ 
 +  • mantic                │ • Tag was pushed more recently                         │             │ 
 +  • rolling               │ • Image introduces no new vulnerability but removes 14 │             │ 
 +  • mantic-20231011       │ • Major OS version update                              │             │ 
 +                          │                                                        │             │ 
 +                          │ Image details:                                         │             │ 
 +                          │ • Size: 27 MB                                          │             │ 
 +                          │ • OS: 23.10                                            │             │ 
 +                          │                                                        │             │ 
 +                          │                                                        │             │ 
 +                          │                                                        │             │ 
 +   23.04                  │ Benefits:                                              │ 2 weeks ago │    0C     0H     0M     6L 
 +  Major OS version update │ • Image is smaller by 2.5 MB                           │             │                  -2     -6 
 +  Also known as:          │ • Image contains 17 fewer packages                     │             │ 
 +  • lunar                 │ • Image introduces no new vulnerability but removes 8  │             │ 
 +  • lunar-20231004        │ • Major OS version update                              │             │ 
 +                          │ • 23.04 was pulled 1.5M times last month               │             │ 
 +                          │                                                        │             │ 
 +                          │ Image details:                                         │             │ 
 +                          │ • Size: 27 MB                                          │             │ 
 +                          │ • Flavor: ubuntu                                       │             │ 
 +                          │ • OS: 23.04                                            │             │ 
 +</code> 
 + 
 +Vamos a hacer lo que nos sugiere y cambiar la imagen base por la ''ubuntu:23.10'': 
 + 
 +<code> 
 +FROM ubuntu:23.10 
 + 
 +RUN apt-get update && apt-get upgrade 
 +RUN apt-get clean 
 +</code> 
 + 
 +**8. Finalmente vamos a probar la opción de comparación (OJO: es una función experimental del comando ''docker scout'').**
  
 Primero vamos a comparar la imagen base de ubuntu:latest con nuestra imagen ''ubuntu-updated'' Primero vamos a comparar la imagen base de ubuntu:latest con nuestra imagen ''ubuntu-updated''
Línea 191: Línea 249:
 </code> </code>
  
-A continuación, compararemos ubuntu:latest con ubuntu:23.10:+Resultado (resumido>: 
 + 
 +<code> 
 +WARN 'docker scout compare' is experimental and its behaviour might change in the future 
 +    ✓ SBOM of image already cached, 143 packages indexed 
 +    ...Storing image for indexing 
 +    ✓ Image stored for indexing 
 +    ...Indexing 
 +    ✓ Indexed 143 packages 
 + 
 + 
 +  ## Overview 
 + 
 +                      │       Analyzed Image        │      Comparison Image 
 +  ────────────────────┼─────────────────────────────┼────────────────────────────── 
 +    Target            │  ubuntu:latest              │  ubuntu-updated:latest 
 +      digest          │  e4c58958181a               │  bec7ada07c12 
 +      platform        │ linux/amd64                 │ linux/amd64 
 +      vulnerabilities │    0C     0H     2M    12L  │    0C     0H     2M    12L 
 +                      │                             │ 
 +      size            │ 34 MB (-32 MB)              │ 66 MB 
 +      packages        │ 143                         │ 143 
 +                      │                             │ 
 + 
 + 
 +  ## Environment Variables 
 + 
 + 
 +      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
 +(...) 
 +  ## Packages and Vulnerabilities 
 + 
 + 
 +       143 packages unchanged 
 + 
 + 
 + 
 + 
 +     Package              Type  Version                                  Compared Version 
 + 
 +     acl                  deb   2.3.1-1                                  2.3.1-1 
 +     adduser              deb   3.118ubuntu5                             3.118ubuntu5       
 +(...) 
 +</code> 
 + 
 +A continuación, compararemos ''ubuntu:latest'' con ''ubuntu:23.10'':
  
 <code> <code>
Línea 197: Línea 300:
 </code> </code>
  
-Analiza los resultados de ambos comandos.+Resultado (resumido):
  
 +<code>
 +WARN 'docker scout compare' is experimental and its behaviour might change in the future
 +    ✓ SBOM of image already cached, 143 packages indexed
 +    ...Storing image for indexing
 +    ✓ Image stored for indexing
 +    ...Indexing
 +    ✓ Indexed 125 packages
 +
 +
 +  ## Overview
 +
 +                      │       Analyzed Image        │      Comparison Image
 +  ────────────────────┼─────────────────────────────┼──────────────────────────────
 +    Target            │  ubuntu:latest              │  ubuntu:23.10
 +      digest          │  e4c58958181a               │  fe7a3960a97e
 +      platform        │ linux/amd64                 │ linux/amd64
 +      vulnerabilities │    0C     0H     2M    12L  │    0C     0H     0M     0L
 +                      │                  +2    +12  │
 +      size            │ 34 MB (+2.7 MB)             │ 31 MB
 +      packages        │ 143 (+18)                   │ 125
 +                      │                             │
 +
 +
 +  ## Environment Variables
 +(...)
 +  ## Packages and Vulnerabilities
 +
 +
 +    +   23 packages added
 +    -    5 packages removed
 +    ⎌  115 packages changed (↑ 0 upgraded, ↓ 115 downgraded)
 +         5 packages unchanged
 +
 +
 +    + 14 vulnerabilities added
 +
 +
 +     Package              Type  Version                                  Compared Version
 +
 +  ↓  acl                  deb   2.3.1-1                                  2.3.1-3
 +  +  adduser              deb   3.118ubuntu5
 +  ↓  apt                  deb   2.4.10                                   2.7.3
 +  ↓  attr                 deb   1:2.5.1-1build1                          1:2.5.1-4
 +(...)  
 +</code>
 ==== Trivy ==== ==== Trivy ====
  
-Si queremos hacer un examen más en profundidad podemos echar mano de la herramienta [[https://github.com/aquasecurity/trivy|Trivy]+Si queremos hacer un examen más en profundidad podemos echar mano de la herramienta [[https://github.com/aquasecurity/trivy|Trivy]]
  
 A diferencia de Docker Scout, Trivy tiene un ámbito de funcionamiento mucho mayor. La podemos utilizar para detectar CVEs en imágenes de contenedores, pero también será capaz de detectar configuraciones potencialmente peligrosas y secretos así como analizar otros elementos como repositorios de código, sistemas de ficheros, maquinas A diferencia de Docker Scout, Trivy tiene un ámbito de funcionamiento mucho mayor. La podemos utilizar para detectar CVEs en imágenes de contenedores, pero también será capaz de detectar configuraciones potencialmente peligrosas y secretos así como analizar otros elementos como repositorios de código, sistemas de ficheros, maquinas
Línea 209: Línea 357:
  
 La herramienta Trivy se puede instalar como un script de sistema en diferentes plataformas, pero también tenemos la opción de usarla como un contenedor. Esta será la opción que vamos a utilizar en esta práctica. La herramienta Trivy se puede instalar como un script de sistema en diferentes plataformas, pero también tenemos la opción de usarla como un contenedor. Esta será la opción que vamos a utilizar en esta práctica.
- 
  
 1. Para poder utilizar Trivy y optimizar mejor el uso reiterado de la herramienta vamos a utilizar un bind para persistir la cache de la herramienta. Para ello creamos una carpeta que luego usaremos como volumen (También lo podemos hacer con un named volumen si lo preferimos) 1. Para poder utilizar Trivy y optimizar mejor el uso reiterado de la herramienta vamos a utilizar un bind para persistir la cache de la herramienta. Para ello creamos una carpeta que luego usaremos como volumen (También lo podemos hacer con un named volumen si lo preferimos)
Línea 228: Línea 375:
  
  
-3. Compara los resultados obtenidos con Trivy y los obtenidos con Docker Scan. ¿Tenemos más o menos VCEs?+**3. Compara los resultados obtenidos con Trivy y los obtenidos con Docker Scan. ¿Tenemos más o menos VCEs?** 
 + 
 +Resultado (resumido): 
 + 
 +<code> 
 +ubuntu:latest (ubuntu 22.04) 
 +============================ 
 +Total: 23 (UNKNOWN: 0, LOW: 17, MEDIUM: 6, HIGH: 0, CRITICAL: 0) 
 + 
 +┌──────────────────┬────────────────┬──────────┬──────────┬──────────────────────────┬───────────────┬─────────────────────────────────────────────────────────────┐ 
 +│     Library      │ Vulnerability  │ Severity │  Status  │    Installed Version     │ Fixed Version │                            Title                            │ 
 +├──────────────────┼────────────────┼──────────┼──────────┼──────────────────────────┼───────────────┼─────────────────────────────────────────────────────────────┤ 
 +│ bash             │ CVE-2022-3715  │ LOW      │ affected │ 5.1-6ubuntu1             │               │ a heap-buffer-overflow in valid_parameter_transform         │ 
 +│                  │                │          │          │                          │               │ https://avd.aquasec.com/nvd/cve-2022-3715                   │ 
 +├──────────────────┼────────────────┤          │          ├──────────────────────────┼───────────────┼─────────────────────────────────────────────────────────────┤ 
 +│ coreutils        │ CVE-2016-2781  │          │          │ 8.32-4.1ubuntu1          │               │ coreutils: Non-privileged session can escape to the parent  │ 
 +│                  │                │          │          │                          │               │ session in chroot                                           │ 
 +│                  │                │          │          │                          │               │ https://avd.aquasec.com/nvd/cve-2016-2781                   │ 
 +├──────────────────┼────────────────┤          │          ├──────────────────────────┼───────────────┼─────────────────────────────────────────────────────────────┤ 
 +</code>
  
 +^ Vulnerabilidades ^ Docker Scout ^ Trivy ^
 +| Unknown          |   x |  0 |
 +| Low              |  12 |  17 |
 +| Medium            2 |  6 |
 +| High              0 |  0 |
 +| Critical          0 |  0 |
  
 +Con ''docker scout'' nos encontró 14 y con Trivy 23.
informatica/sistemas_operativos/cursos/docker_avanzado/distribucion_de_imagenes.1697644273.txt.gz · Última modificación: por tempwin