Come eseguire la scansione delle vulnerabilità di Kubernetes con Kubescape

0
90
dennizn/Shutterstock.com

Kubescape è un nuovo strumento open source di ARMO che consente di automatizzare le scansioni del cluster Kubernetes per identificare i problemi di sicurezza. Kubescape controlla il tuo cluster in base alle raccomandazioni sull'hardening pubblicate da NSA e CISA.

Ecco come installare Kubescape e iniziare a scansionare il tuo cluster. Scansioni regolari potrebbero aiutarti a risolvere i problemi prima che vengano utilizzati dagli aggressori.

Download di Kubescape

Kubescape è attualmente distribuito come binario precompilato per Windows, macOS e Ubuntu. Puoi scaricarlo direttamente dalla pagina delle versioni di GitHub del progetto.

C'è anche uno script di installazione automatica che puoi incollare nel tuo terminale. Questo recupererà il binario corretto per il tuo sistema e lo aggiungerà al tuo percorso.

curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | /bin/bash

Prova a eseguire kubescape per verificare che l'installazione sia completa. Vedrai una sinossi dei comandi disponibili.

< h2 id="scanning-your-cluster">Scansione del tuo cluster

Kubernetes si connette al tuo cluster utilizzando i file di configurazione standard di Kubectl. Imposta la variabile di ambiente KUBECONFIG nella tua shell per fare riferimento al file di configurazione per il cluster che vuoi scansionare:

export KUBECONFIG=.kube/my-cluster.yaml Advertisement

Kubescape si lamenterà che “non è riuscito a caricare la configurazione di Kubernetes” se questa variabile non è impostata o il file specificato non è valido. Aggiorna la variabile KUBECONFIG ogni volta che esegui Kubescape se vuoi scansionare più cluster.

Le scansioni vengono avviate con il comando scan. È necessario indicare il framework di protezione contro cui si desidera eseguire la scansione. Attualmente nsa è l'unica opzione supportata.

kubescape scan framework nsa –exclude-namespaces kube-system,kube-public

Kubescape analizzerà tutte le risorse nel tuo cluster, ad eccezione delle risorse negli spazi dei nomi omesse dal flag –exclude-namespaces. Si consiglia di elencare qui gli spazi dei nomi Kubernetes integrati poiché non sarà possibile risolvere eventuali problemi riscontrati.

La tua prima scansione di Kubescape potrebbe richiedere del tempo poiché lo strumento deve scaricare le sue definizioni del framework. Questi definiscono i test rispetto ai quali viene valutato il tuo cluster. Una volta completata la scansione, vedrai un output colorato nel tuo terminale che dettaglia tutti i problemi rilevati.

Risultati della scansione

Ogni il test non riuscito produce la propria sezione di output con un elenco delle risorse sospette, una descrizione del problema e un suggerimento per la risoluzione. Una tabella in fondo al rapporto fornisce un riepilogo di tutti i test eseguiti, il numero di risorse che non li hanno superati e la percentuale di successo complessiva.

Pubblicità

Kubescape controlla oltre 20 possibili punti deboli in base all'elenco identificato dalla NSA. Il rapporto della NSA fornisce una descrizione delle questioni trattate e le motivazioni per la loro inclusione. Alcuni dei problemi chiave che Kubescape verifica includono:

  • Opportunità di escalation dei privilegi
  • Container in esecuzione in modalità privilegiata
  • Container in esecuzione con capacità pericolose
  • li>

  • Dashboard Kubernetes esposto
  • Contenitori in esecuzione come root
  • Credenziali contenute nei file di configurazione
  • Piano di controllo protetto in modo errato

L'esecuzione di Kubescape ti consente di controllare lo stato del tuo cluster rispetto alle attuali linee guida sulle migliori pratiche, dandoti maggiore sicurezza di non mettere a rischio i tuoi dati e i tuoi carichi di lavoro.

Scansione dei file manifest

< p>Kubescape può funzionare senza una connessione cluster. Puoi scansionare i manifest delle risorse archiviati come file YAML locali, consentendoti di verificarne la sicurezza prima di applicarli al tuo cluster. Aggiungi un argomento extra dopo il nome del framework per specificare i file che vuoi scansionare:

kubescape scan framework nsa k8s/*.yaml

Puoi usare un URL come percorso del file per scansionare i file archiviati in remoto, come in un repository Git.

È meglio utilizzare la modalità di scansione del cluster predefinita quando si esegue un controllo di sicurezza completo. Le scansioni manifest sono idealmente incorporate nelle pipeline CI. Usato in questo modo, puoi evitare di introdurre involontariamente nuove vulnerabilità mentre aggiorni le tue risorse e le distribuisci al tuo cluster.

Scansioni offline

Kubescape è progettato per l'uso online in quanto deve scaricare le definizioni del framework prima di poter completare una scansione. È possibile salvare manualmente il framework per facilitare le scansioni offline. Dovresti provare ad aggiornare il file periodicamente in modo che non diventi obsoleto.

Scarica il file framework NSA:

kubescape download framework nsa –output nsa.json

Ora scansiona il tuo cluster utilizzando il file scaricato:

kubescape scan framework nsa –use-from nsa.json Advertisement

Il –use- from indica a Kubescape di caricare le definizioni del framework dal file specificato. C'è anche –use-default che proverà a utilizzare il file memorizzato nella cache locale nella posizione predefinita quando è disponibile. Kubescape ricorre al download delle ultime definizioni dal server quando non viene trovato alcun file.

Formati di output

Kubescape invia l'output al tuo terminale per impostazione predefinita, ma può anche produrre report in formato JSON o Junit. Aggiungi il flag -f per specificare la modalità desiderata:

kubescape scan framework nsa -f json kubescape scan framework nsa -f junit

Quest'ultima opzione emette un file XML che può essere utilizzato dagli strumenti di report di test che funzionano con il formato Junit. Ciò ti consente di inserire le scansioni di Kubescape nelle tue soluzioni di reportistica di test esistenti per la visualizzazione e l'aggregazione.

L'output viene emesso nel flusso di output standard del terminale indipendentemente dal formato del report specificato. Aggiungi il flag -o per fornire un percorso file in cui salvare:

kubescape scan framework nsa -f json -o report.json

I soliti messaggi di avanzamento di Kubescape possono essere disabilitati con il flag -s. Ciò è utile negli scenari CI in cui non si desidera inquinare i registri dei lavori con caratteri ASCII.

Conclusione

Kubescape ti consente di valutare la sicurezza del tuo Cluster Kubernetes rispetto alle linee guida pubblicate dalla NSA. Il semplice strumento open source fornisce un singolo comando per confrontare il tuo ambiente con oltre 20 controlli chiave.

Pubblicità

Kubescape non controlla le vulnerabilità all'interno dei container che esegui nel tuo cluster. Avrai bisogno di un altro strumento come Docker Scan o Trivy per farlo. L'esecuzione di un motore di scansione dei container insieme a Kubescape ti offre il quadro più completo della posizione di sicurezza del tuo ambiente.