Breve guida al Server Message Block, una delle tecnologie più importanti per la condivisione di file e risorse in rete. Scopriamola insieme!

Negli anni 80 sono state inventate molte tecnologie rivoluzionarie, come l’HDTV, i videogiochi 3D e anche l’SMB, e sembra quasi che in quegli anni la passione per la tecnologia fosse eguagliata solo da quella per le sigle.

Tutti conosciamo bene il significato della maggior parte di questi acronimi, come i CD-ROM o la VGA, ma alcuni potrebbero non sapere cosa significa SMB, nonostante sia uno dei pilastri delle applicazioni informatiche contemporanee.

In poche parole, il protocollo SMB contribuisce a proteggere gli utenti sia dentro che fuori dai server di rete. Per sapere esattamente cos’è l’SMB, come funziona e perché è così importante per l’informatica di oggi e di ieri, continua a leggere questo post!

Cos’è il protocollo SMB

È un protocollo per la condivisione di risorse. Utilizza un modello client-server in cui gli utenti possono connettersi dai singoli dispositivi a un server per accedere a documenti, file e altre risorse interne.

SMB, inoltre, è un protocollo a livello di applicazione che utilizza un sistema di comunicazione per trasferire i file dai server agli utenti. Infine, questo protocollo si basa su un sistema di richiesta-risposta e consente lo scambio di messaggi tra utenti e server.

Funzioni dell’SMB

Come abbiamo visto, la funzione principale è quella di condividere risorse in rete, ma il protocollo SMB può essere utilizzato anche per altri scopi:

  • Blocchi opportunistici (i cosiddetti OpLock)
  • Comunicazione tra server
  • Condivisione dell’accesso a file, cartelle e stampanti
  • Accesso in lettura e modifica a una rete
  • Supporto dei link simbolici
  • Blocco dei file
  • Gestione delle modifiche a registri e directory
  • Failover trasparente, che semplifica la manutenzione dell’hardware e l’aggiornamento dei software
  • Condivisione in cluster tramite la modalità scale-out di SMB

Nel corso degli anni sono state rilasciate varie versioni e varianti dell’SMB, con funzionalità specifiche e più adatte a determinate operazioni e ambienti informatici. Per questo, le funzioni del protocollo SMB continuano a evolversi e migliorare nel tempo. Inoltre, le nuove versioni sono sempre più sicure rispetto alle precedenti, di cui le più vecchie sono state ritirate dal mercato e se ne sconsiglia l’uso perché facilmente sfruttabili da malware e hacker.

Sicurezza dell’SMB

L’ultima versione dell’SMB è la più sicura, sempre ammesso che venga aggiornata periodicamente e implementata nel modo giusto. Questo perché, come tutti i sistemi di sicurezza, potrebbe avere delle falle che vengono scoperte e sfruttate prima dai cybercriminali che dagli sviluppatori. Le versioni più sicure sono quelle a partire da SMB 3.0, in quanto dispongono della crittografia e altre funzionalità di sicurezza avanzate.

LEGGI ANCHE: Com’è cambiata la sicurezza di rete

Come funziona il protocollo SMB

Il protocollo SMB mette in comunicazione un client con un server e funziona grazie alla cooperazione di questi 4 elementi:

  • Client SMB. È il dispositivo principale che accede ai file e alle cartelle ospitate sul server SMB.
  • Porta SMB. È il sistema utilizzato dal server SMB per stabilire la connessione con il dispositivo del client. Le varianti moderne utilizzano la porta 445, mentre quelle più vecchie usavano la 139.
  • Server SMB. È il sistema informatico che ospita le risorse SMB e concede o nega l’accesso ai client.
  • Share SMB. Sono le risorse ospitate sul server SMB.

L’utente, ovvero il client SMB, deve utilizzare una porta SMB per inviare una richiesta di accesso al server. Poi, il server può accettare o rifiutare la richiesta. Se viene accettata, il client può accedere e visualizzare (o anche modificare) le share SMB. Le azioni che il client può compiere con le risorse dipendono dal tipo di accesso concesso dal server.

Storia e varianti del protocollo SMB

