Specificare i requisiti di sicurezza per i contenitori e per l'orchestrazione dei contenitori
Questa unità riepiloga la baseline di sicurezza di Azure per il servizio Azure Kubernetes. Per le aree in cui sono presenti molti controlli, sono stati inclusi solo i primi cinque menzionati.
Per altre informazioni su Microsoft Cloud Security Benchmark, vedere Introduzione all'architettura di riferimento per la cybersecurity e al benchmark per la sicurezza del cloud di Microsoft.
Nella tabella seguente sono inclusi i controlli della baseline completa in cui:
- I controlli di sicurezza erano supportati ma non abilitati per impostazione predefinita
- Erano presenti indicazioni esplicite che contenevano le azioni da intraprendere da parte del cliente
Area | Controllo | Riepilogo delle indicazioni |
---|---|---|
Sicurezza di rete | 1.1: Proteggere le risorse di Azure all'interno delle reti virtuali | Per impostazione predefinita, un gruppo di sicurezza di rete e una tabella di route vengono creati automaticamente con la creazione di un cluster del servizio Microsoft Azure Kubernetes. Il servizio Azure Kubernetes modifica automaticamente i gruppi di sicurezza di rete per il flusso di traffico appropriato man mano che vengono creati servizi con bilanciamento del carico, mapping delle porte o route in ingresso. |
1.2: Monitorare e registrare la configurazione e il traffico di reti virtuali, subnet e schede di interfaccia di rete | Usare Microsoft Defender per il cloud e seguire le raccomandazioni relative alla protezione della rete per proteggere le risorse di rete usate dai cluster servizio Azure Kubernetes. | |
1.3: Proteggere le applicazioni Web critiche | Usare un web application firewall (WAF) abilitato per il gateway applicazione di Azure davanti a un cluster del servizio Azure Kubernetes per offrire un livello aggiuntivo di sicurezza filtrando il traffico in ingresso verso le applicazioni Web. Azure WAF usa un set di regole, fornito da Open Web Application Security Project (OWASP), per attacchi come cross site scripting o cookie poisoning contro questo traffico. | |
1.4: Rifiutare le comunicazioni con indirizzi IP dannosi noti | Abilitare la protezione DDoS (Distributed Denial of Service) Standard Microsoft nelle reti virtuali in cui vengono distribuiti i componenti del servizio Azure Kubernetes per la protezione da attacchi DDoS. | |
1.5: Registrare pacchetti di rete | Usare l'acquisizione pacchetti di Network Watcher se necessario per analizzare le attività anomale. | |
Registrazione e monitoraggio | 2.1: Utilizzare origini di sincronizzazione dell'ora approvate | I nodi del servizio Azure Kubernetes usano ntp.ubuntu.com per la sincronizzazione dell'ora, insieme alla porta UDP 123 e al protocollo NTP (Network Time Protocol). |
2.2: Configurare la gestione centralizzata dei log di sicurezza | Abilitare i log di controllo dei componenti master del servizio Azure Kubernetes, kube-apiserver e kube-controller-manager, forniti come servizio gestito. | |
2.3: Abilitare la registrazione di controllo per le risorse di Azure | Usare i log attività per monitorare le azioni eseguite sulle risorse del servizio Azure Kubernetes (servizio Azure Kubernetes) in modo da visualizzare tutte le attività e il relativo stato. | |
2.4: Raccogliere i log di sicurezza dai sistemi operativi | Abilitare l'installazione automatica degli agenti di Log Analytics per la raccolta dei dati dai nodi del cluster del servizio Azure Kubernetes. Inoltre, attivare il provisioning automatico dell'agente di Monitoraggio di Azure di Log Analytics da Microsoft Defender per il cloud, perché per impostazione predefinita il provisioning automatico è disattivato. | |
2.5: Configurare la conservazione dell'archiviazione dei log di sicurezza | Eseguire l'onboarding delle istanze di servizio Azure Kubernetes in Monitoraggio di Azure e impostare il periodo di conservazione dell'area di lavoro Log Analytics corrispondente in base ai requisiti di conformità dell'organizzazione. | |
Gestione delle identità e controllo di accesso | 3.1: Gestire un inventario degli account amministrativi | Il servizio Azure Kubernetes si per sé non fornisce una soluzione di gestione delle identità in cui vengono archiviati i normali account utente e le password. Con l'integrazione di Microsoft Entra, è possibile concedere agli utenti o ai gruppi l'accesso alle risorse Kubernetes all'interno di uno spazio dei nomi o all'interno del cluster. |
3.2: Modificare le password predefinite, se applicabile | Il servizio Azure Kubernetes non prevede il concetto delle password predefinite comuni e non fornisce una soluzione di gestione delle identità in cui vengono archiviati i normali account utente e le password. Con l'integrazione di Microsoft Entra, è possibile concedere l'accesso in base al ruolo alle risorse del servizio Azure Kubernetes all'interno di uno spazio dei nomi o all'interno del cluster. | |
3.3: Usare account amministrativi dedicati | Integrare l'autenticazione utente per i cluster del servizio Azure Kubernetes con Microsoft Entra ID. Accedere a un cluster del servizio Azure Kubernetes usando un token di autenticazione Microsoft Entra. | |
3.4: Usare l'accesso Single Sign-On (SSO) con Microsoft Entra ID | Usare l'accesso Single Sign-On per il servizio Azure Kubernetes con l'autenticazione integrata di Microsoft Entra per un cluster del servizio Azure Kubernetes. | |
3.5: Usare l'autenticazione a più fattori per tutti gli accessi in base all'ID di Microsoft Entra | Integrare l'autenticazione per il servizio Azure Kubernetes con Microsoft Entra ID. | |
Protezione dei dati | 4.1: Gestire un inventario delle informazioni riservate | Indicazioni: usare i tag sulle risorse correlate alle distribuzioni del servizio Azure Kubernetes per facilitare il rilevamento delle risorse di Azure che archiviano o elaborano informazioni riservate. |
4.2: Isolare i sistemi che archiviano o elaborano informazioni riservate | Isolare a livello logico i team e i carichi di lavoro nello stesso cluster con il servizio Azure Kubernetes per fornire il minor numero di privilegi, con ambito impostato sulle risorse richieste da ogni team. | |
4.3: Monitorare e bloccare il trasferimento non autorizzato di informazioni sensibili | Usare una soluzione di terze parti presa da Azure Marketplace nei perimetri di rete per monitorare e bloccare il trasferimento non autorizzato di informazioni riservate avvisando al tempo stesso i professionisti della sicurezza delle informazioni. | |
4.4: Crittografare tutte le informazioni riservate in transito | Creare un controller di ingresso HTTPS e usare i propri certificati TLS (o facoltativamente Let's Encrypt) per le distribuzioni del servizio Azure Kubernetes. | |
4.5: Usare uno strumento di individuazione attivo per identificare i dati sensibili | Le funzionalità di identificazione, classificazione e prevenzione della perdita dei dati non sono ancora disponibili per Archiviazione di Azure o per le risorse di calcolo. Implementare una soluzione di terze parti, se necessaria ai fini della conformità. Microsoft gestisce la piattaforma sottostante e tratta tutti i contenuti dei clienti come dati sensibili, impegnandosi attivamente a proteggerli da perdita ed esposizione. | |
Gestione della vulnerabilità | 5.1: Eseguire strumenti di analisi automatizzata delle vulnerabilità | Usare Microsoft Defender per il cloud per monitorare Registro Azure Container, incluse le istanze del servizio Azure Kubernetes e individuare eventuali vulnerabilità. Abilitare il bundle Registri contenitori in Microsoft Defender per il cloud per assicurarsi che Microsoft Defender per il cloud sia pronto per analizzare le immagini di cui viene eseguito il push nel registro. |
5.2: Distribuire una soluzione di gestione automatica delle patch del sistema operativo | Gli aggiornamenti della sicurezza vengono applicati automaticamente ai nodi Linux per proteggere i cluster del servizio Azure Kubernetes del cliente. Questi aggiornamenti includono correzioni della sicurezza del sistema operativo o gli aggiornamenti del kernel. Si noti che il processo per mantenere aggiornati i nodi di Windows Server è diverso da quello per i nodi che eseguono Linux, perché i nodi di Windows Server non ricevono aggiornamenti quotidiani. | |
5.3: Distribuire una soluzione automatizzata di gestione delle patch per il software di terze parti | Implementare un processo manuale per garantire che le applicazioni di terze parti del nodo del cluster del servizio Azure Kubernetes rimangano coperte da patch per la durata del cluster. Ciò può richiedere l'abilitazione degli aggiornamenti automatici, il monitoraggio dei nodi o l'esecuzione di riavvii periodici. | |
5.4: Confrontare le analisi di vulnerabilità back-to-back | Esportare i risultati dell'analisi di Microsoft Defender per il cloud a intervalli regolari e confrontarli tra loro per verificare che le vulnerabilità siano state risolte. | |
5.5: Usare un processo di classificazione dei rischi per classificare in ordine di priorità la correzione delle vulnerabilità individuate | Usare la classificazione di gravità fornita da Microsoft Defender per il cloud per classificare in ordine di priorità la correzione delle vulnerabilità. | |
Gestione asset e inventario | 6.1: Usare una soluzione automatizzata di individuazione degli asset | Usare Azure Resource Graph per eseguire query e individuare tutte le risorse, ad esempio calcolo, archiviazione, rete e così via, all'interno delle sottoscrizioni. Assicurarsi di avere le autorizzazioni (di lettura) appropriate nel tenant e di poter enumerare tutte le sottoscrizioni di Azure e le risorse al loro interno. |
6.2: Gestire i metadati degli asset | Applicare i tag alle risorse di Azure che contengono metadati per organizzarle in modo logico in categorie in una tassonomia. | |
6.3: Eliminare risorse di Azure non autorizzate | Usare l'assegnazione di tag, i gruppi di gestione e sottoscrizioni separate, laddove appropriato, per organizzare e tenere traccia delle risorse. | |
6.4: Definire e gestire l'inventario delle risorse di Azure approvate | Definire un elenco delle risorse di Azure approvate e del software approvato per le risorse di calcolo in base alle esigenze aziendali dell'organizzazione. | |
6.5: Monitorare le risorse di Azure non approvate | Usare Criteri di Azure per applicare restrizioni al tipo di risorse che è possibile creare nelle sottoscrizioni dei clienti usando le definizioni dei criteri predefinite seguenti: Tipi di risorse non consentiti, Tipi di risorse consentiti | |
Configurazione sicura | 7.1: Stabilire configurazioni sicure per tutte le risorse di Azure | Usare gli alias di Criteri di Azure nello spazio dei nomi "Microsoft.ContainerService" per creare criteri personalizzati per controllare o applicare la configurazione delle istanze del servizio Azure Kubernetes. Usare le definizioni predefinite di Criteri di Azure. |
7.2: Stabilire configurazioni sicure del sistema operativo | I cluster del servizio Azure Kubernetes vengono distribuiti in macchine virtuali host con un sistema operativo ottimizzato per la sicurezza. Il sistema operativo host incorpora ulteriori passaggi di protezione avanzata per ridurre la superficie di attacco e consente la distribuzione di contenitori in modo sicuro. | |
7.3: Mantenere le configurazioni sicure delle risorse di Azure | Proteggere il cluster del servizio Azure Kubernetes usando i criteri di sicurezza dei pod. Limitare i pod che possono essere pianificati per migliorare la sicurezza del cluster. | |
7.4: Mantenere configurazioni sicure del sistema operativo | I cluster del servizio Azure Kubernetes vengono distribuiti in macchine virtuali host con un sistema operativo ottimizzato per la sicurezza. Il sistema operativo host incorpora ulteriori passaggi di protezione avanzata per ridurre la superficie di attacco e consente la distribuzione di contenitori in modo sicuro. | |
7.5: Archiviare in modo sicuro la configurazione delle risorse di Azure | Usare Azure Repos per archiviare e gestire in modo sicuro le configurazioni se si usano definizioni personalizzate di Criteri di Azure. Esportare un modello della configurazione del servizio Azure Kubernetes in JSON (JavaScript Object Notation) con Azure Resource Manager. | |
Difesa da malware | 8.1: Usare software antimalware gestito in modo centralizzato | Il servizio Azure Kubernetes gestisce il ciclo di vita e le operazioni dei nodi agente per conto dei clienti; la modifica delle risorse IaaS associate ai nodi agente non è supportata. Tuttavia, per i nodi Linux è possibile usare set di daemon per installare software personalizzato, ad esempio una soluzione antimalware. |
8.2: Eseguire la pre-analisi dei file da caricare in risorse di Azure non di calcolo | Preanalizzare tutti i file caricati nelle risorse del servizio Azure Kubernetes. Usare il rilevamento delle minacce di Microsoft Defender per il cloud per i servizi dati, per rilevare il malware caricato negli account di archiviazione, se si usa un account di archiviazione di Azure come archivio dati, o per tenere traccia dello stato di Terraform per il cluster del servizio Azure Kubernetes. | |
8.3: Assicurarsi che il software antimalware e le relative firme siano aggiornate | Il servizio Azure Kubernetes gestisce il ciclo di vita e le operazioni dei nodi agente per conto dei clienti; la modifica delle risorse IaaS associate ai nodi agente non è supportata. Tuttavia, per i nodi Linux è possibile usare set di daemon per installare software personalizzato, ad esempio una soluzione antimalware. | |
Ripristino dei dati | 9.1: Garantire l'esecuzione regolare di backup automatizzati | Eseguire il backup dei dati usando uno strumento appropriato per il tipo di archiviazione, ad esempio Velero, che può eseguire il backup di volumi persistenti insieme ad altre risorse e configurazioni del cluster. Verificare periodicamente l'integrità e la sicurezza di tali backup. |
9.2: Eseguire backup completi del sistema e il backup di tutte le chiavi gestite dal cliente | Eseguire il backup dei dati usando uno strumento appropriato per il tipo di archiviazione, ad esempio Velero, che può eseguire il backup di volumi persistenti insieme ad altre risorse e configurazioni del cluster. | |
9.3: Convalidare tutti i backup che includono chiavi gestite dal cliente | Eseguire periodicamente il ripristino dei dati del contenuto all'interno di Velero Backup. Se necessario, testare il ripristino in una rete virtuale isolata. | |
9.4: Garantire la protezione dei backup e delle chiavi gestite dal cliente | Eseguire il backup dei dati usando uno strumento appropriato per il tipo di archiviazione, ad esempio Velero, che può eseguire il backup di volumi persistenti insieme ad altre risorse e configurazioni del cluster. | |
Risposta all'incidente | 10.1: Creare una guida per la risposta agli eventi imprevisti | Creare una guida per rispondere agli eventi imprevisti per la propria organizzazione. Assicurasi che siano stati scritti piani di risposta agli eventi imprevisti che definiscono tutti i ruoli del personale, nonché le fasi di gestione degli eventi imprevisti, dal rilevamento alla verifica post-evento imprevisto. |
10.2: Creare una procedura di assegnazione dei punteggi e assegnazione di priorità agli eventi imprevisti | Assegnare una priorità agli avvisi che devono essere analizzati per primi con la gravità assegnata da Microsoft Defender per il cloud agli avvisi. Il livello di gravità è basato sul grado di attendibilità di Microsoft Defender per il cloud nell'individuazione o nell'analisi usata per generare l'avviso, oltre che sul grado di attendibilità con cui si ritiene che vi sia un intento dannoso alla base dell'attività che ha generato l'avviso. | |
10.3: Testare le procedure di risposta alla sicurezza | Eseguire esercitazioni a cadenza regolare per testare le funzionalità di risposta agli eventi imprevisti dei sistemi. Identificare i punti deboli e le lacune e rivedere il piano di risposta agli eventi imprevisti se necessario. | |
10.4: Fornire i dettagli di contatto degli eventi imprevisti di sicurezza e configurare le notifiche di avviso per gli eventi imprevisti di sicurezza | Le informazioni di contatto per gli eventi imprevisti della sicurezza verranno usate da Microsoft per contattare il cliente se il Microsoft Security Response Center (MSRC) rileva che un'entità illegale o non autorizzata ha effettuato l'accesso ai suoi dati. | |
10.5: Incorporare gli avvisi di sicurezza nel sistema di risposta agli eventi imprevisti | Esportare gli avvisi e le raccomandazioni di Microsoft Defender per il cloud usando la funzionalità di esportazione continua. Tale funzionalità consente di esportare avvisi e raccomandazioni manualmente o in modo continuativo. | |
Test di penetrazione ed esercizi Red Team | 11.1: Eseguire con regolarità test di penetrazione delle risorse di Azure e garantire la correzione di tutti i risultati critici per la sicurezza | Seguire le Microsoft Rules of Engagement per assicurarsi che i propri test di penetrazione non violino i criteri Microsoft. |