Una SOP di patch management ben definita è obbligatoria per qualsiasi organizzazione e no, non si tratta un’esagerazione o di una frase clickbait. Abbiamo discusso in modo approfondito del patch management in diversi altri articoli (troverai i link alla fine di questo articolo). In questa guida ci concentriamo sulla creazione di una SOP di patch management per MSP, in particolare per ambienti Windows e macOS, e per applicazioni di terze parti.
Questo articolo si propone di aiutarti a stabilire un processo di patching ripetibile, scalabile e sicuro per gli endpoint in gestione, con dettagli tecnici di implementazione per l’automazione, l’auditing e la conformità.
📌 Strategie di implementazione consigliate:
Clicca per scegliere un metodo | 💻 Più adatto per utenti individuali | 💻💻💻 Più adatto per ambienti enterprise |
| Metodo 1: Scripting manuale | ✓ | |
| Metodo 2: Criteri di gruppo e registro di sistema (solo Windows) | ✓ | |
| Metodo 3: Piattaforme RMM, come NinjaOne | ✓ | ✓ |
Una nota sulla scelta di un metodo e sul rispetto delle fasi della SOP
Prima di continuare, è essenziale capire la differenza tra i metodi di implementazione e le fasi della SOP. Pur lavorando insieme, hanno scopi diversi.
Le fasi sono ciò che si fa nella SOP. Si tratta di azioni universali da seguire in qualsiasi processo di gestione delle patch.
I metodi sono come si implementa una SOP. Si tratta di approcci di implementazione basati sugli strumenti, sulle dimensioni dell’ambiente e sulla configurazione tecnica. Le strategie di implementazione riportate di seguito riflettono i metodi disponibili per l’esecuzione di una SOP di patch management efficace. Tieni presente che devi scegliere solo un metodo (per esempio una piattaforma RMM), optando per quello che si adatta meglio al tuo ambiente.
Vale anche la pena di notare che ci saranno sovrapposizioni di fasi e metodi.
📌 Prerequisiti:
- I dispositivi devono essere registrati in una piattaforma RMM, MDM o in una soluzione centralizzata di patching.
- Privilegi di amministratore sugli endpoint di destinazione.
- Accesso Internet per i servizi di aggiornamento dei fornitori (Microsoft, Apple, fornitori di app di terze parti)
- PowerShell 5.1 o versioni successive su Windows (verificare la versione di PowerShell)
- Accesso al terminale o alla shell su endpoint macOS
- Opzionale: Accesso a WSUS, JAMF, Munki o uno strumento multipiattaforma come NinjaOne
Creare una SOP di patch management: Guida passo per passo
Fase 1: Inventario e classificazione degli obiettivi delle patch
Non puoi applicare una patch a ciò che non conosci. In questa fase, rileverai tutti gli endpoint dell’ambiente e li classificherai per tipo di sistema operativo, versione e versione installata.
Per Windows
- Apri PowerShell.
- Esegui questo comando:
Get-HotFix
systeminfo | findstr /B /C:”OS Name” /C:”OS Version”
Per macOS
- Esegui questo comando:
sw_vers
softwareupdate –history
ls /Applications
Per le applicazioni di terze parti
- Su Windows:
Get-WmiObject -Class Win32_Product | Select-Object Name, Version - Su macOS:
Use ls /Applications or Munki to inventory
💡 Suggerimento: Etichetta gli endpoint in base al gruppo di patch o alla criticità, per distribuire gli aggiornamenti in modo efficiente.
Fase 2: Definire le categorie di patch e la frequenza
Ora devi classificare le patch e definire la frequenza di applicazione di ciascun tipo di aggiornamento.
| Categoria | Frequenza (consigliata) | Obiettivi |
| Aggiornamenti critici per la sicurezza | Settimanale | Tutti gli endpoint |
| Patch cumulative del sistema operativo | Mensile | Dispositivi Windows e macOS |
| Aggiornamenti di funzionalità | Trimestrale | In base alle necessità o all’approvazione del cliente |
| Applicazioni di terze parti | Settimanale | Esempi: browser, Java, Zoom, Adobe |
💡 Suggerimento: Utilizza strumenti come NinjaOne per impostare la tempistica dell’applicazione delle patch.
Passo 3: Attivare gli aggiornamenti di Windows
L’attivazione degli aggiornamenti di Windows è un modo semplice ed efficace per ridurre l’errore umano, soprattutto se si gestisce un parco dispositivi di grandi dimensioni. Abbiamo elencato alcuni metodi da provare, ma abbiamo preso nota dei passaggi che automatizzano veramente il processo e di quelli che forniscono un’esecuzione unica di un aggiornamento di Windows.
Tramite PowerShell – Aggiornamento una tantum
- Apri PowerShell.
- Esegui questo comando:
Install-Module PSWindowsUpdate
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
Tramite il percorso dei Criteri di gruppo – Automazione completa
- Premi la combinazione di tasti Win + R, digita gpedit.msc e clicca su Invio.
- Vai su Configurazione del computer > Modelli amministrativi > Componenti di Windows > Windows Update.
- Abilita:
- Configura gli aggiornamenti automatici
- Giorno/ora di installazione pianificata
- Nessun riavvio automatico con utenti connessi
💡 Nota: A seconda della versione di Windows, questi criteri possono essere visualizzati in sottocartelle quali Criteri legacy, Utenti finali gestiti o Aggiornamenti gestiti all’interno della cartella Windows Update.
Tramite Registro di sistema – Automazione completa
⚠️ Attenzione: Assicurati di eseguire un backup del Registro di sistema prima di procedere. Configurazioni errate possono causare instabilità del sistema.
- Premi la combinazione di tasti Win + R, digita regedit e clicca su Invio.
- Seleziona: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU
- Imposta i valori come:
- AUOptions = 4 (download automatico e installazione pianificata)
- ScheduledInstallDay = 2 (martedì)
- ScheduledInstallTime = 3 (3 A.M.)
- NoAutoRebootWithLoggedOnUsers = 1
💡 Nota: Sentiti libero di regolare i valori secondo le tue necessità.
Tramite il prompt dei comandi – Esecuzione una tantum
- Apri un prompt dei comandi elevato.
- Esegui il seguente comando PowerShell direttamente da CMD:
powershell -Command “(New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()”
Questo comando aiuta l’Agente di aggiornamento di Windows a verificare la disponibilità di aggiornamenti. Tieni presente che non li installerà, quindi per il processo di installazione puoi usare PowerShell (metodo A) o i metodi di automazione descritti nelle opzioni B/C.
Nota: I comandi meno recenti come wuauclt /detectnow e usoclient StartScan erano utilizzati nelle versioni passate di Windows, ma ora sono deprecati o inaffidabili su Windows 10/11.CMD non fornisce più un metodo nativo per scaricare e installare direttamente gli aggiornamenti da Windows Update.
⚠️ Cose da tenere d’occhio
- Riavvii e impatto sull’utente: Anche con “Nessun riavvio automatico con utenti connessi”, alcuni aggiornamenti potrebbero richiedere un riavvio per essere completati. Pianifica di conseguenza le finestre di manutenzione.
- Differenze di edizione: Alcuni percorsi dei Criteri di gruppo o nomi di criteri variano a seconda dell’edizione/versione di Windows; controlla le sottocartelle come indicato.
- Ambienti gestiti: Se utilizzi WSUS/Intune, assicurati che queste impostazioni siano in linea con i criteri di gestione per evitare conflitti.
Passo 4: Applicare gli aggiornamenti di macOS
Questo passaggio garantisce che i dispositivi Apple vengano aggiornati in modo affidabile e sicuro. Tieni presente che questo passaggio non automatizza il processo, ma applica gli aggiornamenti come esecuzione unica.
- Esegui questi comandi nel Terminale:
softwareupdate –list
softwareupdate -i -a
sudo shutdown -r now
Passo 5: Applicare le patch alle app di terze parti
Le applicazioni come i browser, Zoom e Java sono enormi superfici di attacco e devono essere patchate regolarmente.
Per Windows (disinstallazione/installazione basata su PowerShell o uso di Chocolatey)
- Installa Chocolatey.
- Esegui questo comando:
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))
choco upgrade all -y
Per macOS (utilizzando Homebrew)
- Installa Homebrew.
- Esegui questo comando:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
brew upgrade
💡 Nota: Puoi monitorare i log o i codici di uscita per individuare eventuali errori e riprovare l’automazione se necessario.
Passo 6: Flusso di lavoro per l’approvazione e il test delle patch
I test e la distribuzione graduale sono essenziali per garantire la stabilità di tutte le patch.
- Definisci un gruppo di test (5-10% del totale)
- Distribuisci ai dispositivi di prova e documenta i risultati
- Applica le patch in gruppi quando sei pronto per un rollout più ampio
Tieni traccia dei KB o delle versioni delle app per ogni gruppo - Utilizza NinjaOne o SharePoint per tenere traccia delle eccezioni in termini di patch
Passo 7: Strategia di rollback
A volte l’applicazione delle patch presenta dei problemi. Quando si verificano, è necessario un modo rapido e affidabile per annullare l’applicazione senza perdere dati o produttività.
Per Windows
- Apri un prompt dei comandi elevato.
- Esegui questo comando:
wusa /uninstall /kb:XXXXXXX /quiet /norestart
Checkpoint-Computer -Description “Pre-Patch Restore” -RestorePointType “MODIFY_SETTINGS”
💡 Nota: Ricordati di sostituire “XXXXXXX” con il numero KB effettivo dell’aggiornamento che vuoi rimuovere.
Per macOS
- Utilizza Time Machine o gli snapshot.
- Ti consigliamo di eseguire un backup completo prima di eseguire aggiornamenti importanti.
Passo 8: Reporting, conformità e avvisi
Gli avvisi aiutano a identificare tempestivamente le patch non riuscite, mentre i report mostrano ai clienti o al management che la tua azienda è sicura e conforme.
Per Windows
Questo comando crea un file CSV contenente un elenco dettagliato degli aggiornamenti installati. Questo file consente di rivedere facilmente la cronologia degli aggiornamenti, di condividere le informazioni sulle patch e di utilizzare i dati per i controlli di conformità o la risoluzione dei problemi.
- Apri PowerShell.
- Esegui questo comando:
Get-HotFix | Export-Csv “patch_report.csv”
Get-WindowsUpdateLog
Per macOS
- Esegui questo comando:
softwareupdate –history
Utilizza NinjaOne o un RMM di terze parti
- Per mandare avvisi quando una patch non riesce
- Per generare riepiloghi di conformità
- Per monitorare lo stato delle patch delle app terze parti
- Per produrre rapporti esecutivi sulle patch
Metodi di distribuzione
Metodo 1: Scripting manuale
📌 Casi d’uso: Per ambienti senza gestione centralizzata o per test e piccole implementazioni.
📌 Prerequisiti:
- Privilegi di amministratore locale sugli endpoint
- PowerShell 5.1 o versioni successive installato su Windows, o accesso al terminale su macOS
- Accesso a Internet per i servizi di aggiornamento dei fornitori
- (Facoltativo) Se il modulo PSWindowsUpdate non viene installato, potresti dover installare prima il provider NuGet e registrare il repository PowerShell Gallery.
Passi:
Per Windows (tramite PowerShell)
- Apri PowerShell.
- Esegui questi comandi in ordine:
- Install PSWindowsUpdate module.: Install-Module PSWindowsUpdate
- Per eseguire una scansione degli aggiornamenti e installare tutte le patch disponibili: Get-WindowsUpdate -AcceptAll -Install -AutoReboot
- Se necessario, forza la scansione manuale.
wuauclt /detectnow
usoclient StartScan
Per macOS (tramite Terminale)
- Esegui questi comandi in ordine:
- Per mostrare gli aggiornamento disponibili: softwareupdate –list
- Per installare tutti gli aggiornamenti disponibili: softwareupdate -i -a
- Per riavviare dopo l’aggiornamento, se necessario: sudo shutdown -r now
Metodo 2: Criteri di gruppo e registro di sistema (solo Windows)
📌 Casi d’uso: Ideale per gli ambienti Windows che si basano sulla gestione del dominio e necessitano di un’applicazione coerente dei criteri.
📌 Prerequisiti:
- Dispositivi Windows collegati al dominio
- Accesso alla console di gestione dei Criteri di gruppo
- (Facoltativo) Accesso da amministratore per modificare il Registro di sistema
Passi:
Tramite i Criteri di gruppo
- Premi la combinazione di tasti Win + R, digita gpedit.msc e clicca su Invio.
- Vai su:
Configurazione del computer > Modelli amministrativi > Componenti di Windows > Windows Update - Abilita e configura:
- Configura aggiornamenti automatici = Abilitato.
- Imposta il giorno e l’ora dell’installazione.
- Abilita “Nessun riavvio automatico con utenti connessi”.
- (Facoltativo) Specifica l’origine dell’aggiornamento interno tramite WSUS.
💡 Nota: A seconda della versione di Windows, questi criteri possono essere visualizzati in sottocartelle quali Criteri legacy, Utenti finali gestiti o Aggiornamenti gestiti all’interno della cartella Windows Update.
Tramite l’applicazione del registro (legacy o non di dominio)
- Premi la combinazione di tasti Win + R, digita regedit e clicca Invio.
- Vai su: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU
- Imposta i valori:
- AUOptions = 4 (download automatico e installazione pianificata)
- ScheduledInstallDay = 2 (martedì)
- ScheduledInstallTime = 3 (3 A.M.)
- NoAutoRebootWithLoggedOnUsers = 1
💡 Sentiti libero di regolare i valori secondo le tue esigenze.
Metodo 3: Piattaforme RMM, come NinjaOne
📌 Casi d’uso: Ideale per patching scalabile e automatizzato in ambienti di grandi dimensioni con dashboard, avvisi, rollback e report di conformità.
📌 Prerequisiti:
- Endpoint registrati in una piattaforma RMM come NinjaOne
- Criteri di patching creati e assegnati ai gruppi
- Accesso da amministratore per definire le regole di automazione e di pianificazione
Passi:
- Accedi alla console NinjaOne.
- Crea un criterio di patching che copra Windows, macOS e le applicazioni di terze parti.
- Organizza i dispositivi per tag, gruppi o livelli di urgenza.
- Imposta pianificazioni di patch ricorrenti con finestre di manutenzione definite.
- Abilita gli avvisi per i guasti, le patch scadute o i riavvii necessari.
- Monitora in tempo reale le dashboard e i report di conformità.
- Distribuisci script di rollback o di correzione quando necessario.
💡 Suggerimento: Combina il patching con le attività successive alla distribuzione, come gli script di pulizia, i rinvii del riavvio o i riavvii dei servizi utilizzando l’automazione di NinjaOne. Questo garantisce aggiornamenti più fluidi e riduce al minimo le interruzioni. Puoi ottenere istruzioni più dettagliate qui:
Come NinjaOne supporta la tua SOP di patch management
- Automatizzando il patching di sistemi operativi e app in ambiente Windows e MacOS: NinjaOne ottimizza la distribuzione delle patch per sistemi operativi e applicazioni di terze parti grazie a criteri personalizzabili e all’automazione zero-touch. Ciò significa che le patch possono essere distribuite automaticamente senza intervento manuale, riducendo l’errore umano e migliorando l’efficienza operativa.
- Permettendoti di definire finestre di patch, gruppi di test ed eccezioni: Puoi impostare pianificazioni di patch ricorrenti, assegnare i dispositivi a gruppi di test e creare regole di eccezione per soddisfare esigenze specifiche di conformità o aziendali.
- Fornendoti dashboard e report di conformità: Dashboard visivi in tempo reale e report esportabili ti consentono di monitorare lo stato delle patch, visualizzare i tassi di conformità dei dispositivi e dimostrare l’allineamento agli SLA o alle normative.
- Avvisandoti in caso di guasti, riavvii mancati o ritardi delle patch: NinjaOne avvisa automaticamente i tecnici quando una patch non funziona, un endpoint richiede un riavvio o non viene rispettata una finestra di aggiornamento pianificata.
- Consentendo rollback o correzioni tramite script: Gli amministratori possono eseguire script PowerShell o shell personalizzati all’interno di NinjaOne per disinstallare gli aggiornamenti problematici, riavviare i servizi o correggere un software non funzionante senza necessità di intervento manuale.
- Raggruppando/etichettando gli endpoint in base all’urgenza delle patch o all’ambiente: I dispositivi possono essere etichettati in base alla posizione, alla funzione o alla criticità per imporre diverse priorità di patch e ridurre il rischio per i sistemi critici per l’azienda.
Scopri perché oltre 30.000 clienti in tutto il mondo si affidano a NinjaOne per il patch management
→ Clicca per saperne di più su NinjaOne Patch Management
Creare una SOP di patch management efficace
Una solida SOP di patch management garantisce cicli di aggiornamento sicuri, coerenti ed efficienti in tutti gli ambienti. Non dare per scontata questa procedura: Anche le organizzazioni più piccole hanno bisogno di una solida SOP di patch management per ridurre il rischio di malware e altre minacce.
Argomenti correlati:
- Che cos’è il patch management? Definizione, vantaggi e best practice
- Perché il patch management è importante per gli MSP
- Processo di patch management: Best practice
- Come creare un criterio di patch management: Definizione e fasi
- Patch management – Guida for Dummies [scarica]
- Rivoluzionare il patch management con la Patch Intelligence AI di NinjaOne
- Processo di patch management: Best practice
- Ciclo di vita del patch management
