页面内容:

什么是SMB协议?
SMB协议是如何工作的?
SMB协议版本的发展
SMB与CIFS的对比

如果你关注科技新闻,你可能已经听说了利用SMB漏洞在全球范围内进行的网络攻击。你可能之前没有听说过SMB或服务器消息块协议,但如果你是Windows用户,你已经在使用它了。所以,如果这让你对Windows系统的安全性感到担忧,并想知道“什么是SMB”以及它有多安全,那就继续阅读这篇文章吧。

什么是SMB协议?

SMB(Server Message Block)或者服务器消息块是一种通信协议,采用客户端-服务器模型来共享网络上连接系统的文件、资源和通信。它允许连接的系统跨网络远程打开、编辑、共享或打印文件。SMB 协议的创建是为了使局域网中的用户能够轻松、安全地相互分享和修改文件。它的设计目的是取代早期版本Windows中的文件共享协议,如CIFS和NFS。

SMB 协议是如何工作的?

服务器消息块(SMB)协议遵循客户端-服务器架构在网络中进行通信。服务器拥有可供网络中其他计算机(称为客户端)根据请求共享的文件或资源。SMB协议也被称为响应-请求协议,因为客户端通过发送SMB请求来初始化连接。服务器返回SMB响应,在确认后建立双向通信通道以共享资源或文件。

SMB 主要工作在网络的 应用层,直接基于 TCP/IP 协议或其他网络协议。关于 SMB 的工作,主要有四个组件:SMB 服务器、SMB 客户端、SMB 共享和 SMB 端口。资源所在的系统称为 SMB 服务器,请求系统的称为 SMB 客户端。需要共享的资源称为 SMB 共享,而其运行的端口称为 SMB 端口。

SMB 协议版本开发

SMB(Server Message Block)协议最初由IBM在1983年开发,后来被微软用于Windows操作系统中。为了应对新的挑战,该协议经历了多次发展和变革。SMB协议的不同版本被称为“方言”。以下是不同方言的简要介绍:

1. SMB 1.0:Server Message Block 1.0,一种文件共享协议,常用于Windows操作系统中的网络通信。

这是IBM于1984年为DOS系统引入的原始SMB版本。SMB 1.0包含了Oplock功能,基于NetBIOS和TCP/IP接口运行,但它存在一些问题,如不支持加密、通信过于频繁以及安全性极低。

2. SMB 2.0(Server Message Block 2.0)

随着2006年Windows Vista的发布,SMB 2.0被引入。相比于SMB 1.0版本,这是一个重大改进。增加的功能包括减少指令和命令以降低通信复杂性,支持WAN加速以及预认证完整性。与使用16位数据大小的SMB 1.0不同,它使用32位或64位的数据大小。

3. SMB 2.1

SMB 2.1是在2010年随着Windows 7和Windows Server 2008 R2一起推出的。它在SMB 2.0版本的基础上进行了小幅改进,特别是在Oplock(操作锁定)方面,以增强缓存和性能。此版本的SMB还添加了最大传输支持(MTU)和改进的节能模式。

4. SMB 3.0 (Server Message Block 3.0)

2012年,随着Windows 8和Windows Server 2012的发布,SMB 3.0问世。这是SMB协议的下一个重大更新,引入了端到端加密以及许多其他功能,如SMB直通、SMB多通道、远程卷影复制服务支持等。这使得SMB协议在性能、安全、管理、可用性和备份方面都有了显著的提升。

5. SMB 3.02 (Server Message Block 3.02)

SMB 3.02是在2014年随着Windows 8.1和Windows Server 2012 R2一起引入的,目的是为了应对SMB 1.0版本的漏洞。它允许用户完全禁用系统中的SMB 1.0,从而提高系统的安全性并提升SMB的速度。

6. SMB 3.1.1 协议

SMB的最后一个主要方言是SMB 3.1.1,它于2015年随着Windows 10和Windows Server 2016一同发布。这个版本增加了诸如使用AES-128高级加密、目录缓存、增强对中间人攻击的安全防护、集群方言围栏等功能。最新的Windows 11操作系统也使用了SMB 3.1.1方言,并且具备改进的功能。

SMB 与 CIFS 之间的差异

CIFS,或Common Internet File System,是微软在1996年随着Windows 95引入的SMB(Server Message Block)的一个版本或方言。它是SMB 1.0的改进版,但在此之后,发布了许多更改进和安全的SMB版本。下表解释了SMB和CIFS之间的重要差异。

