====== 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?
* :!: [[https://f-droid.org/en/packages/me.zhanghai.android.files/|Material Files]]: No. Uses %%dialect[0x0311]%%
* :!: [[https://f-droid.org/en/packages/com.ghostsq.commander/|Ghost Commander]]: No. Uses %%dialect[0x0210]%%
* :!: [[https://f-droid.org/en/packages/com.amaze.filemanager/|Amaze]]: No. Uses %%dialect[0x0210]%%
* :?: [[https://f-droid.org/it/packages/com.google.android.sambadocumentsprovider/|Android Samba Client]]: Yes, but how does it work? Cannot use with Google Files or other file managers.