Microsoft Applocker: rivoluzionare la gestione e la sicurezza delle applicazioni in ambiente Windows

Microsoft AppLocker è una funzionalità di sicurezza integrata in alcune versioni di Windows, creata per aiutare le aziende a controllare quali applicazioni possono essere eseguite sui loro sistemi.

Il funzionamento di AppLocker si basa sulla definizione di regole da parte degli amministratori IT, che possono determinare quali applicazioni sono permesse o bloccate. Queste regole possono essere impostate in base a vari attributi come il nome del produttore del software, il nome del programma, il nome del file o la sua versione. L’obiettivo principale è impedire l’esecuzione di software non autorizzato, riducendo così il rischio di malware e attacchi informatici.

Uno dei vantaggi più significativi di AppLocker è il miglioramento della sicurezza informatica. Bloccando l’esecuzione di software non autorizzato, si riduce il rischio di infezioni da malware e attacchi, un aspetto fondamentale in un’epoca di crescenti minacce informatiche (nel 2023 sono stati registrati quasi il 40% di attacchi in più rispetto al 2022). Inoltre AppLocker supporta la conformità con le politiche interne e le normative esterne, fornendo agli amministratori un controllo dettagliato su quali applicazioni possono essere eseguite. Questo aiuta a prevenire l’uso di software non licenziato o non conforme.

La gestione centralizzata attraverso le Group Policy è un altro vantaggio importante, poiché consente agli amministratori IT di distribuire e aggiornare le regole in modo efficiente in tutta l’azienda. La flessibilità e la personalizzazione delle regole consentono di adattare le politiche di AppLocker alle specifiche esigenze di sicurezza e operatività dell’organizzazione. In più La facilità di audit e reporting offerta da AppLocker permette di monitorare le applicazioni eseguite e bloccate, fornendo dati preziosi per la sicurezza e la conformità.

Infine, a mio modesto avviso, AppLocker può essere utilizzato come uno strumento educativo per aumentare la consapevolezza degli utenti sui rischi associati all’installazione e all’esecuzione di software non autorizzato, contribuendo a ridurre gli errori
umani che possono portare a violazioni della sicurezza. Questa consapevolezza può tradursi in una cultura aziendale più informata e attenta alla sicurezza, riducendo ulteriormente il rischio di incidenti di sicurezza.

Prerequisiti

Applocker ha dei prerequisiti a livello di sistema operativo, che potete visualizzare alla pagina Requisiti per usare AppLocker (Windows) – Windows security | Microsoft Docs

È importante sottolineare che con la distribuzione della KB5024351—Removal of Windows edition checks for AppLocker (settembre-ottobre 2022) è stato rimosso il controllo della versione del sistema operativo. Prima della distribuzione di questa KB infatti la funzionalità era disponibile solo in Windows Server e nelle versioni Enterprise o Education dei sistemi operativi Windows 10/11. Adesso invece Applocker è disponibile in tutte le versioni di Windows 10/11.

Ho già mostrato nella guida Configurare App Control for Business – Application Control (Preview) in Microsoft Intune – ICT Power come poter controllare l’esecuzione delle applicazioni utilizzando Microsoft Intune e la funzionalità di App Control for Business. Questa funzionalità era già gestibile utilizzando i profili di configurazione, ma da giugno 2023 è stata inserita nel ramo Endpoint Security.

In questa guida vi faccio vedere come implementare Applocker in un ambiente di dominio di Active Directory utilizzando le Group Policy.

Configurazione di Applocker tramite Group Policy

Assicuratevi che il sistema operativo Windows sia aggiornato all’ultima versione e che tutti gli aggiornamenti di sicurezza siano stati applicati. Questo non solo garantisce la compatibilità con AppLocker, ma migliora anche la sicurezza generale del sistema.

Aprite la Group Policy Management console e create una nuova GPO da assegnare al vostro dominio oppure ad una OU. A proposito, avete già letto il mio articolo Funzionamento delle Group Policy in Windows Server: facciamo un po’ di chiarezza – ICT Power

Come prima operazione ci assicureremo che il servizio Application Identity sia sempre avviato e lo metteremo in esecuzione automatica. Il servizio Application Identity in Windows è un componente chiave per il funzionamento di funzionalità di sicurezza come AppLocker. Questo servizio è responsabile della determinazione dell’identità delle applicazioni, file e script che vengono eseguiti in Windows. Attraverso l’analisi di informazioni come il nome dell’editore, il nome del prodotto, la versione del file e altre proprietà digitali certificate, il servizio Application Identity può stabilire se un’applicazione soddisfa le regole di sicurezza impostate da AppLocker.

