====== Ubuntu - Samba - SMB Protocol Versions ====== According to the [[https://wiki.samba.org/index.php/LinuxCIFSKernel|Samba Official Wiki]] the Linux cifs kernel client has been included in the kernel since kernel version 2.5.42. SMB3 is the now the default dialect (SMB3.02/SMB3/SMB2.1 dialects are requested by default). CIFS protocol (and other old dialects) can be selected (by specifying "vers=1.0" or "vers=2.02" in the mount options. |vers=3.11|SMB3_11|Latest, more secure version. SMB3.11 can also be requested (vers=3.1.1). By default SMB3 selects the SMB3_11 variant.| |vers=3.10|SMB3_10|Early Windows 10 technical preview.| |vers=3.02|SMB3_02|Windows 8.1| |vers=3.0|SMB3|Windows 8, Windows Server 2012. Mostly the same as SMB2_24| |vers=2.24|SMB2_24|Windows 8 beta SMB2 version.| |vers=2.22|SMB2_22|Early Windows 8 SMB2 version.| |vers=2.1|SMB2_10|Windows 7, Windows Server 2008 R2. The default is SMB2 is selected.| |vers=2.0|SMB2_02|Vista SP1, Windows Server 2008| |vers=1.0|SMB1|NT1 i.e. Windows 95, NT 4.0| ---- Specify with "vers=" and consider that the Linux kernel does not fully support all of the features in these new SMB versions. The newest, most secure dialect, SMB3.11 can also be requested (vers=3.1.1). ---- Add the following lines to /etc/samba/smb.conf TODO: Some of these may not work - so try different combinations. PETER=FIX this server min protocol = SMB2 server max protocol = SMB3 client min protocol = SMB2 client max protocol = SMB3 min protocol = SMB2 max protocol = SMB3 protocol = SMB2 client ipc min protocol = SMB2 ---- ===== Configuration to enable SMBv2 ===== Edit smb.conf file: Find the [global] section and append the following line: ... [global] ... min protocol = SMB2 ... WannaCry can spread via SMBv2 as well: https://securelist.com/blog/incidents/78351/wannacry-ransomware-used-in-widespread-attacks-all-over-the-world/ The following gives best options: client min protocol = SMB2 client max protocol = SMB3 Also this works well: server min protocol = SMB2_10 client max protocol = SMB3 client min protocol = SMB2_10 ---- ===== Errors ===== Server: min protocol = SMB2 Client: smbclient -U=username -N –command=”dir Directory/*” //192.168.0.1/Directory Error: protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE Try to Use: protocol = SMB2