Proteggere il traffico SMB dall'intercettazione
Questo articolo spiega come un utente malintenzionato può usare tecniche di intercettazione contro il protocollo SMB e come mitigare un attacco. I concetti supporteranno lo sviluppo di una strategia di difesa avanzata per il protocollo SMB.
Che cos'è un attacco di intercettazione?
Un attacco AITM (Adversary-in-the-Middle) intende modificare la comunicazione di rete tra un client e un server, consentendo a un utente malintenzionato di intercettare il traffico. Dopo l'intercettazione, un utente malintenzionato può avere la possibilità di attuare lo spoofing, manomettere, divulgare o negare l'accesso ai dati o alle credenziali degli account dell'organizzazione.
Molte organizzazioni si basano su SMB per condividere file tra utenti e per supportare altre applicazioni o tecnologie come Active Directory Domain Services. Con un'adozione così ampia, SMB è un bersaglio comune per gli utenti malintenzionati e può avere un impatto aziendale.
Ad esempio, un attacco AITM può essere usato per lo spionaggio industriale o di stato, l'estorsione o la ricerca di dati di sicurezza sensibili archiviati nei file. Può anche essere usato come parte di un attacco più ampio per consentire all'utente malintenzionato di spostarsi lateralmente all'interno della rete o di prendere di mira più endpoint.
Gli attacchi sono in continua evoluzione e spesso gli utenti malintenzionati usano una combinazione di tecniche consolidate e nuove. Quando si protegge il sistema dall'intercettazione SMB, gli obiettivi principali sono due:
- Ridurre il numero di metodi di attacco disponibili.
- Proteggere i percorsi presentati agli utenti.
A causa delle differenze nella tecnologia e nei client di molte organizzazioni, una difesa completa combinerà più metodi e seguirà i principi Zero Trust. Ulteriori informazioni su Zero Trust sono disponibili nell'articolo Informazioni su Zero Trust.
Di seguito vengono fornite informazioni su alcune delle configurazioni di procedure consigliate tipiche per ridurre il rischio di intercettazione SMB.
Riduzione dei metodi di attacco disponibili
Per proteggere il sistema dagli attacchi di intercettazione SMB, il primo passaggio consiste nel ridurre la superficie di attacco. Le superfici di attacco sono posizioni in cui il sistema è vulnerabile alle minacce informatiche e alle compromissioni.
Nelle sezioni seguenti verranno illustrati alcuni dei passaggi di base da eseguire per ridurre la superficie di attacco.
Installare gli aggiornamenti
Installare regolarmente tutti gli aggiornamenti della sicurezza disponibili nei sistemi Windows Server e client più vicini al rilascio consentito dall'organizzazione. L'installazione degli aggiornamenti della sicurezza più recenti è il modo più rapido e semplice per proteggere i sistemi dalle attuali vulnerabilità della sicurezza note che interessano non solo SMB, ma tutti i prodotti e i servizi Microsoft.
È possibile installare gli aggiornamenti della sicurezza usando alcuni metodi diversi a seconda dei requisiti dell'organizzazione. I metodi tipici sono:
- Gestione aggiornamenti di Azure
- Windows Update
- Windows Server Update Services (WSUS)
- Aggiornamenti software in Endpoint Configuration Manager
Valutare la sottoscrizione alle notifiche nella Guida agli aggiornamenti della sicurezza di Microsoft Security Response Center (MSRC). Il sistema di notifiche della guida agli aggiornamenti della sicurezza avviserà della pubblicazione degli aggiornamenti software per risolvere vulnerabilità ed esposizioni comuni nuove ed esistenti (CVE).
Rimuovere SMB 1.0
È consigliabile rimuovere o disabilitare la funzionalità SMB 1.0 da tutti i server e i client Windows che non lo richiedono. Per i sistemi che richiedono SMB 1.0, è consigliabile passare a SMB 2.0 o versione successiva il prima possibile. A partire da Windows 10 Fall Creators Update e Windows Server 2019, SMB 1.0 non è più installato per impostazione predefinita.
Suggerimento
Windows 10 Home e Windows 10 Pro contengono ancora il client SMB 1.0 per impostazione predefinita dopo un'installazione pulita o un aggiornamento sul posto. Questo comportamento cambia in Windows 11, per maggiori informazioni, leggere l'articolo SMB1 ora disabilitato per impostazione predefinita per le build di Windows 11 Home Insiders.
La rimozione di SMB 1.0 protegge i sistemi eliminando diverse vulnerabilità di sicurezza note. SMB 1.0 non dispone delle funzionalità di sicurezza di SMB 2.0 e versioni successive che consentono di proteggersi dall'intercettazione. Ad esempio, per impedire una connessione compromessa SMB 3.0 o versione successiva usa l'integrità preautenticazione, la crittografia e la firma. Per maggiori informazioni, leggere l'articolo Miglioramenti della sicurezza SMB.
Prima di rimuovere la funzionalità SMB 1.0, assicurarsi che non siano necessarie applicazioni e processi nel computer. Per maggiori informazioni su come rilevare e disabilitare SMB 1.0, leggere l'articolo Come rilevare, abilitare e disabilitare SMBv1, SMBv2 e SMBv3 in Windows.
È anche possibile usare lo strumento di Windows Admin Center File e condivisione file per abilitare rapidamente il controllo delle connessioni client SMB1 e per disinstallare SMB 1.
Disabilitare l'autenticazione guest e il fallback
In SMB 1.0, quando le credenziali di un utente hanno esito negativo, il client SMB tenterà l'accesso guest. A partire dai client Windows 10, versione 1709 e Windows Server 2019, SMB2 e SMB3 non consentono più l'accesso o il fallback dell'account guest all'account guest per impostazione predefinita. È consigliabile usare SMB 2.0 o versione successiva e disabilitare l'uso dell'accesso guest SMB in tutti i sistemi in cui l'accesso guest non è disabilitato per impostazione predefinita.
Suggerimento
Le edizioni Home e Pro di Windows 11 sono invariate rispetto al comportamento predefinito precedente; consentono l'autenticazione guest per impostazione predefinita.
Quando l'accesso guest è disabilitato, impedisce a un attore malintenzionato di creare un server e ingannare gli utenti ad accedervi usando l'accesso guest. Ad esempio, quando un utente accede alla condivisione con spoofing, le credenziali hanno esito negativo e SMB 1.0 eseguirà il fallback all'uso dell'accesso guest. La disabilitazione dell'accesso guest impedisce alla sessione SMB di connettersi, impedendo all'utente di accedere alla condivisione ed eventuali file dannosi.
Per impedire l'uso del fallback guest nei client SMB Windows in cui l'accesso guest non è disabilitato per impostazione predefinita (incluso Windows Server):
- Aprire il Console Gestione criteri di gruppo.
- Nell'albero della console selezionare Configurazione computer > Modelli amministrativi > Rete > Workstation Lanman.
- Per l'impostazione, fare clic con il pulsante destro del mouse su Abilita accessi guest non sicuri e selezionare Modifica.
- Selezionare Abilitato e selezionare OK.
Per maggiori informazioni sul comportamento predefinito dell'accesso guest, leggere l'articolo Accesso guest in SMB2 e SMB3 disabilitato per impostazione predefinita in Windows.
Disabilitare il protocollo WebDAV
I client Windows potrebbero non richiedere l'esecuzione del servizio WebClient
. Il servizio fornisce il protocollo Web Distributed Authoring and Versioning (WebDAV). Se i client non accedono alle condivisioni SMB tramite HTTP o HTTPS tramite WebDAV, è possibile disabilitare il servizio.
Quando gli utenti accedono ai file tramite WebDAV, non esiste alcun metodo per forzare una connessione basata su TLS su HTTPS. Ad esempio, il server può essere configurato per richiedere la firma O la crittografia SMB, ma il client Web potrebbe connettersi a HTTP/80 se WebDAV è stato abilitato. Qualsiasi connessione risultante non è crittografata, indipendentemente dalla configurazione SMB.
È possibile usare le preferenze di Criteri di gruppo per disabilitare il servizio in un numero elevato di computer quando si è pronti per l'implementazione. Per ulteriori informazioni sulla configurazione delle preferenze di Criteri di gruppo, vedere Configurare un elemento di servizio.
Limitare le destinazioni SMB in uscita
Bloccare il traffico SMB in uscita verso dispositivi esterni alla rete come minimo. Il blocco di SMB in uscita impedisce l'invio di dati a endpoint esterni. Gli attori malintenzionati spesso tentano di eseguire lo spoofing, di manomettere o fare attacchi di phishing che tentano di inviare utenti a endpoint dannosi mascherati come collegamenti o collegamenti descrittivi all'interno di messaggi di posta elettronica o altri file. Per maggiori informazioni sul blocco dell'accesso SMB in uscita, leggere l'articolo Proteggere il traffico SMB in Windows Server.
Per approfondire questo principio, introdurre micro-perimetri e micro-segmentazione nell'architettura. Il blocco del traffico SMB in uscita verso reti esterne consente di impedire l'esfiltrazione diretta dei dati a Internet, tuttavia, gli attacchi moderni usano tecniche avanzate per ottenere indirettamente l'accesso attaccando altri sistemi, quindi spostandosi successivamente all'interno della rete. Micro-perimetrali e micro-segmentazione mira a ridurre il numero di sistemi e utenti in grado di connettersi direttamente alla condivisione SMB, a meno che non sia necessario in modo esplicito. Maggiori informazioni sulla segmentazione di rete sono incluse nelle linee guida Zero trust.
Proteggere il protocollo
Il secondo obiettivo è proteggere i percorsi tra gli utenti e i relativi dati, noti come protezione dei dati in transito. La protezione dei dati in transito comporta in genere l'uso della crittografia, della protezione avanzata dell'interfaccia e della rimozione di protocolli non sicuri per migliorare la resistenza agli attacchi.
Nelle sezioni seguenti, verranno illustrati alcuni dei passaggi di base da eseguire per proteggere il protocollo SMB.
Usare SMB 3.1.1
Windows negozia sempre il protocollo più alto disponibile, assicurati che i dispositivi e i computer supportino SMB 3.1.1.
SMB 3.1.1 è disponibile a partire da Windows 10 e Windows Server 2016. SMB 3.1.1 include una nuova funzionalità di sicurezza obbligatoria denominata Integrità preautenticazione. L'integrità di preautenticazione firma o crittografa le fasi iniziali delle connessioni SMB per evitare la manomissione dei messaggi di negoziazione e installazione della sessione usando l'hash crittografico.
L'hashing crittografico significa che il client e il server possono considerare reciprocamente attendibili le proprietà di connessione e sessione. L'integrità di preautenticazione sostituisce la negoziazione sicura dei dialetti introdotta in SMB 3.0. Non è possibile disattivare l'integrità di preautenticazione, ma se un client usa un dialetto meno recente, non verrà usato.
È possibile migliorare ulteriormente il comportamento di sicurezza forzando l'uso di SMB 3.1.1 come minimo. Per impostare il dialetto SMB minimo su 3.1.1, da un prompt di PowerShell con privilegi elevati, eseguire i comandi seguenti:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "MinSMB2Dialect" -Value 0x000000311
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "MaxSMB2Dialect" -Value 0x000000311
Per ulteriori informazioni su come impostare il dialetto SMB minimo e massimo usato in Windows Server e Windows, vedere Gestire i dialetti SMB in Windows.
Usare la protezione avanzata UNC per richiedere la firma, la crittografia e l'autenticazione reciproca
Abilitare la protezione avanzata UNC per tutte le condivisioni SMB richiedendo almeno l'autenticazione reciproca (Kerberos) e l'integrità (firma SMB). È inoltre consigliabile valutare la privacy (crittografia SMB) anziché la firma SMB. Non è necessario configurare la firma SMB e la crittografia perché la crittografia include in modo implicito le firme usate dalla firma.
Attenzione
La crittografia SMB è stata introdotta con SMB 3 in Windows 8 e Windows Server 2012. Non è necessario richiedere la crittografia a meno che tutti i computer supportino SMB 3.0 o versione successiva o che siano terze parti con SMB 3 e supporto per la crittografia. Se si configura la crittografia SMB nei client o nei percorsi UNC ospitati da server che non supportano la crittografia SMB, il client SMB non sarà in grado di accedere al percorso specificato. Inoltre, se si configura il server per la crittografia SMB ed è accessibile dai client che non lo supportano, tali client non potranno più accedere al percorso.
La protezione avanzata UNC consente di controllare i percorsi UNC per le impostazioni di sicurezza richieste e si rifiuterà di connettersi se un server non è riuscito a soddisfarli. A partire da Windows Server 2016 e Windows 10, la protezione avanzata UNC è abilitata per impostazione predefinita per le condivisioni SYSVOL e NETLOGON nei controller di dominio. Si tratta di uno strumento estremamente efficace contro lo spoofing e la manomissione perché il client può autenticare l'identità del server e convalidare l'integrità dei payload SMB.
Quando si configura la protezione avanzata UNC, è possibile specificare vari modelli di percorso UNC. Ad esempio:
\\<Server>\<Share>
- La voce di configurazione si applica alla condivisione con il nome specificato nel server specificato.\\*\<Share>
- La voce di configurazione si applica alla condivisione con il nome specificato in qualsiasi server.\\<Server>\*
- La voce di configurazione si applica a qualsiasi condivisione nel server specificato.
È possibile usare Criteri di gruppo per applicare la funzionalità di protezione avanzata UNC a un numero elevato di computer quando si è pronti per implementarla. Per maggiori informazioni sulla configurazione della protezione avanzata UNC tramite Criteri di gruppo, consultare il bollettino sulla sicurezza MS15-011.
Eseguire il mapping delle unità su richiesta con firma o crittografia imposti
Oltre alla protezione avanzata UNC, è possibile usare la firma o la crittografia durante il mapping delle unità di rete.
A partire da Windows versione 1709 e successive, è possibile creare unità crittografate o firmate mappate su richiesta usando Windows PowerShell o il prompt dei comandi. È possibile usare il comando NET USE
o il comando New-SmbMapping
di PowerShell per eseguire il mapping delle unità specificando i parametri RequireIntegrity (firma) o RequirePrivacy (crittografia).
I comandi possono essere usati dagli amministratori o inclusi negli script per automatizzare il mapping delle unità che richiedono controlli di crittografia o integrità.
I parametri non modificano il funzionamento della firma o della crittografia o i requisiti del dialetto. Se si tenta di eseguire il mapping di un'unità e il server rifiuta di rispettare le esigenze di firma o crittografia, il mapping dell'unità avrà esito negativo anziché connettersi in modo non sicuro.
Informazioni sulla sintassi e sui parametri per il comando New-SmbMapping
nell'articolo di riferimento Nuovo mapping SMB.
Oltre SMB
Interrompere l'uso di NTLM e aumentare la sicurezza Kerberos. È possibile iniziare abilitando il controllo per l'utilizzo di NTLM, quindi esaminando i log per trovare dove viene usato NTLM.
La rimozione di NTLM consente di proteggere l'utente da attacchi comuni, ad esempio pass-the-hash, forza bruta o tabelle hash arcobaleno a causa dell'uso di una funzione hash di crittografia MD4/MD5 precedente. Inoltre, NTLM non è in grado di verificare l'identità del server, a differenza di protocolli più recenti come Kerberos, rendendolo vulnerabile anche agli attacchi di inoltro NTLM. Molti di questi attacchi comuni sono facilmente mitigati con Kerberos.
Per informazioni su come controllare NTLM come parte dello sforzo necessario per iniziare la transizione a Kerberos, leggere l'articolo Valutazione dell'utilizzo di NTLM. Per maggiori informazioni sul rilevamento di protocolli non sicuri con Azure Sentinel, leggere l'articolo del blogGuida all'implementazione della cartella di lavoro protocolli non sicuri di Azure Sentinel.
In parallelo alla rimozione di NTLM, è consigliabile aggiungere altri livelli di protezione per gli attacchi offline e di passaggio di ticket. Usare gli elementi seguenti come guida per migliorare la sicurezza Kerberos.
- Distribuire Windows Hello for Business o smart card : l'autenticazione a due fattori con Windows Hello for Business aggiunge un intero nuovo livello di protezione. Informazioni su Windows Hello for Business.
- Applicare password e frasi lunghe: è consigliabile usare lunghezze di password più lunghe, ad esempio 15 caratteri o più, per ridurre la resistenza agli attacchi di forza bruta. È anche consigliabile evitare parole o frasi comuni per rendere la password ancora più forte.
- Distribuire la protezione password di Microsoft Entra per i servizi di dominio di Active Directory: usare protezione password con ID entra Microsoft per bloccare le password e i termini deboli noti specifici dell'organizzazione. Per maggiori informazioni, consultare la sezione Applicare la protezione password di Microsoft Entra locale per i servizi di dominio di Active Directory.
- Usare gli account del servizio gestito del gruppo ( gMSA): i servizi abilitati per gMSA con la costruzione casuale di 127 caratteri, fanno attacchi di forza bruta e dizionario per violare le password in modo incredibilmente dispendioso in termini di tempo. Per informazioni sugli account del servizio gestito del gruppo, leggere l'articolo Panoramica degli account del servizio gestito del gruppo.
- Blindatura Kerberos, nota come FAST (Flexible Authentication Secure Tunneling) - FAST impedisce il kerberoasting perché i dati di preautenticazione dell'utente sono protetti e non sono più soggetti ad attacchi di forza bruta o dizionario offline. Impedisce inoltre il downgrade degli attacchi dai KDC spoofed; per maggiori informazioni, consultare la sezione Blindatura Kerberos.
- Usare Windows Defender Credential Guard - Credential Guard rende più difficile la compromissione locale dei ticket impedendo il furto dei ticket e i ticket di servizio memorizzati nella cache. Per maggiori informazioni, leggere l'articolo Funzionamento di Windows Defender Credential Guard .
- Prendere in considerazione SCRIL: smart card obbligatoria per l'accesso interattivo - Quando si distribuisce SCRIL, AD modifica la password dell'utente in un set casuale a 128 bit che gli utenti non possono più usare per accedere in modo interattivo. SCRIL è in genere adatto solo ad ambienti con requisiti di sicurezza specifici. Per maggiori informazioni sulle strategie senza password, consultare la sezione Configurazione degli account utente per impedire l'autenticazione della password.
Passaggi successivi
A questo punto, sono stati illustrati alcuni dei controlli di sicurezza e delle mitigazioni per impedire l'intercettazione SMB, si comprenderà che non esiste un unico passaggio per impedire tutti gli attacchi di intercettazione. L'obiettivo è creare una combinazione ponderata, olistica e prioritaria di mitigazioni dei rischi che si estendono su più tecnologie attraverso difese a più livelli.
Puoi continuare a saperne di più su questi concetti negli articoli seguenti.