Quando un utente tenta di avviare un’applicazione, il servizio Application Identity verifica se l’applicazione corrisponde a una delle regole definite in AppLocker. Se l’applicazione non corrisponde a una regola consentita, o se corrisponde a una regola bloccata, AppLocker può impedire l’esecuzione dell’applicazione. Questo processo è fondamentale per garantire che solo il software autorizzato venga eseguito, aumentando così la sicurezza del sistema operativo.

Maggiori informazioni sono disponibili alla pagina Configure the Application Identity service – Windows Security | Microsoft Learn

Dal ramo Computer Configuration > Policies > Windows Settings > Security Settings > System Services selezionate il servizio Application Identity e mettetelo su Automatic.

Figura 1: Il servizio Application Identity viene configurato per l’avvio automatico

Le rule enforcement di AppLocker rappresentano un aspetto fondamentale nella gestione della sicurezza delle applicazioni in ambienti Windows. Queste regole sono ciò che effettivamente determina se un’applicazione, uno script, un file eseguibile o un pacchetto di installazione può essere eseguito o meno sul sistema in base alle politiche definite.

La funzione principale delle rule enforcement in
AppLocker è di fornire un controllo granulare sull’esecuzione del software. Le rule enforcement di AppLocker servono anche a prevenire l’esecuzione di malware e software non autorizzato. Bloccando l’esecuzione di file non riconosciuti o non fidati, AppLocker aiuta a proteggere i sistemi da potenziali minacce alla sicurezza.

Le rule enforcement di AppLocker operano in due modalità principali: la modalità di esecuzione e la modalità di audit. Queste modalità determinano come le regole di AppLocker vengono applicate e gestite nel sistema.

  • Modalità di Esecuzione (Enforcement Mode): In questa modalità, le regole di AppLocker vengono attivamente applicate. Ciò significa che se un’applicazione, uno script, un file eseguibile o un pacchetto di installazione non soddisfa una regola di AppLocker, l’esecuzione viene bloccata. Questa modalità è essenziale per mantenere un ambiente di rete sicuro, impedendo l’esecuzione di software non autorizzato o potenzialmente dannoso. Quando le regole sono impostate in modalità di esecuzione, gli amministratori possono essere sicuri che solo il software approvato venga eseguito sui sistemi.
  • Modalità di Audit (Audit Mode): La modalità di audit consente agli amministratori di testare e valutare l’impatto delle regole di AppLocker senza effettivamente impedire l’esecuzione delle applicazioni. In questa modalità, le violazioni delle regole vengono registrate in un log, ma non vengono bloccate. Questo permette agli amministratori di capire quali applicazioni sarebbero state bloccate o consentite sotto le regole attuali, senza interrompere il normale funzionamento del sistema. La modalità di audit è particolarmente utile per ottimizzare e perfezionare le regole di AppLocker prima di applicarle effettivamente in modalità di esecuzione.

Queste due modalità offrono agli amministratori IT la flessibilità di sviluppare, testare e implementare regole di AppLocker in modo controllato. Iniziando con la modalità di audit, gli amministratori possono valutare l’efficacia delle loro politiche e identificare potenziali problemi prima di passare alla modalità di esecuzione, riducendo così il rischio di interruzioni impreviste o problemi di compatibilità con le applicazioni essenziali.

Dal ramo Computer Configuration > Policies > Windows Settings > Security Settings > Application Control Policies > Applocker cliccate su Configure rule enforcement e selezionate le regole che volete forzare o che volete monitorare. Io ho deciso di forzare tutte le regole.

Figura 2: Configurazione della modalità di rule enforcement

