SMB (Server Message Block) è un protocollo di condivisione di file di rete che consente alle applicazioni in un computer di leggere e scrivere da/su file, nonché di richiedere servizi da programmi server in una rete di computer. Il protocollo SMB può essere usato in aggiunta al proprio protocollo TCP/IP o ad altri protocolli di rete. 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. Può anche comunicare con qualsiasi programma server configurato per ricevere una richiesta client SMB.Windows Server 2012 introduce la nuova versione 3.0 del protocollo SMB.
Il protocollo SMB si divide in due parti, la parte client e la parte server.
SMB SERVER
WINDOWS 8 – WINDOWS 10 – WINDOWS SERVER 2012 – WINDOWS SERVER 2012 R2 – WINDOWS SERVER 2016
Per questi sistemi operativi è stato introdotto il nuovo cmdlet di Windows PowerShell Set-SMBServerConfiguration, che consente di abilitare o disabilitare i protocolli SMBv1, SMBv2 e SMBv3 per quanto riguarda la componente server.
NOTA BENE: dopo l’esecuzione del comando Set-SMBServerConfiguration non è necessario riavviare il computer.
SMB v1
Eseguire i comandi riportati di seguito da una Powershell lanciata con diritti amministrativi.
RILEVAMENTO
0 |
Get-SmbServerConfiguration | Select EnableSMB1Protocol
|
DISABILITAZIONE
0 |
Set-SmbServerConfiguration -EnableSMB1Protocol $false
|
Cliccare Yes per disattivare il protocollo SMB
Se il comando è stato eseguito correttamante non dovremmo ricevere nessun messaggio come mostrato nell’immagine sovrastante.
Adesso se proviamo a rilanciare il comando Get-SmbServerConfiguration | Select EnableSMB1Protocol noteremo che il protocollo è stato disattivato.
ABILITAZIONE
0 |
Set-SmbServerConfiguration -EnableSMB1Protocol $true
|
Cliccare Yes per attivare il protocollo SMB
Se il comando è stato eseguito correttamante non dovremmo ricevere nessun messaggio come mostrato nell’immagine sovrastante.
Adesso se proviamo a rilanciare il comando Get-SmbServerConfiguration | Select EnableSMB1Protocol noteremo che il protocollo è stato riattivato.
SMB v2 – SMB v3
Per la versione SMB v2 e SMB v3 la procedura è la stessa riportata sopra cambiano solo i comandi:
RILEVAMENTO
0 |
Get-SmbServerConfiguration | Select EnableSMB2Protocol
|
DISABILITAZIONE
0 |
Set-SmbServerConfiguration -EnableSMB2Protocol $false
|
ABILITAZIONE
0 |
Set-SmbServerConfiguration -EnableSMB2Protocol $true
|
WINDOWS 7 – WINDOWS SERVER 2008 – WINDOWS SERVER 2008 R2
Eseguire i comandi riportati di seguito da una Powershell lanciata con diritti amministrativi.
NOTA BENE: Questi comandi richiedono PowerShell 2.0 o versione successiva.
SMB v1
Eseguire i comandi riportati di seguito da una Powershell lanciata con diritti amministrativi.
RILEVAMENTO
0 |
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
|
NOTA BENE: Per configurazione predefinita è Abilitato (non viene creata alcuna chiave di registro), pertanto non dovremmo vedere alcun valore SMB1 (vedi immagine precedente)
DISABILITAZIONE
0 |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force
|
Se il comando è stato eseguito correttamante non dovremmo ricevere nessun messaggio come mostrato nell’immagine sovrastante.
Adesso se proviamo a rilanciare il comando Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath} noteremo che è presente la DWORD SMB1 con valore settato a 0
ABILITAZIONE
0 |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 –Force
|
Se il comando è stato eseguito correttamante non dovremmo ricevere nessun messaggio come mostrato nell’immagine sovrastante.
Adesso se proviamo a rilanciare il comando Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath} noteremo che è presente la DWORD SMB1 con valore settato a 1
NOTA BENE: dopo aver apportato queste modifiche, è necessario riavviare il computer per renderle effettive.
SMB v2 – SMB v3
Per la versione SMB v2 e SMB v3 la procedura è la stessa riportata sopra cambiano solo i comandi:
RILEVAMENTO:
0 |
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
|
DISABILITAZIONE:
0 |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 –Force
|
ABILITAZIONE:
0 |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force
|
Inoltre è possibile modificare direttamante le seguenti chiavi di registro per abilitare o disabilitare il protocclo SMB v1 o SMB v2
Per abilitare o disabilitare SMBv1 nel server SMB, configura la seguente chiave del Registro di sistema:
Sottochiave del Registro di sistema: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Elemento del Registro di sistema: SMB1
REG_DWORD: 0 = Disabilitato
REG_DWORD: 1 = Abilitato
Impostazione predefinita: 1 = Abilitato (Non viene creata alcuna chiave del registro di sistema)
Per abilitare o disabilitare SMBv2 nel server SMB, configurare la seguente chiave del Registro di sistema:
Sottochiave del Registro di sistema: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Voce del Registro di sistema: SMB2
REG_DWORD: 0 = Disabilitato
REG_DWORD: 1 = Abilitato
Impostazione predefinita: 1 = Abilitato (Non viene creata alcuna chiave del registro di sistema)
NOTA BENE: dopo aver apportato queste modifiche, è necessario riavviare il computer per renderle effettive.
SMB CLIENT
Questa configurazione è bvalida per tutte le tipolgie di sistemi operativi Microsoft.
SMB v1
E’ Possibile agire sul protocollo tramite console DOS con diritti amministrativi e quindi eseguendo i comandi sotto riportati:
RILEVAMENTO:
0 |
sc.exe qc lanmanworkstation |
DISABILITAZIONE:
0
1
|
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
|
ABILITAZIONE:
0
1
|
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto
|
NOTA BENE
Questi comandi devono essere eseguiti da un prompt dei comandi con privilegi elevati.
Dopo aver apportato queste modifiche, è necessario riavviare il computer.
Per disabilitare il protocollo tramite registro di sistema di seguito i valori che è possibile assegnare:
Disable driver (recommended)
Registry Hive HKEY_LOCAL_MACHINE
Registry Path SYSTEM\CurrentControlSet\Services\MrxSmb10
Value Name Start
Value Type REG_DWORD
Value 4
Manual start (default for Win7/2008/2008R2/2012)
Registry Hive HKEY_LOCAL_MACHINE
Registry Path SYSTEM\CurrentControlSet\Services\MrxSmb10
Value Name Start
Value Type REG_DWORD
Value 3
Automatic start (default for Win8.1/2012R2/newer)
Registry Hive HKEY_LOCAL_MACHINE
Registry Path SYSTEM\CurrentControlSet\Services\MrxSmb10
Value Name Start
Value Type REG_DWORD
Value 2
NOTA BENE
Dopo aver apportato queste modifiche, è necessario riavviare il computer.
SMB v2 – SMB v3
Per la versione SMB v2 e SMB v3 la procedura è la stessa riportata sopra cambiano solo i comandi:
RILEVAMENTO:
0 |
sc.exe qc lanmanworkstation |
DISABILITAZIONE:
0
1
|
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
|
ABILITAZIONE:
0
1
|
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto
|
NOTA BENE
Questi comandi devono essere eseguiti da un prompt dei comandi con privilegi elevati.
Dopo aver apportato queste modifiche, è necessario riavviare il computer.
Per disabilitare il protocollo tramite registro di sistema di seguito i valori che è possibile assegnare:
Disable driver (recommended)
Registry Hive HKEY_LOCAL_MACHINE
Registry Path SYSTEM\CurrentControlSet\Services\MrxSmb20
Value Name Start
Value Type REG_DWORD
Value 4
Manual start (default for Win7/2008/2008R2/2012)
Registry Hive HKEY_LOCAL_MACHINE
Registry Path SYSTEM\CurrentControlSet\Services\MrxSmb20
Value Name Start
Value Type REG_DWORD
Value 3
Automatic start (default for Win8.1/2012R2/newer)
Registry Hive HKEY_LOCAL_MACHINE
Registry Path SYSTEM\CurrentControlSet\Services\MrxSmb20
Value Name Start
Value Type REG_DWORD
Value 2
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
0 commenti