如何在 Linux 系统中修复 SambaCry 漏洞 (CVE-2017-7494)?
介绍
随着技术的进步,网络威胁也日益增多。保护您的网络免受这些威胁从未像现在这样重要。
其中一种威胁是 SambaCry 漏洞 (CVE-2017-7494),如果未及时解决,它有可能危及整个网络。在本文中,我们将讨论什么是 SambaCry,为什么修复它很重要,以及如何在您的 Linux 系统上解决此漏洞。
了解 Samba 和 SambaCry 漏洞
什么是 Samba?
Samba 是一个开源软件包,它允许 Linux/Unix 服务器与基于 Windows 的客户端之间进行互操作。它允许 Linux/Unix 服务器为基于 Windows 的客户端提供文件和打印机共享等服务。“Samba”这个名字来源于 SMB(服务器消息块),这是 Microsoft Windows 用于通过网络共享文件、打印机和其他资源的协议。
什么是 SambaCry 漏洞?
SambaCry 漏洞 (CVE-2017-7494) 指的是在 Samba 3.5.0 及更高版本中实现的 SMB/CIFS 网络协议中发现的安全漏洞。此漏洞允许远程攻击者通过网络发送特制的包来在易受攻击的系统上执行任意代码。它被称为“SambaCry”,因为它是在 WannaCry 勒索软件攻击(利用了另一个 SMB 漏洞)出现的同时被发现的。
它是如何工作的?
SambaCry 漏洞通过利用 smbd 守护程序中的缓冲区溢出条件来工作,该守护程序在 TCP 端口 445 上侦听来自使用 SMB/CIFS 协议的客户端的传入连接。通过发送包含过多数据的特制数据包,攻击者可以导致 smbd 崩溃或以 root 权限在目标系统上执行任意代码。一旦进入系统,攻击者可以执行各种恶意活动,例如下载和执行恶意软件、窃取敏感数据或加密文件以勒索赎金。
需要注意的是,此漏洞不仅影响运行 Samba 的 Linux 系统,还影响其他设备,例如使用嵌入式版本的 Samba 的路由器、NAS(网络附加存储)设备和物联网 (IoT) 设备。因此,这些系统/设备的用户必须了解此漏洞的工作原理,并采取必要的预防措施来保护其系统免受攻击。
检查您的系统是否受到 SambaCry 漏洞的影响
使用命令行工具检查漏洞
在继续进行修复之前,务必确保您的系统确实容易受到 SambaCry 攻击。Linux 系统有几个命令行工具可用于检查是否存在此漏洞。其中一个工具是“nmap”,它允许您扫描您的系统以查找开放的端口和服务。
要使用 nmap 扫描您的系统,首先,请确保您的系统上已安装 nmap,可以使用您发行版的包管理器安装。安装完成后,运行以下命令:
sudo nmap -p 445 --script smb-vuln-cve-2017-7494
将 `` 替换为目标机器的 IP 地址。
输出将显示目标机器是否容易受到攻击。另一个可使用的命令行工具是“smbclient”。
此工具扫描远程主机上的特定服务器服务,可用于检查在 IP 地址上运行的特定版本的 Samba 服务器服务是否包含 Sambacry 利用的漏洞。要使用 smbclient,请运行:
smbclient ///IPC$ -N
如果响应中没有错误,则表示在 Samba 中未检测到任何漏洞。
使用漏洞扫描器检查漏洞
除了命令行工具之外,还可以使用漏洞扫描器。此处可以使用的一个流行的扫描器是 Nessus 扫描器。
在 Nessus 安装并配置在您的 Linux 系统或托管扫描器的虚拟机上(可以通过 Docker 容器运行)后,添加一个新的扫描策略,并在起始页面上从“策略模板”列表中选择“高级扫描”。在“高级扫描”设置中,您可以选择 SMB 漏洞模板来配置扫描。这将自动检查指定 IP 范围内是否存在 SambaCry 漏洞。
Nessus 扫描器的报告应显示目标系统是否容易受到 SambaCry 攻击。建议同时运行这两种类型的测试(命令行和漏洞扫描器),以确保您的系统不会暴露于此漏洞。
修复漏洞
使用最新补丁更新您的系统
修复 SambaCry 漏洞的第一步之一是使用最新补丁和安全更新来更新您的 Linux 系统。为此,您可以在终端中键入以下命令:
sudo apt-get update && sudo apt-get upgrade
这将更新系统上的所有软件包并应用任何可用的安全更新。请记住,此命令可能需要几分钟才能完成,具体取决于需要更新的软件包数量。
还建议您定期检查是否有新更新并在第一时间应用它们,因为新漏洞随时可能出现。通过使您的系统保持最新安全补丁,您可以减轻潜在风险并保护您的网络免受攻击。
将安全更新应用于您的系统
除了使用最新补丁更新您的 Linux 系统之外,定期检查和应用任何可用的安全更新也很重要。这些更新专为帮助抵御 SambaCry 等已知漏洞而设计。要检查是否有可用的安全更新,请在终端中键入以下命令:
sudo apt-get install unattended-upgrades
此命令安装一个工具,该工具会自动下载并在您的 Linux 系统上安装关键的安全升级。这是抵御 SambaCry 等漏洞的最简单方法之一。
在您的系统上禁用 SMBv1 协议
修复 SambaCry 漏洞的另一种方法是在您的 Linux 系统上禁用 SMBv1 协议。此协议由旧版本的 Windows 操作系统(例如 Windows XP)用于通过网络连接共享文件。要在 Ubuntu 16.04 LTS 或更高版本的 Linux 系统上禁用 SMBv1 协议,请在终端中键入以下命令:
echo "[global]
client min protocol = SMB2" | sudo tee -a /etc/samba/smb.conf
此命令禁用 SMBv1 协议并强制系统使用 SMBv2 或更高版本。但是,请注意,这可能会导致与旧版本的 Windows 操作系统出现兼容性问题。
使用最新补丁和安全更新更新您的 Linux 系统、应用任何可用的安全更新以及禁用 SMBv1 协议是修复 SambaCry 漏洞的有效方法。通过采取这些步骤,您可以帮助保护您的网络免受潜在攻击并确保您的数据安全。
结论
SambaCry 漏洞对 Linux 系统构成了严重威胁,需要立即解决。我们概述了确定您的系统是否容易受到攻击以及如何修复它的必要步骤。安装安全更新、禁用 SMBv1 协议以及实施其他安全措施将有助于保护您的系统免受未来的攻击。
我们首先解释了什么是 SambaCry 漏洞以及它是如何工作的。然后,我们提供了检查您的系统是否受漏洞影响的方法。在确定您的系统容易受到攻击后,我们提供了修复它的步骤,包括使用最新补丁更新您的系统、将安全更新应用于您的系统以及在您的系统上禁用 SMBv1 协议。
需要注意的是,修复 SambaCry 漏洞不应被视为一次性任务,而应视为一个持续的过程。定期进行安全审计并及时更新安全更新将有助于防止未来的漏洞被利用。