Siete pronti a questo punto per creare le regole che dovranno essere rispettate. Con AppLocker è possibile creare diversi tipi di regole per controllare l’esecuzione di software sul sistema. Questi tipi di regole si basano sulla natura dei file o delle applicazioni che si desidera gestire. Ecco i tipi principali di regole che possono essere configurati:

  • Regole per file eseguibili (EXE e COM): Queste regole sono progettate per controllare l’esecuzione di file eseguibili, ovvero i file con estensioni .exe e .com. Sono utili per gestire l’esecuzione di programmi e applicazioni.
  • Regole per script: Queste regole si applicano agli script eseguiti sul sistema. Gli script possono includere file con estensioni come .ps1 (PowerShell), .bat, .cmd, .vbs (VBScript) e .js (JavaScript). Questo tipo di regola è importante per gestire gli script, che possono essere usati per automatizzare compiti o potenzialmente eseguire azioni dannose.
  • Regole per installer: Queste regole controllano l’esecuzione di programmi di installazione, che includono file con estensioni come .msi, .msp (Windows Installer Patch) e .mst (Windows Installer Transformation). Le regole per gli installer sono cruciali per prevenire l’installazione di software non autorizzato o non conforme alle politiche aziendali.
  • Regole per le librerie di collegamento dinamico (DLL): Anche se non abilitate per impostazione predefinita, le regole per le DLL possono essere configurate per gestire l’uso delle librerie di collegamento dinamico. Le DLL sono un componente chiave di molti programmi e possono influenzare il comportamento del software. Controllare le DLL aiuta a prevenire l’uso di librerie non sicure o non autorizzate.

Ogni tipo di regola può essere basato su uno o più criteri:

  • Regole basate sul percorso: Consentono o bloccano l’esecuzione di file in base alla loro posizione nel file system. Sono facili da creare ma meno sicure, in quanto gli utenti potrebbero spostare o modificare i percorsi dei file.
  • Regole basate sull’editore: Utilizzano informazioni digitali certificate per identificare il produttore del software. Queste regole sono più flessibili e sicure, poiché si basano sull’identità digitale verificata del software.
  • Regole basate sull’hash: Queste regole utilizzano un hash specifico per identificare un file. Sono molto sicure ma meno flessibili, in quanto ogni volta che un file viene aggiornato, il suo hash cambia e la regola deve essere aggiornata.

La combinazione di questi tipi di regole e criteri consente agli amministratori di creare una politica di controllo delle applicazioni molto precisa e adattata alle esigenze specifiche della loro azienda.

Come esempio ho deciso di proporvi come bloccare gli eseguibili presenti nella cartella Downloads degli utenti. Nelle figure sotto sono mostrati tutti i passaggi per la creazione della regola.

Figura 3: Creazione di una nuova regola per la gestione degli eseguibili

Scegliete se permettere o meno l’esecuzione dei file eseguibili, ovvero i file con estensioni .exe e .com.

Figura 4: Impostazione del blocco dei file seguibili

Ho deciso di bloccare, a titolo di esempio, l’esecuzione di file in base alla loro posizione nel file system. Sono facili da creare ma meno sicure, in quanto gli utenti potrebbero spostare o modificare i percorsi dei file.

Figura 5: Blocco dell’esecuzione dei file in base alla loro posizione nel fileystem

Fate clic su Browse Folders per individuare il percorso. Io ho scelto il percorso %OSDRIVE%\Users\*\Downloads\* per individuare la cartella Downloads di tutti gli utenti.

Figura 6: Scelta della cartella dove si troveranno i file da bloccare

Ovviamente, come per tutte le regole, si possono creare anche delle eccezioni.

Figura 7: Eccezioni della regola

Inserite un nome per individuare la regola e fare clic su Create.

Figura 8: Passaggio finale della creazione della regola

Le regole predefinite (default rules) in AppLocker sono un set di regole di base fornite dal sistema per facilitare la configurazione iniziale delle politiche di AppLocker. Queste regole sono progettate per fornire un livello di base di controllo delle applicazioni senza interrompere il funzionamento standard del sistema operativo e delle applicazioni comuni.

L’idea dietro le regole predefinite è quella di creare una base su cui gli amministratori possono costruire la loro politica di sicurezza, evitando di bloccare inavvertitamente applicazioni essenziali per il funzionamento del sistema. Queste regole consentono l’esecuzione di software da percorsi considerati affidabili, come le cartelle di sistema e i programmi installati.

Le regole predefinite di solito includono:

  • Regole che permettono l’esecuzione di applicazioni installate in cartelle standard del sistema, come “Program Files” e “Windows”. Questo assicura che il sistema operativo e le applicazioni installate correttamente continuino a funzionare normalmente.
  • Una regola che consente l’esecuzione di tutto il software firmato da Windows, garantendo che i componenti critici del sistema operativo e gli aggiornamenti non vengano bloccati.

