Gestione delle vulnerabilità per il servizio Azure Kubernetes

La gestione delle vulnerabilità comporta il rilevamento, la valutazione, la mitigazione e la creazione di report su eventuali vulnerabilità di sicurezza presenti nei sistemi e nel software di un'organizzazione. La gestione delle vulnerabilità è una responsabilità condivisa tra l'utente e Microsoft.

Questo articolo descrive in che modo Microsoft gestisce le vulnerabilità di sicurezza e gli aggiornamenti della sicurezza (detti anche patch) per i cluster del servizio Azure Kubernetes.

Come vengono individuate le vulnerabilità

Microsoft identifica e applica patch alle vulnerabilità e agli aggiornamenti della sicurezza mancanti per i componenti seguenti:

  • Immagini dei contenitori del servizio Azure Kubernetes

  • Nodi di lavoro del sistema operativo Ubuntu 18.04 e 22.04: Canonical fornisce a Microsoft le build del sistema operativo con tutti gli aggiornamenti della sicurezza disponibili già applicati.

  • Nodi di lavoro del sistema operativo Windows Server 2022: le patch vengono applicate al sistema operativo Windows Server il secondo martedì di ogni mese. I contratti di servizio devono essere gli stessi, a seconda del contratto di supporto e della gravità.

  • Nodi del sistema operativo Linux di Azure: Azure Linux fornisce il servizio Azure Kubernetes con build del sistema operativo e tutti gli aggiornamenti della sicurezza disponibili già applicati.

Immagini dei contenitori del servizio Azure Kubernetes

Benché Cloud Native Computing Foundation (CNF) possieda e gestisca la maggior parte delle esecuzioni del codice del servizio Azure Kubernetes, Microsoft è responsabile della creazione dei pacchetti open source distribuiti nel servizio Azure Kubernetes. Tale responsabilità include la proprietà completa del processo di compilazione, analisi, firma, convalida e hotfix, nonché il controllo sui file binari nelle immagini del contenitore. Avere la responsabilità di creare i pacchetti open source distribuiti nel servizio Azure Kubernetes consente di stabilire una catena di approvvigionamento di software per file binari e di applicare patch al software in base alle esigenze.  

Microsoft è attiva nel più ampio ecosistema Kubernetes allo scopo di contribuire a creare il futuro del calcolo nativo del cloud nella più ampia community CNCF. Questo lavoro non solo garantisce la qualità di ogni versione di Kubernetes rilasciata a livello globale, ma ha consentito anche al servizio Azure Kubernetes di produrre rapidamente nuove versioni di Kubernetes per diversi anni. In alcuni casi, diversi mesi prima di altri provider di servizi cloud. Microsoft collabora con altri partner del settore nell'organizzazione di sicurezza Kubernetes. Ad esempio, il Security Response Committee (SRC) riceve, assegna priorità alle vulnerabilità di sicurezza e applica patch alle vulnerabilità di sicurezza, soggette a embargo, prima che vengano annunciate al pubblico. Questo impegno garantisce che Kubernetes sia sicuro per tutti e consente al servizio Azure Kubernetes di applicare patch e rispondere più rapidamente alle vulnerabilità per garantire la sicurezza dei clienti. Oltre a Kubernetes, Microsoft ha aderito alla ricezione di notifiche non definitive relative alle vulnerabilità software per prodotti come Envoy, runtime dei contenitori e molti altri progetti open source.

Microsoft analizza le immagini dei contenitori usando l'analisi statica per individuare le vulnerabilità e gli aggiornamenti mancanti in Kubernetes e nei contenitori gestiti da Microsoft. Se sono disponibili correzioni, lo strumento di analisi avvia automaticamente il processo di aggiornamento e rilascio.

