如何在Linux或Unix上配置Samba以使用SMBv2并禁用SMBv1
如何在CentOS Linux版本7服务器上的samba配置中禁用SMB1协议。
是否可以在Linux或类似UNIX的操作系统上禁用SMBv1?
说明:WannaCrypt/WannaCry以Microsoft Windows操作系统为目标。
该攻击通过网络钓鱼电子邮件进行传播,但也使用了美国国家安全局(NSA)开发的EternalBlue漏洞和DoublePulsar后门。
如果您使用的是较旧且不受支持的操作系统,例如Windows XP和Windows Server 2003,则将被感染。
您的所有文件都会被加密。
要取回文件,您需要用加密货币比特币支付赎金。
Microsoft已发布了Windows XP和Windows Server 2003的软件更新。
您必须尽快在Windows操作系统上应用这些修补程序。
简而言之,Linux/Unix用户不受此攻击的影响。
但是,必须在Linux或类似Unix的系统上运行的Samba服务器上禁用SMBv1。
在Linux或Unix上配置Samba以使用SMBv2并禁用SMBv1
让我们看看如何在类似Linux或Unix的系统上禁用SMBv1。
使用Samba时在Linux或Unix上禁用SMBv1
Samba是SMB或CIFS协议的开源实现,该协议允许PC兼容机(尤其是Windows oese)与Linux共享文件,打印机和其他信息,反之亦然。
启用SMBv2的配置
编辑smb.conf文件,运行:
$ sudo vi /etc/samba/smb.conf
找到[global]部分,并添加以下行:
min protocol = SMB2
这是我的更新文件:
如何在Linux或Unix上的samba中强制使用SMB2协议
正如下面许多评论部分所述,以下似乎也适用于Windows 10/Linux客户端:
protocol = SMB2
对于samba版本4.x,您可以设置
protocol = SMB3
保存并关闭文件。
了解smb.conf中的最小和最大协议级别
- 客户端最小协议(client min protocol)此设置控制客户端将尝试使用的最低协议版本。
- " client max protocol"(客户端最大协议)参数的值(字符串)是客户端将支持的最高协议级别。
- SMB2:重新实现SMB协议。由Windows Vista和更高版本的Windows使用。 SMB2具有可用的子协议:SMB2_02:最早的SMB2版本。
SMB2_10
:Windows 7 SMB2版本。 (默认情况下,SMB2选择SMB2_10变体。)- SMB2_22:早期的Windows 8 SMB2版本。
SMB2_24
:Windows 8 beta SMB2版本。- SMB3:与SMB2相同。 Windows 8使用。SMB3具有可用的子协议。 SMB3具有可用的子协议:SMB3_00:Windows 8 SMB3版本。 (与SMB2_24大致相同)
SMB3_02
:Windows 8.1 SMB3版本。- SMB3_10:早期Windows 10技术预览版SMB3版本。
SMB3_11
:Windows 10技术预览版SMB3版本(可能是最终版本)。默认情况下,SMB3选择SMB3_11变体。
因此,设置以下内容是最佳选择:
client min protocol = SMB2 client max protocol = SMB3
有关更多信息,请参见smb.conf。
重新启动samba服务器
在CentOS 7/RHEL 7/Fedora Linux上运行以下命令:
$ sudo systemctl restart smb.service
在Debian 8.x/Ubuntu 16.04 LTS Linux上运行以下命令:
$ sudo systemctl restart smbd.service
请注意:Samba版本4.11在默认情况下会删除SMB1协议版本。
但是,在较旧的Linux和Unix发行版上,您需要手动禁用它,以避免安全问题。