Il protocollo SMB è stato inventato da Barry Feigenbaum presso la IBM, ma la versione più conosciuta e utilizzata è quella modificata da Microsoft, che la utilizza per i sistemi Windows. Vediamo quali sono le varianti più importanti che si sono succedute negli anni:

  • SMB 1.0. Creato nel 1984, introdusse i blocchi opportunistici, in inglese conosciuti come OpLock, per snellire il traffico e ottimizzare l’impegno di banda (le prime versioni dell’SMB impiegavano una grande quantità di risorse).
  • CIFS. Introdotto nel 1996, CIFS sta per Common Internet File System ed è stato utilizzato inizialmente da Windows 95 – il sistema che ha rivoluzionato i personal computer e l’accesso a internet – e di fatto questa versione dell’SMB consentiva finalmente di condividere file più grandi rispetto al passato.
  • SMB 2.0. Lanciato nel 2006, ha migliorato le prestazioni sotto tutti gli aspetti: rendimento, sicurezza e velocità della connessione di rete nelle WAN.
  • SMB 2.1. Rilasciato a distanza di soli 4 anni dalla versione precedente (nel 2010), introduce una versione aggiornata degli OpLock, delle unità di trasmissione, dell’ottimizzazione energetica e dell’accesso ai file.
  • SMB 3.0. Implementato per la prima volta in Windows 8 nel 2021, SMB 3.0 è ancora più stabile, sicuro e gestibile, ma soprattutto è famoso per aver introdotto la crittografia SMB.
  • SMB 3.02. Risale al 2014 e introduce vari aggiornamenti a livello di sistema e compatibilità.
  • SMB 3.1.1. Implementato in Windows 10, dispone di crittografia avanzata, autenticazione, fencing dei nodi dei cluster e altre funzionalità.
Varianti SMBAnnoFunzionalità
SMB 1.01984- OpLock
- Condivisione file DOS
- Caching
CIFS1996- Supporto per i file
- Supporto per TCP/IP
- Link simbolici e hard link
SMB 2.02006- Meno scambi di comunicazione client-server
- Maggiore scalabilità
- Supporto per le WAN
SMB 2.12010- Implementazione delle OpLock tramite “lease”
- Supporto per MTU (Maximum Transmission Unit)
- Ibernazione
SMB 3.02012- SMB multicanale
- SMB diretto
- Supporto per il Remote Volume Shadow Copy Service
SMB 3.022014- Supporto flessibile per CIFS/SMB 1.0
- Rimozione file binari
SMB 3.1.12015- Fencing dei cluster
- Crittografia avanzata
- Integrità di preautenticazione

Autenticazione SMB

In modo simile all’approccio di sicurezza zero trust, SMB utilizza un protocollo di autenticazione per proteggere le share. A livello dell’utente, i client devono inserire un nome utente e una password quando richiedono l’accesso a un server SMB, che può essere concesso o negato dall’amministratore del sistema.

Una volta eseguita l’autenticazione, gli utenti possono accedere ai server e navigare nella rete, ma avranno comunque bisogno di una password specifica per ciascun file o cartella a cui vogliono accedere, che in gergo prende il nome di controllo di autenticazione a livello di share. Questo sistema di autenticazione multilivello contribuisce a proteggere sia gli utenti sia le share sul server.

Confronto tra CIFS e SMB

Da quando è stato lanciato nel 1996, il CIFS è diventato un sinonimo dell’SMB. Effettivamente, nelle prime implementazioni, CIFS e SMB erano molto simili e il CIFS era stato sviluppato come una variante dell’SMB 1.0.

Tuttavia, ci sono molte differenze tra queste due tecnologie. Infatti, spesso il CIFS viene considerato un dialetto dell’SMB, ovvero una delle varianti del protocollo originale. In modo simile alle altre varianti del protocollo, il CIFS non sfrutta tutte le sue potenzialità e, inoltre, l’SMB rimane più semplice da utilizzare.

CIFSSMB
SviluppatoreMicrosoftIBM
ProtocolloTCP/IP
Protocollo di rete per l’interfaccia
delle applicazioni
UtilizzoProgetti e organizzazioni
di grandi dimensioni