特性 SMB CIFS
网络性能 SMB 2.0 和 3.0 版本显著提高了减少聊天次数、快速速度和增强性能。 CIFS 因其频繁的通信而闻名,导致网络性能速度缓慢等问题。
易用性 在 SMB 2.0 中,SMB 运行所需的指令和命令减少到 19 条,这极大地提高了整体性能。 CIFS 需要数百条指令和命令来执行文件传输。记住这么多命令对用户来说是一场噩梦。
身份验证检查 从 SMB 2.0 版本开始,SMB 引入了预身份验证检查。它保护文件,除非提供用户名和密码,否则不允许任何人访问。 在 CIFS 中没有预身份验证检查。在文件传输过程中,文件在系统上是开放的,任何用户都可以访问。
加密 SMB 3.0 及更高版本支持端到端高级加密,以确保文件传输期间的数据安全。SMB 的最新版本支持 AES-256 加密。 CIFS 不提供加密。使用 CIFS 传输的数据容易受到恶意攻击。
安全风险 SMB 2.0 及更高版本是安全的,不受恶意软件威胁。SMB 协议中包含的高级加密使其高度安全。 CIFS 缺乏安全性,容易受到恶意软件攻击。NotPetya 和 WannaCry 等恶意软件攻击是通过利用 CIFS 漏洞实施的。

SMB(Small and Medium-sized Business)常见问题解答

以上已经详细讨论了SMB是什么、它是如何工作的以及它的不同版本等所有重要细节。如果你对SMB有更多的疑问,可以查看下面的部分,我们已经回答了互联网上关于SMB最常见的FAQ。

1. SMB(Server Message Block)协议仍然在使用吗?

是的,最新的Windows 11操作系统仍然使用SMB(Server Message Block)进行网络文件传输。它使用的是最新版本的SMB协议,即SMB 3.1.1,该版本具备改进的功能,如AES-256加密、支持加密的SMB Direct等。

2. SMB安全吗?

是的,最新版本的SMB的安全性非常先进,对恶意软件攻击具有高度抵抗力。而较旧的版本,如SMB 1.0和CIFS,容易受到网络攻击,应该从您的系统中删除。

SMB(Server Message Block)协议通常使用以下端口: - TCP 445:这是SMBv2和SMBv3的主要端口。 - UDP 137和138:这些端口用于NetBIOS(网络基本输入/输出系统)名称解析,是SMBv1的一部分,但不是必需的。 请注意,SMBv1由于安全问题已被弃用,大多数现代系统使用SMBv2或SMBv3。

SMB(Server Message Block)协议需要一个开放的端口来在网络上传输文件。目前,SMB协议使用445端口,因为它直接运行在TCP/IP协议上。较旧的版本使用137、138和139端口。

SMB(Server Message Block)和FTP(File Transfer Protocol)都是用于文件共享和传输的协议,但它们之间存在一些优势差异: 1. **集成性**:SMB 更加紧密地集成在Windows操作系统中,使得在Windows网络环境中共享文件和打印机更为便捷。而FTP需要专门的服务器软件来运行。 2. **安全性**:SMB 支持多种安全协议,如NTLM、Kerberos和SSL/TLS,可以提供身份验证和数据加密。相比之下,FTP在不使用额外的安全扩展(如FTPS或SFTP)时,数据传输可能不安全。 3. **权限管理**:SMB 提供更细粒度的权限控制,允许管理员为用户分配特定的访问权限,如读取、写入和执行。FTP通常只有基本的读/写访问控制。 4. **断点续传**:虽然FTP支持断点续传,但这需要服务器和客户端都支持此功能。SMB通常不需要这个特性,因为它通常在连续的网络环境中工作。 5. **网络效率**:SMB 优化了在网络上的性能,例如通过缓存和减少网络通信。FTP则相对简单,可能需要更多的网络往返。 6. **多会话处理**:SMB 支持多个并发会话,允许用户同时处理多个文件或操作。FTP通常一次只处理一个文件传输。 总的来说,SMB 在Windows环境中提供了更全面、安全和高效的文件共享体验,而FTP则更倾向于作为通用的、跨平台的文件传输解决方案。

SMB (Server Message Block) 和 FTP (File Transfer Protocol) 是用于在网络中传输文件的协议。SMB 接口简单,相对于 FTP 更加易用。除了文件传输,SMB 还允许共享如打印机等资源,而这是 FTP 无法做到的。在局域网内进行文件传输和资源共享时,SMB 是最佳的选择。而当需要跨互联网传输文件时,FTP 是更好的选择。

结论

系统的安全性至关重要,因为它通常包含您的重要和敏感数据。网络攻击,尤其是勒索软件,日益常见。您需要密切关注系统中运行的软件和进程,确保它们不会构成安全风险。如果您正在使用MSB的旧版本,应立即禁用或卸载它们,以保护您的系统安全。