Oltre all'analisi automatizzata, Microsoft individua e aggiorna le vulnerabilità sconosciute agli strumenti di analisi nei modi seguenti:

  • Microsoft esegue direttamente controlli, test di penetrazione e individuazione delle vulnerabilità in tutte le piattaforme del servizio Azure Kubernetes. Team specializzati di Microsoft e dei fornitori di sicurezza di terze parti attendibili eseguono le proprie ricerche sugli attacchi.

  • Microsoft interagisce attivamente con la community di ricerca sulla sicurezza tramite più programmi di ricompensa connessi alle vulnerabilità. Un programma Microsoft Azure Bounty dedicato offre notevoli ricompense per la migliore vulnerabilità del cloud rilevata ogni anno.

  • Microsoft collabora con altri partner software open source e del settore che condividono vulnerabilità, ricerche sulla sicurezza e aggiornamenti prima del rilascio pubblico della vulnerabilità. L'obiettivo di questa collaborazione è aggiornare ampi settori dell'infrastruttura Internet prima che la vulnerabilità venga annunciata al pubblico. In alcuni casi, Microsoft contribuisce alle vulnerabilità rilevate in questa community.

  • La collaborazione in materia di sicurezza di Microsoft avviene a molti livelli. A volte in modo informale tramite programmi a cui le organizzazioni si iscrivono per ricevere notifiche non definitive sulle vulnerabilità software per prodotti come Kubernetes e Docker. La collaborazione avviene in modo informale anche a causa del coinvolgimento dell’azienda in molti progetti open source, ad esempio il kernel Linux, i runtime dei contenitori, la tecnologia di virtualizzazione e altri ancora.

Nodi di lavoro

Nodi Linux

Per impostazione predefinita gli aggiornamenti della sicurezza del sistema operativo notturni canonici sono disattivati nel servizio Azure Kubernetes. Per abilitarli in modo esplicito, usare il canale unmanaged.

Se si usa il canale unmanaged, i canonici aggiornamenti di sicurezza notturni vengono applicati al sistema operativo nel nodo. L'immagine del nodo usata per creare nodi per il cluster è rimasta invariata. Se viene aggiunto un nuovo nodo Linux al cluster, l'immagine originale viene usata per creare il nodo. Questo nuovo nodo riceve tutti gli aggiornamenti della sicurezza e del kernel disponibili durante la valutazione automatica notturna, ma le patch vengono applicate solo dopo il completamento di tutti i controlli e i riavvii. È possibile usare l'aggiornamento dell'immagine del nodo per verificare la presenza e aggiornare le immagini del nodo usate dal cluster. Per altre informazioni sull'aggiornamento dell’immagine del nodo, vedere Aggiornamento dell'immagine del nodo del servizio Azure Kubernetes.

Il processo di aggiornamento automatico è disabilitato per i cluster del servizio Azure Kubernetes che usano un canale diverso da unmanaged.

Nodi di Windows Server

Windows Update non viene eseguito automaticamente e non applica gli aggiornamenti più recenti per i nodi di Windows Server. Pianificare gli aggiornamenti del pool di nodi di Windows Server nel cluster del servizio Azure Kubernetes in corrispondenza del normale ciclo di rilascio di Windows Update e del proprio processo di gestione degli aggiornamenti. Il processo di aggiornamento crea nodi che eseguono l'immagine e le patch di Windows Server più recenti, successivamente rimuove i nodi meno recenti. Per altre informazioni su questo processo, vedere Aggiornare un pool di nodi nel servizio Azure Kubernetes.

Come vengono classificate le vulnerabilità

Microsoft investe molto nella protezione avanzata dell'intero stack, tra cui il sistema operativo, il contenitore, Kubernetes e i livelli di rete, nonché nella configurazione di impostazioni predefinite valide e nell’offerta di configurazioni e componenti gestiti con protezione avanzata. Insieme, questi sforzi aiutano a ridurre l'impatto e la probabilità delle vulnerabilità.

Il team del servizio Azure Kubernetes classifica le vulnerabilità in base al sistema di assegnazione dei punteggi delle vulnerabilità di Kubernetes. Le classificazioni prendono in considerazione molti fattori, tra cui la configurazione del servizio Azure Kubernetes e la protezione avanzata. A seguito di questo approccio e degli investimenti effettuati dal servizio Azure Kubernetes in termini di sicurezza, le classificazioni delle vulnerabilità del servizio Azure Kubernetes potrebbero differire da altre origini di classificazione.

La tabella seguente descrive le categorie di gravità della vulnerabilità:

Gravità Descrizione
Critico Una vulnerabilità che può essere facilmente sfruttata in tutti i cluster da un utente malintenzionato remoto non autenticato e che causa una compromissione completa del sistema.
Alta Una vulnerabilità che può essere facilmente sfruttata in molti cluster e che causa la perdita di riservatezza, integrità o disponibilità.
Medio Una vulnerabilità che può essere sfruttata in alcuni cluster in cui la perdita di riservatezza, integrità o disponibilità è limitata dall’implementazione di configurazioni comuni, da difficoltà riconducibili all’exploit stesso, da una richiesta di accesso o dall’interazione dell'utente.
Basso Tutte le altre vulnerabilità. Lo sfruttamento è improbabile o le conseguenze dello sfruttamento sono limitate.

