Il nuovo metodo per mantenere aggiornate le macchine virtuali Windows in Azure

Le comuni pratiche in materia di sicurezza informatica aziendale prevedono l’applicazione tempestiva degli aggiornamenti software in grado di eliminare le vulnerabilità che consento l’attuazione di specifici attacchi informatici ai sistemi aziendali. Per facilitare l’applicazione delle patch alle macchine virtuali dislocate in Azure, Microsoft ha recentemente annunciato la disponibilità di una nuova funzionalità denominata “Automatic VM guest patching”. In questo articolo vengono riportate le caratteristiche e le peculiarità di questa soluzione che aiuta a semplificare la gestione degli aggiornamenti e a raggiungere la conformità in ambito sicurezza.

Le principali caratteristiche di Automatic VM guest patching sono le seguenti:

  • Vengono automaticamente scaricate ed applicate sulle macchine virtuali in Azure le patch classificate come critiche oppure di sicurezza.
  • Le patch vengono applicate durante le ore non di punta considerando il fuso orario impostato sulla macchina virtuale.
  • L’orchestrazione delle patch è gestita dalla piattaforma Azure e le patch vengono applicate tenendo in considerazione i principi della disponibilità nativi di Azure.
  • Lo stato di salute della macchina virtuale, determinata tramite segnali di health della piattaforma Azure, viene monitorato per rilevare eventuali errori nell’applicazione delle patch.
  • Funziona per tutte le macchine virtuali Windows, indipendentemente dal size configurato.

Modalità di installazione degli aggiornamenti sulle macchine virtuali Windows

Le macchine virtuali Windows di Azure, grazie all’introduzione di questa nuova funzionalità, supportano tre differenti modalità per l’installazione degli aggiornamenti:

  • Automatico gestito dal sistema operativo (Automatic Updates). Si tratta del metodo di default impostato per le macchine virtuali Windows.
  • Automatico gestito dalla piattaforma Azure. Si tratta della modalità recentemente introdotta e descritta in questo articolo. Questa modalità prevede la disabilitazione degli aggiornamenti automatici a bordo della macchina virtuale. Abilitando questa modalità nella macchina virtuale sarà installata l’extension CPlat.Core.WindowsPatchExtension, totalmente gestita dalla piattaforma Azure.
  • Manuale. Questa modalità, configurata quando vengono adottate soluzioni differenti per il patching dei sistemi, prevede la disabilitazione degli Automatic Updates.
Figura 1 – Scelte per l’installazione delle patch in fase di creazione di una nuova VM

Requisiti

L’abilitazione della funzionalità Automatic VM guest patching richiede che siano rispettati i seguenti requisiti sulla macchina virtuale:

  • Deve essere installato l’Azure VM Agent.
  • Il servizio Windows Update deve essere in esecuzione.
  • Devono essere raggiungibili gli endpoint di Windows Update oppure del server Windows Server Update Services (WSUS).
  • Le Compute API devono essere della versione 2020-06-01 oppure superiore.

Come funziona il meccanismo di aggiornamento automatico?

Abilitando la funzionalità Automatic VM guest patching vengono scaricate e applicate automaticamente sul sistema esclusivamente le patch classificate come critiche e di sicurezza. Questo processo di aggiornamento periodico inizia automaticamente ogni mese quando vengono rilasciate nuove patch tramite Windows Update. Il meccanismo di scansione garantisce che tutte le patch mancanti sul sistema vengano scoperte il prima possibile, mentre l’installazione degli aggiornamenti può avvenire in qualsiasi giorno durante le ore non di punta, ed avviene entro 30 giorni dal rilascio mensile degli aggiornamenti da parte di Microsoft. Questo aspetto implica che non si ha un controllo completo sul momento dell’installazione degli aggiornamenti. Il processo di aggiornamento prevede anche il riavvio della macchina virtuali qualora sia richiesto dall’applicazione delle patch.

Il processo di installazione della patch è orchestrato a livello globale da Azure per tutte le macchine virtuali sulle quali è abilitata la funzionalità Automatic VM guest patching e vengono contemplati i principi di disponibilità forniti da Azure.

Per un gruppo di macchine virtuali coinvolte dal processo di aggiornamento, la piattaforma Azure orchestrerà gli aggiornamenti tenendo in considerazione i seguenti principi.

Distribuzione trasversale degli aggiornamenti sulle regions:

  • Per evitare errori a livello globale nella distribuzione degli aggiornamenti, saranno rilasciati in modo graduale sulle differenti region.
  • Una fase di aggiornamento può interessare una o più region e si passa alle fasi successive solo se gli aggiornamenti si completano con esito positivo.
  • Le geo-paired regions non vengono mai aggiornate nella stessa fase per evitare la contemporaneità nell’installazione degli aggiornamenti.

Distribuzione degli aggiornamenti all’interno di una region:

  • Le VMs che risiedono in differenti Availability Zones non vengono aggiornate contemporaneamente.
  • Le VMs che non fanno parte di un Availability Zones vengono raggruppate cercando di evitare che gli aggiornamenti siano distribuiti simultaneamente su tutte le VMs appartenenti ad una specifica subscription.

Distribuzione degli aggiornamenti all’interno di una Availability Zone:

  • Le VMs appartenenti allo stesso Availability Zones non vengono aggiornate contemporaneamente e gli aggiornamenti saranno installati rispettando il principio degli Update Domain.

Conclusioni

Questo nuovo metodo fornito dalla piattaforma Azure permette di mantenere aggiornati i sistemi Windows in modo semplice, diretto e con un effort amministrativo molto ridotto. Spesso però si ha l’esigenza di avere un controllo molto maggiore per quanto riguarda la distribuzione degli aggiornamenti sui sistemi e in ambito Azure è possibile adottare la soluzione alternativa e più completa denominata Update Management. Questa soluzione, rispetto alla funzionalità Automatic VM guest patching, consente di avere una visibilità totale sulla compliance degli update sia per sistemi Windows che Linux e permette di schedulare i deployment per l’installazione degli update definendo delle specifiche finestre di manutenzione.