Cómo analizar paquetes de SO de forma manual

En esta guía de inicio rápido, se muestra cómo extraer una imagen de contenedor, analizarla manualmente en busca de vulnerabilidades del sistema operativo con la API de On-Demand Scanning y recuperar las vulnerabilidades identificadas. Para seguir esta guía de inicio rápido, usarás Cloud Shell y una imagen de Ubuntu de ejemplo.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the On-Demand Scanning API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the On-Demand Scanning API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Cómo descargar y analizar una imagen

    1. Abre Cloud Shell en tu proyecto.

      Abra Cloud Shell

      Se abrirá una terminal con todas las herramientas necesarias para seguir esta guía.

    2. Usa Docker para extraer la imagen de Ubuntu más reciente.

      docker pull ubuntu:latest
      
    3. Ejecuta el análisis.

      gcloud artifacts docker images scan ubuntu:latest
      

      Esto activa el proceso de análisis y muestra el nombre del análisis cuando finaliza:

      ✓ Scanning container image
        ✓ Locally extracting packages and versions from local container image
        ✓ Remotely initiating analysis of packages and versions
        ✓ Waiting for analysis operation to complete [projects/my-project/locations/us/operations/1a6fd941-b997-4e5f-ba4f-6351f30e7dad]
      Done.
      
      done: true
      metadata:
        '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesMetadata
        createTime: '2021-01-26T13:43:53.112123Z'
        resourceUri: ubuntu:latest
      name: projects/my-project/locations/us/operations/1a6fd941-b99f-4eaf-ba4f-6e5af30e7dad
      response:
        '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesResponse
        scan: projects/my-project/locations/us/scans/893c91ce-7fe6-4f1a-a69a-d6ca1b465160
      
    4. Usa el nombre del análisis, el valor de scan del resultado, para recuperar los resultados del análisis.

      gcloud artifacts docker images list-vulnerabilities \
      projects/my-project/locations/us/scans/893c91ce-7fe6-4f1a-a69a-d6ca1b465160
      

    Limpia

    Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

    Si creaste un proyecto nuevo para esta guía, ahora puedes borrarlo.

    ¿Qué sigue?