Sicurezza runtime di Kubernetes

Nell’ultimo decennio, i carichi di lavoro containerizzati e Kubernetes (K8) hanno preso d’assalto il mondo del software. Sfortunatamente, man mano che Kubernetes diventa un punto fermo dell’architettura aziendale, diventa un obiettivo di alto valore per gli autori delle minacce.

La sicurezza dei container in generale, e la sicurezza di Kubernetes in particolare, rappresentano oggi un aspetto fondamentale della strategia di sicurezza aziendale. Questo articolo esplorerà la sicurezza runtime di Kubernetes, uno degli aspetti più critici della sicurezza di K8, incluse sette best practice essenziali per la sicurezza di runtime di K8.

Richiedi una Demo Per saperne di più

Cos'è la sicurezza runtime di Kubernetes?

La sicurezza runtime di Kubernetes è l'insieme di strumenti, pratiche e tecnologie che proteggono l'esecuzione dei carichi di lavoro dei contenitori su Kubernetes.

In altre parole, la sicurezza runtime di Kubernetes è una sottocategoria della protezione del carico di lavoro e della sicurezza del container. La sicurezza runtime di Kubernetes si occupa della sicurezza dall'istanziazione del contenitore alla terminazione. Ciò significa che la sicurezza del runtime include cose come l'esecuzione o meno dei container come root (non dovrebbero!), ma non copre argomenti come la scansione delle immagini dei container.

Sfide e rischi per la sicurezza runtime di Kubernetes

Poiché oggi esistono così tanti tipi di applicazioni in esecuzione sui K8, non esiste un insieme unico di rischi per la sicurezza di runtime per container o Kubernetes. Tuttavia, esiste una serie di sfide alla sicurezza del runtime Kubernetes comuni alla maggior parte delle aziende.

Ecco quattro rischi per la sicurezza comuni relativi alla sicurezza del contenitore di runtime su Kubernetes:

  • Escalation dei privilegi: un attore di minacce che ottiene l'accesso a un ambiente K8s e passa a un utente con privilegi più elevati (ad esempio root) è una minaccia alla sicurezza del runtime Kubernetes da manuale.
  • malware: malware nelle immagini del contenitore è un problema serio. Nel 2022, oltre 1.600 contenitori disponibili su Docker Hub includevano malware come cryptominer e dirottatori DNS. L'istanziazione di uno di questi contenitori in un ambiente può introdurre immediatamente minacce dietro il perimetro della rete.
  • vulnerabilità nei K8 e nei contenitori: anche quando i contenitori non sono dannosi di per sé, sono spesso vulnerabili ai CVE con exploit noti.

Strumenti di sicurezza runtime Kubernetes nativi

Kubernetes offre un set limitato di strumenti e controlli nativi che possono limitare i rischi di runtime. Questi includono:

  • Segreti: i segreti di K8 sono oggetti dati che memorizzano informazioni come una chiave API o una password. L'utilizzo dei segreti aiuta le aziende a mantenere i dati sensibili fuori dalle immagini e dalle specifiche dei pod.
  • Controller di ammissione: con un controller di ammissione K8s, le aziende possono limitare la modifica (ma non la lettura) degli endpoint API Kubernetes.
  • Policy di rete: le policy di rete Kubernetes sono simili alle tradizionali regole firewall ALLOW e BLOCK che applicano le policy a livello di rete e di trasporto.
  • Log di controllo: i log di controllo forniscono dettagli sulle azioni che si sono verificate in un cluster. Ad esempio, è possibile controllare l'attività dell'API. Questi log possono consentire l'analisi e il rilevamento di comportamenti dannosi.
  • RBAC: il controllo degli accessi basato sui ruoli (RBAC) consente agli amministratori di limitare l'accesso alle API K8 in base al ruolo di un'entità.

Poiché gli strumenti di sicurezza runtime nativi di Kubernetes non affrontano direttamente casi d'uso come il rilevamento delle minacce in tempo reale, molte aziende dipendono da strumenti di protezione del carico di lavoro più robusti.

7 best practice per la sicurezza runtime di Kubernetes

