SMB encryption
Il protocollo SMB prevede la possibilità di cifrare il traffico solo a partire dalla versione 3.0 del protocollo, questo è disponibile in Windows 8 e successivi. La connessione cifrata avviene comunque sulla porta TCP/445.
L'opzione in /etc/samba/smb.conf per controllare la cifratura del traffico è server smb encrypt, il valore predefinito per Samba 4.17 è if_required, quindi ogni client che dovesse effettuare una connessione non cifrata viene tranquillamente accettato.
Per forzare la cifratura (cioè impedire connessioni in chiaro) si può mettere in /etc/samba/smb.conf:
[global] server smb encrypt = required
In questo modo, se un client tenta una connessione senza cifratura, la connessione viene rifiutata e si trova questo nei file di log (impostare almeno log level = 3):
[2024/04/19 16:07:18.562429, 1] ../../source3/smbd/smb2_sesssetup.c:283 (smbd_smb2_auth_generic_return) reject session with dialect[0x0311] as encryption is required [2024/04/19 16:07:18.562462, 3] ../../source3/smbd/smb2_server.c:3961 (smbd_smb2_request_error_ex) smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_ACCESS_DENIED] || at ../../source3/smbd/smb2_sesssetup.c:147
Client Android per SMB encryption
Quali client SMB esistono nel mondo Android che supportano la cifratura su SMB?
- Material Files: No. Uses dialect[0x0311]
- Ghost Commander: No. Uses dialect[0x0210]
- Amaze: No. Uses dialect[0x0210]
- Android Samba Client: Yes, but how does it work? Cannot use with Google Files or other file managers.