0Pricing
DevOps Bootcamp · Lezione

Scansione di sicurezza delle immagini dei container

Integri gli strumenti di scansione delle immagini nella pipeline CI/CD per identificare le vulnerabilità nelle immagini Docker.

Scansione di sicurezza delle immagini dei container è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Perché analizzare le immagini dei container?

Le immagini dei container sono alla base delle applicazioni moderne. Come qualsiasi software, possono contenere vulnerabilità di sicurezza nascoste. La scansione delle immagini è una pratica fondamentale per individuare queste vulnerabilità prima di eseguire il deployment delle applicazioni.

Aiuta a garantire che il software in esecuzione sia sicuro e privo di vulnerabilità note.

Scansione di sicurezza delle immagini dei container — illustrazione 1

I pericoli nascosti nelle immagini

Quali tipi di vulnerabilità potrebbero nascondersi nelle vostre immagini dei container?

  • Immagini di base obsolete: l'utilizzo di versioni obsolete dei sistemi operativi (come Ubuntu o Alpine) che presentano bug di sicurezza noti.
  • Librerie vulnerabili: qualsiasi pacchetto software o dipendenza aggiuntiva installata nell'immagine potrebbe presentare vulnerabilità di sicurezza (CVE).
  • Configurazioni errate: sebbene la scansione punti principalmente alle CVE note, anche impostazioni non corrette possono introdurre rischi.

Come funzionano gli scanner delle immagini

Gli scanner delle immagini dei container operano nei seguenti modi:

  • Analizzano i layer: esaminano ogni layer dell'immagine Docker.
  • Estraggono i componenti: identificano tutti i pacchetti, le librerie e le dipendenze installati (ad esempio pacchetti del sistema operativo, librerie Python e moduli Node.js).
  • Confrontano con i database: confrontano questi componenti con ampi database delle vulnerabilità aggiornati regolarmente (come i database CVE).
  • Generano report: forniscono un elenco dettagliato delle vulnerabilità identificate, della loro gravità e spesso delle correzioni suggerite.

Gli strumenti del mestiere

Sono disponibili diversi strumenti potenti per la scansione delle immagini dei container, sia open source sia commerciali:

  • Trivy: uno scanner open source molto diffuso, noto per la facilità d'uso e la copertura completa.
  • Clair: un'altra valida opzione open source, spesso integrata in registry di container più ampi.
  • Docker Scout (tramite docker scan): integrato in Docker Desktop, utilizza il database delle vulnerabilità di Snyk per fornire rapide scansioni locali.

Scansione locale di un'immagine

Eseguiamo una scansione rapida di una comune immagine Docker usando il comando integrato docker scan. Questo comando utilizza Docker Scout (basato su Snyk) per verificare la presenza di vulnerabilità.

Provi a eseguire questo esempio:

docker scan nginx:latest

Interpretazione dei risultati

Dopo aver eseguito una scansione, riceverà un report. Ecco cosa cercare:

  • ID CVE: Un identificatore univoco della vulnerabilità (ad esempio, CVE-2023-1234).
  • Gravità: Il livello di criticità della vulnerabilità (ad esempio, Critica, Alta, Media, Bassa).
  • Pacchetto: Il componente software o la libreria specifica che contiene il difetto.
  • Versione corretta: Spesso il report suggerisce una versione del pacchetto o dell'immagine di base che risolve il problema.

Scansione nel flusso di lavoro

Il vero valore della scansione delle immagini emerge quando viene integrata nel flusso di lavoro di sviluppo. Aggiungendo la scansione alla pipeline di integrazione continua (CI), è possibile:

  • Rilevare i problemi tempestivamente: Identificare le vulnerabilità non appena viene eseguito il commit di nuovo codice o viene compilata un'immagine.
  • Automatizzare i controlli di sicurezza: Rendere la sicurezza una parte standard e automatizzata del processo di compilazione.
  • Impedire la distribuzione: Configurare la pipeline CI in modo che la compilazione fallisca se vengono rilevate vulnerabilità critiche, impedendo alle immagini non sicure di raggiungere l'ambiente di produzione.

Automatizzazione delle scansioni con CI

Ecco uno snippet concettuale che mostra come si potrebbe integrare la scansione con Trivy in un flusso di lavoro GitHub Actions. In questo modo, ogni immagine compilata viene sottoposta automaticamente a scansione.

# .github/workflows/scan.yml
name: Image Scan

on:
  push:
    branches: [ main ]

jobs:
  build-and-scan:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Build Docker Image
      run: docker build -t my-app:latest .
    - name: Run Trivy Scan
      uses: aquasecurity/trivy-action@master
      with:
        image-ref: 'my-app:latest'
        format: 'table'
        exit-code: '1' # Fail build on critical issues

Correzione dei problemi rilevati

Individuare le vulnerabilità è solo metà del lavoro; correggerle è l'altra metà! Ecco alcune strategie di correzione comuni:

  • Aggiornare le immagini di base: Utilizzare sempre le versioni più recenti e aggiornate con le patch dell'immagine di base scelta.
  • Ridurre al minimo le dipendenze: Installare solo i pacchetti assolutamente necessari per l'esecuzione dell'applicazione.
  • Compilazioni multi-stage: Utilizzare Dockerfile multi-stage per ridurre le dimensioni dell'immagine finale e rimuovere gli strumenti necessari solo in fase di compilazione e non durante l'esecuzione.
  • Applicare patch: Applicare patch di sicurezza specifiche, se disponibili, ai componenti vulnerabili.

Verifica della scansione

La scansione delle immagini è una parte fondamentale dello sviluppo sicuro dei container. Verifichiamo la Sua comprensione dell'argomento.

Concetti chiave

Ha appreso il ruolo fondamentale della scansione di sicurezza delle immagini dei container:

  • Identifica le vulnerabilità note (CVE) nelle immagini di base e nelle dipendenze.
  • Strumenti come Trivy, Clair e Docker Scout aiutano ad automatizzare questo processo.
  • L'integrazione della scansione nella pipeline CI/CD garantisce il rilevamento tempestivo e impedisce la distribuzione di immagini non sicure.
  • Aggiornare regolarmente le immagini e ridurre al minimo le dipendenze aiuta a diminuire la superficie di attacco.

Continui a sottoporre a scansione le Sue immagini per mantenere un solido livello di sicurezza!

Domande Frequenti

La lezione «Scansione di sicurezza delle immagini dei container» è gratuita?

Sì — il testo completo di «Scansione di sicurezza delle immagini dei container» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Scansione di sicurezza delle immagini dei container»?

Integri gli strumenti di scansione delle immagini nella pipeline CI/CD per identificare le vulnerabilità nelle immagini Docker. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Scansione di sicurezza delle immagini dei container»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Scansione di sicurezza delle immagini dei container
  2. Sicurezza dei container a runtime
  3. Gestione dei Secret e RBAC
  4. Network policy e networking con privilegi minimi
← Torna a DevOps Bootcamp