Queste regole predefinite sono importanti perché offrono un punto di partenza per la configurazione delle politiche di AppLocker. Dopo aver impostato le regole predefinite, gli amministratori possono poi aggiungere regole specifiche in base alle esigenze della loro azienda. Se non ci sono, dopo la creazione della prima regola verrà chiesto di generarle, come mostrato nella figura sotto:

Figura 9: Creazione delle default rule in Applocker

A questo punto nella schermata troverete 3 regole di default e la regola che avete appena creato.

Figura 10: Executable rules create in Applocker

Test di funzionamento

Per verificare il corretto funzionamento della policy Applocker mi sono collegato ad una macchina Windows 11 Pro che è assoggettata alla policy ed ho effettuato il refresh della GPO con il comando gpupdate. Come si può vedere dalla figura sotto, quando l’utente cerca di lanciare un eseguibile dalla cartella Downloads gli appare un messaggio di blocco e gli viene impedita l’operazione.

Figura 11: La policy Applocker impedisce il lancio dell’eseguibile

Quello che ho fatto vedere è solo uno dei tanti esempi che vi permettono di capire appieno la potenzialità di Applocker. Trovo molto interessante le regole basate sul publisher (il produttore del software), che sono un metodo per controllare quali applicazioni possono essere eseguite o installate in base all’identità dell’editore del software. Questo tipo di regola si basa sulle informazioni digitali certificate associate al file eseguibile, allo script, all’installer o alla libreria DLL.

Quando si crea una regola basata sul produttore, si utilizzano i dettagli forniti dal certificato digitale dell’applicazione. Questi dettagli includono il nome del produttore, il nome del prodotto, la versione del file e altre informazioni chiave. Grazie a questi dati, è possibile definire regole molto specifiche che consentono una maggiore flessibilità e sicurezza rispetto ad altri tipi di regole, come quelle basate sul percorso o sull’hash.

Ad esempio un’amministratore IT potrebbe creare una regola che consente l’esecuzione di tutte le applicazioni firmate da un certo produttore, come Microsoft. Ciò significa che tutte le applicazioni che hanno un certificato digitale verificato di Microsoft possono essere eseguite, mentre altre applicazioni non autorizzate da questo editore specifico sarebbero bloccate.

Uno dei vantaggi principali delle regole basate sul publisher è la loro capacità di adattarsi ai cambiamenti. Se un’applicazione viene aggiornata e il suo file cambia, la regola basata sul publisher continuerà a consentirne l’esecuzione, a patto che il certificato digitale rimanga lo stesso. Questo le rende più flessibili delle regole basate sull’hash, che richiedono un aggiornamento ogni volta che il file cambia.

Inoltre, le regole basate sul publisher possono offrire un alto livello di sicurezza, poiché si affidano ai certificati digitali per verificare l’autenticità del software. Ciò riduce il rischio di eseguire software malevolo o contraffatto, in quanto solo il software proveniente da produttori fidati e verificati può essere eseguito.

Nella configurazione di queste regole, gli amministratori possono anche specificare versioni o gamma di versioni del software, permettendo una granularità ancora maggiore nel controllo delle applicazioni.

Nelle figure sotto sono mostrati i passaggi salienti, durante la costruzione della regola di Applocker che utilizza il publisher
come condizione.

Figura 12: Utilizzo del publisher come condizione della regola di Applocker

Vi basterà cliccare su Browse per cercare l’eseguibile da utilizzare come riferimento della vostra condizione. Io ho scelto di selezionare l’eseguibile FoxitODFReader.exe che si trova nella cartella C:\Program Files (x86)\Foxit Software\Foxit PDF Reader. Il software è stato precedentemente installato sulla macchina da cui state creando la GPO.

Figura 13: Scelta del file di riferimento

Come ho già scritto, attraverso lo slider presente nel wizard sarà possibile definire il livello di specificità di una regola basata sul certificato digitale di un file di riferimento. Potete spostare lo slider tra diverse opzioni che vanno dal produttore del software, al prodotto specifico, fino alla versione specifica del file. Spostare lo slider verso l’alto (verso l’editore) rende la regola più generale. Ad esempio, se posizionate lo slider sul produttore, la regola consentirà l’esecuzione di qualsiasi software firmato da quell’editore. Spostare lo slider verso il basso (verso la versione del file) rende la regola più specifica. Se posizionate lo slider sulla versione del file, solo quella versione specifica del software sarà consentita o bloccata.

