Definire SMB e le relative considerazioni sulla sicurezza

Completato

La gestione della collaborazione e della condivisione dei dati è una parte importante delle responsabilità di un amministratore IT. Per adempiere a queste responsabilità, è utile comprendere le tecnologie alla base della condivisione file di Windows, ad esempio il protocollo SMB (Server Message Block).

Che cos'è SMB?

SMB (Server Message Block) è un protocollo di condivisione file di rete basato su TCP/IP che consente alle applicazioni in un computer di leggere i file e scrivere al loro interno, nonché di richiedere servizi da programmi server in una rete di computer. Usando il protocollo SMB, un'applicazione (o l'utente di un'applicazione) può accedere a file o ad altre risorse presso un server remoto. Ciò consente alle applicazioni di leggere, creare e aggiornare file nel server remoto.

Quali sono i vantaggi del protocollo SMB 3.x?

Microsoft ha sviluppato Server Message Block (SMB) negli anni '80. La specifica originale, SMB 1, era poco efficiente per quanto riguarda la larghezza di banda e non offriva un livello di sicurezza adeguato. Le versioni successive di SMB hanno risolto queste problematiche grazie a funzionalità quali la crittografia predefinita, SMB multicanale e SMB diretto.

SMB 2.0, introdotto da Microsoft in Windows Server 2008, offre miglioramenti significativi in termini di prestazioni, tuttavia non risolve in modo significativo le problematiche di sicurezza.

SMB 3.0, introdotto da Microsoft in Windows Server 2012, include le funzionalità seguenti:

  • Failover trasparente SMB. Questa funzionalità consente di eseguire la manutenzione hardware o software dei nodi in un file server in cluster senza interrompere le applicazioni server che archiviano i dati nelle condivisioni file.
  • Scalabilità orizzontale SMB. Nelle configurazioni in cluster è possibile creare condivisioni file che forniscono accesso simultaneo ai file di dati, con input/output (I/O) diretto, in tutti i nodi in un cluster di file server.
  • Crittografia SMB. Questa funzionalità fornisce la crittografia end-to-end dei dati SMB nelle reti non attendibili e consente di proteggere i dati dalle intercettazioni.
  • Comandi di Windows PowerShell per la gestione di SMB. È possibile gestire le condivisioni file nel file server, end-to-end, dalla riga di comando.
  • SMB multicanale. Questa funzionalità consente di aggregare la larghezza di banda di rete e la tolleranza di errore della rete se sono disponibili più percorsi tra il client e il server SMB 3.x.
  • SMB diretto. Questa funzionalità supporta le schede di rete con funzionalità RDMA (Remote Direct Memory Access, Accesso diretto a memoria remota) e che possono essere eseguite alla massima velocità con una latenza molto bassa e usando un tempo di elaborazione minimo della CPU.

SMB 3.1.1, introdotto da Microsoft in Windows Server 2016, offre diversi miglioramenti aggiuntivi, tra cui:

  • Integrità di preautenticazione. L'integrità di preautenticazione offre una maggiore protezione dagli attacchi man-in-the-middle che possono manomettere la creazione e l'autenticazione dei messaggi di connessione SMB.
  • Miglioramenti della crittografia SMB. La crittografia SMB, introdotta con SMB 3.0, usa un algoritmo di crittografia fisso, AES-128-CCM. L'algoritmo AES-128-GCM, disponibile con SMB 3.1.1, offre tuttavia prestazioni migliori con la maggior parte dei processori moderni.
  • Rimozione dell'impostazione RequireSecureNegotiate. Poiché alcune implementazioni di SMB di terze parti non eseguono correttamente questa negoziazione, Microsoft fornisce un'opzione per disabilitare la negoziazione sicura. L'impostazione predefinita per i server e i client SMB 3.1.1 prevede tuttavia l'uso dell'integrità di preautenticazione, come descritto in precedenza.

Quali sono i casi d'uso più comuni dei miglioramenti apportati alle prestazioni di SMB 3.x?

SMB diretto e SMB multicanale consentono di distribuire un'archiviazione conveniente, sempre disponibile e ad alte prestazioni per le applicazioni server nei file server. Sia SMB multicanale che SMB diretto sono abilitati per impostazione predefinita in Windows Server. È possibile usare più connessioni di rete contemporaneamente con SMB multicanale, in modo da migliorare le prestazioni complessive di condivisione dei file. SMB diretto garantisce che più schede di rete coordinino il trasferimento di grandi quantità di dati alla velocità della linea, usando un minor numero di cicli della CPU.

Le condivisioni file basate su SMB diretto e SMB multicanale forniscono un'alternativa all'archiviazione dei file in dispositivi iSCSI (Internet Small Computer System Interface) o SAN (Storage Area Network, rete di archiviazione) Fibre Channel. Quando si crea una macchina virtuale in Hyper-V in Windows Server, è possibile specificare una condivisione di rete quando si sceglie la posizione della macchina virtuale e quella del disco rigido virtuale. È anche possibile collegare dischi archiviati in condivisioni file SMB 3.x. Con questo approccio, è possibile ottenere la disponibilità elevata non tramite il clustering di nodi Microsoft Hyper-V, ma usando file server in cluster che ospitano i file delle macchine virtuali nelle condivisioni file. Questa funzionalità è detta File server di scalabilità orizzontale. Con questa funzionalità, Hyper-V può archiviare tutti i file delle macchine virtuali, inclusi i file di configurazione, i file con estensione VHD e i checkpoint, in condivisioni file SMB a disponibilità elevata.

Nota

L'isolamento del dialetto del cluster, disponibile a partire da SMB 3.1.1, fornisce supporto per gli aggiornamenti del cluster tra versioni consecutive del sistema operativo per i file server di scalabilità orizzontale.