Tutti i tipi di progetti e organizzazioni
AutenticazioneNo
SicurezzaNon sicuro
Crittografia end-to-end
ComandiPiù di 10019
ComportamentoHa qualche difetto
Miglioramento continuo
Supportato daWindowsWindows, Unix, Samba e altri sistemi

Confronto tra Samba e SMB

Samba è stato creato nel 1991 per consentire ai programmi Windows e di altre piattaforme , come Linux e Unix, di comunicare tra loro. Samba si basa sull’SMB, ma ci sono alcune differenze importanti:

  • Flessibilità. Samba opera tra sistemi diversi come Linux e Unix, mentre SMB supporta Microsoft, iOS, Java, ThreadX e altri.
  • Licenze. La concessione delle licenze di Samba può essere complicata per alcuni server e sistemi.
  • Assistenza. SMB fornisce un servizio di assistenza diretto, mentre Samba richiede l’uso di un servizio di terze parti.

Inoltre, in quanto basato su un’interfaccia grafica, SMB è più facile da usare, configurare e implementare su più server, reti e sistemi operativi.

Pericoli dell’uso di SMB

Nonostante la crittografia end-to-end, i protocolli SMB sono un bersaglio degli hacker. Per accedere a una rete o un server protetto con SMB, un hacker può provare le seguenti strategie:

  • Attacco di forza bruta. È il metodo più comunemente utilizzato contro i protocolli SMB, in quanto con un po’ di tempo a disposizione è in grado di bucare l’autenticazione tramite username e password.
  • Attacchi man in the middle. Un hacker può provare a inserire del codice malevolo su un sistema per intercettare e alterare le comunicazioni tra server e client.
  • Attacchi di overflow del buffer. Un cybercriminale può provare a esaurire la memoria disponibile per causare crash e malfunzionamenti dei server, al fine di rendere le reti più vulnerabili.
  • Attacchi ransomware. L’obiettivo di un attacco contro il protocollo SMB di un server è spesso quello di eseguire un ransomware e rubare o cancellare le share ospitate.
  • Attacchi con codice da remoto. In modo simile agli attacchi man in the middle, è possibile iniettare del codice dannoso controllato da remoto per accedere a un nodo della rete.

Protezione SMB

La sicurezza offerta dal protocollo SMB deriva dalla sua struttura interna, ma dato che presenta comunque delle vulnerabilità, è possibile migliorare il livello di sicurezza con le seguenti tecniche:

  • Aggiornamenti periodici. Tenere aggiornati i sistemi permette di sfruttare tutte le patch di sicurezza più recenti e risolvere le vulnerabilità appena scoperte prima che gli hacker ne approfittino.
  • Corsi di cybersecurity per gli utenti. Chi lavora a contatto con server e con il protocollo SMB dovrebbe ricevere una formazione specifica anche sulle minacce di sicurezza e sugli strumenti da utilizzare per mitigare i danni.
  • Navigare con una VPN. L’uso di una rete privata virtuale rafforza la sicurezza delle reti aziendali; infatti, ormai la VPN è una risorsa imprescindibile di qualsiasi impresa, piccola o grande che sia.
  • Installare un antivirus. Anche l’antivirus, per quanto sembri scontato, è uno strumento di cybersecurity di cui non si può fare a meno per proteggere le comunicazioni client-server tramite protocollo SMB, ma di cui purtroppo ancora molte persone e aziende sottovalutano l’importanza.

In questo post abbiamo visto cos’è il protocollo SMB e abbiamo spiegato perché è importante per la sicurezza online e come si è evoluto negli anni, accompagnando da vicino lo sviluppo di Windows e l’interoperabilità tra sistemi. Non esistono sistemi a prova di bomba (soprattutto online), ma con una combinazione di risorse di sicurezza, protocolli come SMB e attenzione da parte delle persone, i rischi possono essere ridotti moltissimo.

CONTINUA A LEGGERE: Rete Wi-Fi ospiti, come crearla e perché

Buona navigazione e buona utilizzo del protocollo SMB!