Considerazioni sulla sicurezza per AppLocker
Questo articolo per il professionista IT descrive le considerazioni sulla sicurezza che è necessario affrontare durante l'implementazione di AppLocker.
AppLocker consente di limitare l'accesso al software per utenti o gruppi specifici di utenti. Di seguito sono riportate alcune considerazioni sulla sicurezza per AppLocker:
AppLocker viene distribuito all'interno di un'organizzazione e amministrato centralmente da tali risorse in IT con credenziali attendibili. Questo sistema rende la creazione e la distribuzione dei criteri conformi a processi di distribuzione di criteri e restrizioni di sicurezza simili.
I criteri di AppLocker vengono distribuiti tramite processi noti e tramite mezzi noti all'interno del dominio tramite Criteri di gruppo. Tuttavia, i criteri di AppLocker possono essere impostati anche nei singoli computer se la persona dispone di privilegi di amministratore e tali criteri potrebbero essere contrari ai criteri di sicurezza scritti dell'organizzazione. Le impostazioni della modalità di imposizione dai criteri di AppLocker distribuite tramite oggetti Criteri di gruppo hanno la precedenza sui criteri locali. Tuttavia, poiché le regole di AppLocker sono additive, le regole di un criterio locale vengono unite con le regole di qualsiasi oggetto Criteri di gruppo applicato al computer.
Microsoft non offre un modo per sviluppare estensioni per AppLocker. Le interfacce non sono pubbliche. Un utente con credenziali di amministratore può automatizzare alcuni processi di AppLocker usando Windows PowerShell cmdlet. Per informazioni sui cmdlet Windows PowerShell per AppLocker, vedi i cmdlet di AppLocker in Windows PowerShell.
AppLocker viene eseguito nel contesto di Administrator o LocalSystem, ovvero il set di privilegi più elevato. Questo contesto di sicurezza può essere usato in modo improprio. Poiché le regole di AppLocker sono additive, tutte le regole dei criteri locali vengono applicate al computer insieme a qualsiasi oggetto Criteri di gruppo. Se il computer locale non è aggiunto a un dominio o controllato da Criteri di gruppo, una persona con credenziali amministrative può controllare completamente i criteri di AppLocker.
Le regole di percorso di AppLocker non sostituiscono gli elenchi di controllo di accesso (ACL). È consigliabile continuare a usare gli elenchi di controllo di accesso per limitare l'accesso ai file in base ai criteri di sicurezza.
Non è possibile usare AppLocker per impedire l'esecuzione del codice all'esterno del sottosistema Win32. Ad esempio, non può controllare il codice in esecuzione nel sottosistema Windows per Linux. Se è necessario impedire l'esecuzione di applicazioni nel sottosistema Linux, è necessario disabilitare il sottosistema. In alternativa, è possibile bloccare il sottosistema Windows per Linux bloccando LxssManager.dll.
AppLocker può controllare solo VBScript, JScript, file .bat, file .cmd e script Windows PowerShell. Non controlla tutto il codice interpretato eseguito all'interno di un processo host, ad esempio script e macro Perl. Il codice interpretato è una forma di codice eseguibile eseguito all'interno di un processo host. Ad esempio, i file batch di Windows (*.bat) vengono eseguiti nel contesto dell'host dei comandi di Windows (cmd.exe). Per controllare il codice interpretato usando AppLocker, il processo host deve chiamare AppLocker prima di eseguire il codice interpretato e quindi applicare la decisione restituita da AppLocker. Non tutti i processi host chiamano AppLocker e, pertanto, AppLocker non può controllare ogni tipo di codice interpretato, ad esempio le macro di Microsoft Office.
Importante
È consigliabile configurare le impostazioni di sicurezza appropriate di questi processi host se è necessario consentirne l'esecuzione. Ad esempio, configurare le impostazioni di sicurezza in Microsoft Office per assicurarsi che vengano caricate solo macro firmate e attendibili.
Le regole di AppLocker consentono o bloccano l'esecuzione del file dell'applicazione. AppLocker non controlla il comportamento delle applicazioni dopo l'avvio. Le applicazioni possono contenere flag passati a funzioni che segnalano ad AppLocker di aggirare le regole e consentire il caricamento di un altro .exe o .dll. In pratica, un'applicazione consentita potrebbe usare questi flag per ignorare le regole di AppLocker e avviare processi figlio. È necessario esaminare attentamente ogni applicazione prima di consentirne l'esecuzione usando le regole di AppLocker.
Nota
Due flag che illustrano questa condizione sono SANDBOX_INERT
, che possono essere passati a CreateRestrictedToken
e LOAD_IGNORE_CODE_AUTHZ_LEVEL
, che possono essere passati a LoadLibraryEx
. Entrambi questi flag segnalano ad AppLocker di aggirare le regole e di consentire il caricamento di un .exe o .dll figlio.