Queste sei best practice per il runtime Kubernetes possono aiutare le aziende a limitare molte minacce alla sicurezza di K8.

  1. Non eseguire i container come root: l'esecuzione di container come root configura gli attori delle minacce per gli attacchi di escalation dei privilegi. Il semplice fatto di non eseguire come root può mitigare molte minacce.
  2. Controllare e automatizzare le configurazioni dei contenitori: l'esposizione pubblica dei dati che dovrebbero trovarsi nei segreti o la connessione Internet delle istanze del database sono esempi di configurazioni errate che possono portare a una violazione. Controllare le configurazioni e automatizzare la distribuzione della configurazione utilizzando Infrastructure as Code (IaC) è un ottimo modo per limitare i rischi.
  3. Blocca il livello di rete: oltre alle policy di rete K8 e RBAC, gli strumenti di sicurezza di rete come IPS/IDS e NGFW possono rilevare e prevenire le minacce prima che raggiungano i carichi di lavoro. Inoltre, le aziende devono evitare di esporre il socket del daemon Docker quando possibile.
  4. Evitare la modalità privilegiata: proprio come non eseguire i contenitori come root, le aziende dovrebbero evitare di eseguire i contenitori con il flag –privileged. Il flag –privileged consente ai contenitori di ignorare vari controlli che mantengono sicuro un sistema.
  5. Utilizzare file system di sola lettura quando possibile: i file system di sola lettura impediscono agli autori delle minacce di scrivere malware direttamente nel file system di un contenitore. Ciò può limitare la capacità di un attore di minacce di eseguire un exploit.
  6. Esegui solo immagini di container attendibili: i repository pubblici possono minacciare la sicurezza negli ambienti di runtime dei container non appena un amministratore crea un'istanza di un'immagine compromessa. Solo l'uso di immagini di container attendibili può aiutare le aziende a limitare il rischio di immagini provenienti da repository di immagini pubbliche.
  7. Proteggi il livello del kernel: soluzioni come SELinux, cgroups e AppArmor possono aggiungere un livello di protezione alla sicurezza del runtime di Kubernetes. Ad esempio, AppArmor può definire policy che limitano l'accesso a una varietà di risorse del kernel per ridurre il rischio che le app sfruttino una funzionalità di sistema a cui non dovrebbero essere in grado di accedere.

Lo spostamento a sinistra integra l'efficace sicurezza runtime di Kubernetes

Naturalmente, nessun aspetto della sicurezza esiste nel vuoto. La sicurezza in fase di esecuzione è importante, ma la sicurezza inizia ben prima che venga creata un'istanza di un contenitore. Alcune delle best practice di sicurezza runtime di Kubernetes sopra citate lo rendono chiaro e il concetto di sicurezza con spostamento a sinistra sottolinea il punto. L'integrazione della sicurezza nelle prime fasi del ciclo di vita dello sviluppo e la successiva protezione in fase di esecuzione offrono il meglio di entrambi i mondi.

Sicurezza runtime Kubernetes con la protezione CloudGuard Workload

CloudGuard Workload Protection è una piattaforma che fornisce la protezione end-to-end con gestione centralizzata di cui le aziende hanno bisogno per i contenitori Kubernetes e le funzioni serverless.

I vantaggi di CloudGuard Workload Protection includono:

  • Sicurezza Zero Trust tra le app: protezione per contenitori Kubernetes, API e funzioni serverless.
  • deployment automatica delle configurazioni di sicurezza: definisci e distribuisci automaticamente le policy di sicurezza per ridurre il rischio di errore umano e configurazione errata.
  • Supporto multi-cloud e cloud ibrido: garantisci la sicurezza tra cloud e on-premise.
  • Scansione dell'immagine del contenitore: Rileva i contenitori vulnerabili o dannosi prima che vengano creati un'istanza.
  • Rilevamento degli incidenti in tempo reale: Il rilevamento intelligente dei comportamenti dannosi può bloccare le minacce prima che facciano danni.
  • Difesa comportamentale per funzioni serverless: Serverless Security richiede contesto e la difesa comportamentale può rilevare in modo intelligente l'uso dannoso delle funzioni serverless.

Per saperne di più su CloudGuard Workload Protection, iscriviti oggi stesso a una demo sulla sicurezza dei container. Nella demo imparerai i concetti chiave della sicurezza dei container come la scansione IaC, la protezione runtime automatizzata e la sicurezza su tutti i cloud.

×
  Feedback
Questo sito web utilizza cookies per la sua funzionalità e per scopi di analisi e marketing. Continuando a utilizzare questo sito Web, accetti l'utilizzo dei cookies. Per ulteriori informazioni, leggere la nostra Informativacookies .
OK