Figura 14: Utilizzo dello slider per definire il livello di specificità di una regola

Figura 15: Creazione della regola basata sul publisher

Lo slider del file di riferimento è uno strumento utile perché vi dà controllo sulla granularità delle tue regole di AppLocker. Può aiutarvi a creare regole che sono abbastanza flessibili da consentire aggiornamenti del software senza bisogno di riconfigurare le regole, ma anche abbastanza specifiche da bloccare versioni non desiderate o non autorizzate di un’applicazione.

Una volta impostato lo slider al livello desiderato, completate la creazione della regola seguendo le istruzioni.

Per testarne il funzionamento, effettuate un gpupdate sulla macchina client e provate ad eseguire il software (che ovviamente deve essere precedentemente installato).

Figura 16: Il software viene bloccato da Applocker

Auditing

L’auditing di AppLocker è un processo che permette di monitorare e registrare gli eventi relativi all’esecuzione delle applicazioni in base alle regole di AppLocker impostate. Questa funzionalità è essenziale per gli amministratori IT per valutare l’efficacia delle regole di AppLocker e per identificare eventuali problemi o esigenze di modifica delle politiche.

Quando l’auditing è attivato, ogni tentativo di esecuzione di un’applicazione che incontra una regola di AppLocker viene registrato in un log degli eventi di sicurezza nel sistema operativo Windows. Questo include sia tentativi consentiti che bloccati in base alle regole attive. L’auditing può essere particolarmente utile nella modalità di audit di AppLocker, dove le regole vengono monitorate ma non effettivamente applicate, permettendo agli amministratori di osservare l’impatto delle regole senza interrompere le operazioni normali.

Per visualizzare i log potete aprire Event Viewer sulla macchina client e navigare in Application and Services Logs > Microsoft > Windows > AppLocker.

Figura 17: Registro Eventi delle operazioni effettuare da Applocker

Per implementare un auditing centralizzato in contesti Windows potete utilizzare strumenti come Windows Event Forwarding (WEF) e Windows Event Collector (WEC) o soluzioni di gestione degli eventi e delle informazioni sulla sicurezza (SIEM).

Posso usare Applocker per creare o configurare un kiosk computer?

Questa è una domanda che molto spesso mi è stata posta a lezione quando ho trattato l’argomento Applocker.

AppLocker, da solo, non è progettato specificamente per creare un kiosk computer. I computer kiosk sono configurati per limitare l’accesso dell’utente a solo alcune applicazioni o funzionalità, spesso utilizzati in ambienti pubblici o aziendali per scopi specifici come la navigazione Internet, l’accesso a informazioni oppure per l’utilizzo di applicazioni dedicate.

Tuttavia, AppLocker può essere utilizzato come parte di una soluzione più ampia per configurare un computer kiosk. Tramite le sue capacità di controllo delle applicazioni, AppLocker può sicuramente aiutare a limitare le applicazioni che possono essere eseguite sul computer kiosk, contribuendo a prevenire l’uso di software non autorizzato o l’accesso a funzionalità non desiderate.

Quindi potete configurare AppLocker per consentire solo l’esecuzione di specifiche applicazioni necessarie per il kiosk, bloccando tutto il resto. Se volete maggiori dettagli su come fare vi invito a leggere la guida Usare AppLocker per creare un chiosco multimediale Windows 10 che esegue più app (Windows 10) – Configure Windows | Microsoft Learn

 

Conclusioni

AppLocker, nell’ambito della sicurezza informatica e della gestione delle applicazioni in Windows, presenta una serie di vantaggi che lo rendono uno strumento prezioso per le organizzazioni. Il suo ruolo principale è quello di migliorare la sicurezza informatica, fornendo un robusto strato di difesa contro malware e minacce interne. Impedendo l’esecuzione di applicazioni non autorizzate o potenzialmente pericolose, AppLocker aiuta a proteggere i dati aziendali e le infrastrutture IT da attacchi e violazioni.

AppLocker offre anche un controllo significativo per garantire la conformità con le politiche interne e le normative esterne, consentendo alle organizzazioni di assicurarsi che solo il software approvato e conforme venga utilizzato nei loro sistemi. Questo riduce il rischio di violazioni legali e di sicurezza. La possibilità di gestire centralmente le regole attraverso i Criteri di Gruppo semplifica l’amministrazione e assicura che le politiche siano applicate in modo uniforme in tutta l’organizzazione.