Come vengono aggiornate le vulnerabilità

Il servizio Azure Kubernetes applica patch a vulnerabilità ed esposizioni comuni (CVE) che prevedono una correzione del fornitore settimanale. Le CVE senza una correzione sono in attesa di una "correzione del fornitore" per la risoluzione. Le immagini del contenitore fisse vengono memorizzate nella cache nella successiva build del disco rigido virtuale (VHD) corrispondente, che contiene anche le CVE aggiornate con patch di Ubuntu/Azure Linux/Windows. Fintanto che il disco rigido virtuale in esecuzione è aggiornato, non è consigliabile eseguire CVE di immagini di contenitori con una correzione del fornitore anteriore a 30 giorni.

Per le vulnerabilità basate sul sistema operativo nel disco rigido virtuale, per impostazione predefinita il servizio Azure Kubernetes si basa anche sugli aggiornamenti del disco rigido virtuale dell'immagine del nodo, in modo che tutti gli aggiornamenti della sicurezza vengano rilasciati con le versioni settimanali dell'immagine del nodo. Gli aggiornamenti automatici sono disabilitati a meno che non si passi alla modalità “non gestito” che non è consigliabile perché il rilascio è globale.

Aggiornare la tempistica del rilascio

L'obiettivo di Microsoft è ridurre le vulnerabilità rilevate entro un periodo di tempo appropriato per i rischi che rappresentano. L'autorizzazione provvisoria al funzionamento (P-ATO) FedRAMP High di Microsoft Azure include il servizio Azure Kubernetes nell'ambito di controllo ed è stata autorizzata. La guida alla strategia di monitoraggio continuo di FedRAMP e le baseline di controllo della sicurezza FedRAMP Low, Moderate e High richiedono la correzione delle vulnerabilità note entro un periodo di tempo specifico, a seconda del livello di gravità. Come specificato in FedRAMP RA-5d.

Come vengono comunicate le vulnerabilità e gli aggiornamenti

In generale, Microsoft non comunica sostanzialmente la versione delle nuove versioni delle patch per il servizio Azure Kubernetes. Tuttavia, il servizio Azure Kubernetes monitora e convalida costantemente le patch CVE disponibili per fornire un supporto tempestivo nel servizio Azure Kubernetes. Se viene trovata una patch critica o è necessaria un'azione da parte dell'utente, Microsoft pubblica e aggiorna i dettagli del problema CVE in GitHub.

Segnalazioni per la sicurezza

È possibile segnalare un problema di sicurezza a Microsoft Security Response Center (MSRC), creando un report sulla vulnerabilità.

Se si preferisce inviare un report senza accedere allo strumento, inviare un messaggio di posta elettronica a secure@microsoft.com. Se possibile, crittografare il messaggio con la chiave PGP scaricandola dalla pagina delle chiavi PGP di Microsoft Security Response Center.

La risposta viene inviata in genere entro 24 ore. Se per qualche motivo non si riceve una risposta, inviare un messaggio di posta elettronica per verificare che abbiamo ricevuto il messaggio originale. Per altre informazioni, visitare Microsoft Security Response Center.

Includere le informazioni richieste seguenti (per quanto possibile) per aiutarci a comprendere meglio la natura e l'ambito del possibile problema:

  • Tipo di problema (ad esempio, overflow del buffer, injection SQL, scripting intersito e così via)
  • Percorsi completi dei file di origine correlati alla manifestazione del problema
  • La posizione del codice sorgente interessato (tag/ramo/commit o URL diretto)
  • Qualsiasi configurazione speciale necessaria per riprodurre il problema
  • Istruzioni dettagliate per riprodurre il problema
  • Modello di verifica o codice exploit (se possibile)
  • Impatto del problema, incluso il modo in cui un utente malintenzionato potrebbe sfruttarlo

Queste informazioni consentono di valutare più rapidamente il problema di sicurezza segnalato.

I report più completi di segnalazioni effettuate nell’ambito del programma Bug Bounty possono contribuire ad aumentare la taglia dei premi. Per altre informazioni sui programmi attivi, vedere Programma Microsoft Bug Bounty.

Criteri

Microsoft segue il principio della divulgazione coordinata di vulnerabilità.

Passaggi successivi

Vedere la panoramica sull’aggiornamento dei cluster e dei pool di nodi del servizio Azure Kubernetes.