SMB 1.0 2.0 3.0 协议 传输速度 对比
如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3 | Microsoft Learn
对于SMB(Server Message Block)协议1.0的漏洞,主要存在一些安全问题,这些问题可能会导致安全性风险。以下是一些常见的SMB 1.0协议的安全漏洞或问题:
-
SMB 1.0的安全性问题:SMB 1.0协议存在多个安全性问题,包括但不限于缓冲区溢出、拒绝服务攻击、信息泄露等。
-
WannaCry勒索软件攻击:2017年的WannaCry勒索软件利用了Windows操作系统中SMB 1.0协议的一个漏洞(命名为EternalBlue),通过此漏洞可以实现远程执行代码,并传播勒索软件。
-
Badlock漏洞:2016年发布的Badlock漏洞(CVE-2016-2118)涉及到SMB协议的几个实现(包括Samba),影响了许多系统,允许攻击者进行中间人攻击或信息泄露。
-
NULL会话攻击:SMB 1.0中的NULL会话(空会话)漏洞可以被攻击者利用,通过未经授权的访问获取系统的敏感信息。
-
SMB1远程代码执行漏洞:还有其他一些与SMB 1.0相关的漏洞,例如远程代码执行漏洞,可能允许攻击者远程执行恶意代码。
-
中间人攻击和信息泄漏:SMB 1.0协议在某些情况下可能容易受到中间人攻击的影响,导致敏感信息泄漏。这种攻击可以通过劫持SMB会话来获取或篡改传输的数据。
-
不安全的认证机制:SMB 1.0的认证机制相对较弱,容易受到密码嗅探和暴力破解攻击的影响。这可能导致未经授权的用户获取对共享资源的访问权限。
-
传输加密缺失:SMB 1.0在默认配置下可能没有数据传输加密,这使得传输的数据包容易被窃听和篡改。特别是在公共网络中,这种情况增加了数据泄露的风险。
-
未经授权的访问:由于SMB 1.0协议的一些实现可能存在配置错误或默认设置不安全的问题,攻击者可以利用这些漏洞进行未经授权的访问,并获取系统内的敏感信息或执行未授权操作。
-
-
操作系统和服务的支持限制:随着时间的推移,越来越多的操作系统和服务提供商停止对SMB 1.0的支持。这意味着使用SMB 1.0可能会限制到更老旧的软件和系统版本,这些版本通常存在更多已知的安全漏洞和风险。
-
安全性配置建议:如果环境中仍然需要使用SMB 1.0协议,强烈建议对其进行严格的安全性配置,包括但不限于限制访问、实施强密码策略、启用加密传输以及定期审计和监控SMB流量。
-
遗留系统和应用支持:某些遗留系统或应用程序可能仍然依赖于SMB 1.0协议,因此在升级或禁用之前,需要确保这些系统或应用能够平稳地迁移到更安全的替代方案或协议。
-
行业合规性要求:在某些行业中,可能会有特定的合规性要求或标准,规定必须使用安全性较高的网络协议和措施。这些要求可能涉及禁用SMB 1.0以符合安全标准。
随着信息安全意识的提升和攻击手法的不断演变,SMB 1.0协议的安全性问题日益凸显。组织和管理员应该采取积极的措施,及时升级或禁用SMB 1.0,以降低因此带来的安全风险,并确保网络和数据的安全性和完整性。
-
关于SMB 2.0协议的漏洞,需要注意的几个重要问题包括:
-
SMB 2.0的安全性提升:相较于SMB 1.0,SMB 2.0和后续版本引入了许多安全改进,如消息签名、加密传输等,显著提升了协议的安全性。但是,即使有这些改进,SMB 2.0也并非完全没有漏洞。
-
漏洞类型和影响:过去SMB 2.0和SMB 3.x版本曾经发现过一些漏洞,例如中间人攻击、拒绝服务(DoS)攻击等。这些漏洞可能会影响到协议的安全性和稳定性,使得攻击者有机可乘。
-
漏洞修复和安全更新:Microsoft和其他供应商通常会定期发布更新来修复SMB协议的漏洞。因此,对于管理员来说,保持及时更新操作系统和相关安全补丁至关重要,以减少已知漏洞对系统的影响。
-
最佳实践和安全配置:即使协议本身可能存在漏洞,通过实施安全配置和最佳实践,如启用认证、加密传输、访问控制等措施,可以显著减少SMB协议被利用的风险。
-
监控和响应:在现代网络环境中,不仅仅要依赖于预防措施,还应该实施有效的监控和响应策略,及时检测并应对潜在的攻击行为和异常活动。
虽然SMB 2.0相对于SMB 1.0有了显著的安全改进,但管理员仍然需要注意并采取适当的安全措施来应对潜在的安全威胁和漏洞。
SMB 2.0协议的漏洞,一些已知的问题和安全漏洞包括:
-
中间人攻击:在传输过程中,未加密的SMB 2.0流量容易受到中间人攻击的威胁,攻击者可以截取和篡改通信数据。
-
拒绝服务攻击(DoS):攻击者可能利用特定的SMB 2.0请求或响应来导致服务拒绝,使服务器无法响应合法用户的请求。
-
缓冲区溢出:SMB 2.0实现中可能存在缓冲区溢出漏洞,攻击者通过精心构造的恶意请求可以触发这些漏洞,执行恶意代码或者导致服务崩溃。
-
信息泄露:某些情况下,SMB 2.0可能会泄露敏感信息,例如文件路径、用户名等,这可能会被攻击者利用来进一步攻击系统或者进行其他恶意活动。
-
未经身份验证的访问:在某些情况下,配置不当或者错误的权限设置可能导致未经授权的用户能够访问SMB 2.0共享的内容,这可能会导致信息泄露或者数据损坏。
这些问题强调了在配置和使用SMB 2.0时需要注意的安全问题。为了减少这些潜在的漏洞带来的风险,管理员应该始终保持系统更新,并且配置SMB 2.0以使用最佳的安全实践,如启用消息签名、加密传输、合适的访问控制等。
SMB 3.0(Server Message Block version 3.0)是一个用于文件共享、打印服务以及作为在应用程序间通信的协议。然而,SMB 3.0协议在处理某些操作时可能存在安全漏洞,这些漏洞可能被攻击者利用以执行未授权操作。其中,较为著名的SMB 3.0漏洞是CVE-2020-0796,以下是关于该漏洞的详细信息:
CVE-2020-0796漏洞
1. 漏洞概述
- 发布时间:2020年3月10日,微软官方发布了针对该漏洞的安全通告。
- 漏洞类型:远程代码执行漏洞。
- 影响范围:主要影响Windows 10的1903和1909版本,以及Windows Server的1903和1909版本(Server Core安装)。
- 漏洞原理:该漏洞允许未经身份验证的攻击者通过向受影响的SMBv3服务器发送特制的压缩数据包来执行任意代码。攻击者还可以通过配置恶意SMBv3服务器并诱导用户连接来攻击客户端。
2. 漏洞影响
- 该漏洞的严重程度被标记为Critical(关键),其后果与“永恒之蓝”类似,存在被蠕虫化利用的可能性,如制作类似于WannaCry的蠕虫病毒进行大规模传播和破坏。
- 由于受影响的Windows 10版本较为常见,因此潜在威胁较大。
3. 缓解措施
- 禁用SMBv3压缩功能:微软官方建议通过PowerShell命令禁用SMBv3的压缩功能,以阻止攻击者利用该漏洞。具体命令为:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force
。 - 安装安全补丁:微软发布了针对该漏洞的安全补丁(如KB4551762),用户应及时更新系统以安装补丁。
- 封堵相关端口:若无业务必要,可在网络安全域边界防火墙封堵文件打印和共享端口(TCP 135/139/445)。
其他SMB 3.0漏洞
除了CVE-2020-0796之外,SMB 3.0协议还可能存在其他未公开的漏洞或已知但影响较小的漏洞。这些漏洞的具体信息和缓解措施可能会随着微软的安全更新而不断变化。
结论
SMB 3.0漏洞,特别是CVE-2020-0796,对用户的信息安全构成了严重威胁。用户应密切关注微软的安全通告,及时更新系统以安装补丁,并采取必要的缓解措施来保护自己的网络安全。同时,也应注意防范其他可能存在的SMB 3.0漏洞。
SMB over QUIC(Server Message Block over QUIC)是Windows Server中的一个相对较新的功能,它使用QUIC(Quick UDP Internet Connections)协议作为SMB(Server Message Block)协议的传输层。SMB over QUIC旨在提供更安全、更可靠的文件共享和打印服务。然而,像其他任何技术一样,SMB over QUIC也可能存在安全漏洞。
SMB over QUIC 的已知漏洞
目前,关于SMB over QUIC的特定漏洞,最为显著的是CVE-2023-24898,该漏洞由Akamai的研究人员发现,并报告给了Microsoft。
CVE-2023-24898
1. 漏洞概述
- 发现时间:由Akamai的研究人员Ben Barnea在2023年发现。
- 影响版本:主要影响Windows Server 2022 Azure Edition中启用了SMB over QUIC功能的系统。
- 漏洞类型:远程服务拒绝(DoS)漏洞。
- 漏洞原理:该漏洞源于srvnet.sys驱动程序的缓冲区分配中缺少必要的检查。攻击者可以通过发送特制的SMB over QUIC数据包,绕过最大允许大小的验证,并请求异常大的内存分配,从而导致服务器内存耗尽,最终引发服务拒绝攻击。
2. 漏洞影响
- 仅有使用SMB over QUIC的服务器存在此漏洞。
- 攻击者无需身份验证即可通过互联网触发此漏洞。
- 漏洞的利用受到服务器可用内存量的限制,通常在内存不超过32GB的服务器上更容易被利用。
3. 缓解措施
- 安装补丁:Microsoft已在2023年5月的“Patch Tuesday”中发布了针对此漏洞的安全补丁。用户应尽快为受影响的系统安装补丁。
- 关闭SMB over QUIC功能:作为临时缓解措施,如果不需要SMB over QUIC功能,可以考虑关闭它。但请注意,这将影响使用SMB over QUIC的文件共享和打印服务。
其他潜在漏洞
虽然目前关于SMB over QUIC的已知漏洞主要集中在CVE-2023-24898上,但随着技术的不断发展和应用范围的扩大,未来可能会出现新的漏洞。因此,用户应密切关注Microsoft和其他安全机构发布的安全通告和更新。
总结
SMB over QUIC作为一种新兴的技术,在提高文件共享和打印服务的性能和安全性方面具有重要意义。然而,与任何新技术一样,它也存在潜在的安全风险。用户应通过安装补丁、关闭不必要的功能以及密切关注安全通告等方式来降低安全风险。
在SMB 1.0中,数据传输速度的上限受到多种因素的制约,例如网络带宽、硬件配置、文件大小和数量等等。通常情况下,SMB 1.0的最大传输速度约为100 Mbps(每秒传输1亿位),这主要取决于以太网硬件的限制。但需要注意的是,由于SMB 1.0已经过时,并存在安全漏洞,因此不建议使用它进行数据传输。如果你需要进行文件共享或数据传输,建议升级到更高版本的SMB协议。
SMB 2.0及以上的版本在吞吐量和性能方面都有了显著的改进。根据Microsoft的官方文档,SMB 2.0的理论最大速度约为2 Gbps(每秒传输2亿位),而SMB 3.0甚至可以达到10 Gbps的传输速度。当然,实际的速度还是会受到一些因素的影响,例如网络拥塞、负载均衡、硬盘IO、CPU使用率等等。
SMB(Server Message Block)是一种用于在计算机之间共享文件、打印机和其他资源的网络协议。随着时间的推移,SMB协议也经历了多次更新和改进。以下是SMB 1.0、SMB 2.0和SMB 3.0之间的主要区别和更新:
-
SMB 1.0:是最早的SMB版本,最初由IBM开发。它使用广泛,但安全性较差,存在多个漏洞,这些漏洞可以被黑客用来进行攻击。因此,建议不要使用SMB 1.0。
-
SMB 2.0:是SMB协议的重大更新,增加了许多新特性和改进,包括更快的性能、更好的可扩展性、更好的容错性、加密支持等等。SMB 2.0还引入了一种新的状态量度方法,称为Compound TCP(CTCP),以自适应地调整网络速度,从而优化传输性能。
-
SMB 3.0:进一步扩展和改进了SMB 2.0的特性,提供了更高的性能和更好的安全性。其中最显著的变化是引入了SMB Direct协议,这是一种使用远程直接内存访问(RDMA)技术实现的高性能数据传输方式,可以直接在内存中传输数据,避免了网络协议和操作系统的开销。
总的来说,SMB 2.0和SMB 3.0的主要改进在于性能、可靠性和安全性方面。这两个版本相比SMB 1.0有更好的支持大文件传输和高带宽网络的能力。同时,SMB 3.0提供了更强大的加密、认证和授权功能,以保护数据的安全性。如果可能,建议使用更新的SMB版本。
SMB(Server Message Block)是一个早期的计算机网络协议,用于在计算机之间共享文件、打印机和其他资源。SMB 1.0最早出现在1984年,而SMB 2.0和SMB 3.0则分别于2006年和2012年推出。以下是它们的主要功能和版本信息:
SMB 1.0:
- 年代:1984年
- 功能:文件和打印机共享、消息传输、远程过程调用等。
- 版本:也称为CIFS(Common Internet File System),由微软开发。Windows操作系统中默认启用SMB 1.0,但其存在多个安全漏洞,不建议使用。
SMB 2.0:
- 年代:2006年
- 功能:更快的性能、更好的可扩展性、更好的容错性、加密支持等等。SMB 2.0还引入了一种新的状态量度方法,称为Compound TCP(CTCP),以自适应地调整网络速度,从而优化传输性能。
- 版本:Windows Vista及以上系统默认启用SMB 2.0,Mac OS X 10.7及以上版本也支持SMB 2.0。
SMB 3.0:
- 年代:2012年
- 功能:进一步扩展和改进了SMB 2.0的特性,提供了更高的性能和更好的安全性。其中最显著的变化是引入了SMB Direct协议,这是一种使用远程直接内存访问(RDMA)技术实现的高性能数据传输方式,可以直接在内存中传输数据,避免了网络协议和操作系统的开销。
- 版本:Windows 8及以上系统默认启用SMB 3.0,Mac OS X 10.9及以上版本也支持SMB 3.0。
总的来说,随着SMB协议的不断更新和改进,每个版本都提供了更多的功能和改善,以确保更好的性能、可靠性和安全性。如果可能,建议使用更新的SMB版本。
SMB(Server Message Block)协议是一种用于在计算机之间共享文件、打印机和其他资源的网络通信协议。目前广泛使用的 SMB 协议有以下几个主要版本:
-
SMB 1.0:也称为 CIFS(Common Internet File System),是最早的 SMB 协议版本,最初由 IBM 开发。尽管在过去得到了广泛应用,但由于安全性和性能方面的局限性,现在已经逐渐被淘汰。
-
SMB 2.0:这是对 SMB 协议进行了全面重新设计的版本,引入了更好的性能、可靠性和安全性。SMB 2.0 首次出现在 Windows Vista 和 Windows Server 2008 中。
-
SMB 2.1:这是对 SMB 2.0 的轻微修改和扩展,主要用于改进性能和修复一些问题。SMB 2.1 首次出现在 Windows 7 和 Windows Server 2008 R2 中。
-
SMB 3.0:这是当前最新的版本,引入了许多新特性,包括加密传输、持久化句柄、远程 VSS 等,大大提高了性能和安全性。SMB 3.0 首次出现在 Windows 8 和 Windows Server 2012 中。
-
SMB 3.1.1:这是目前最新的SMB协议版本,引入了一些新的特性,包括预取、加密性能提升、安全性增强等。SMB 3.1.1 进一步改进了SMB 3.0版本的性能和安全性。
-
SMB Direct:也称为 SMB over RDMA(Remote Direct Memory Access),它允许SMB协议直接在RDMA网络上运行,从而提供了更高的性能和更低的CPU开销。
-
SMB Multichannel:这是一种SMB协议的特性,允许多个网络连接并行使用,以提高带宽和容错能力。
-
SMB Encryption:SMB 3.0及更新版本引入了对数据传输的加密支持,通过加密可以保护数据的机密性和完整性。
SMB over QUIC 是 Windows Server 2022 中的一个新特性,它支持通过基于 UDP 的 Quick UDP Internet Connections (QUIC) 协议来进行 SMB 流量传输。这项特性允许通过互联网加速访问文件共享,并可能替代 VPN。SMB over QUIC 利用 TLS 1.3 进行传输层安全性保护,并使用由 Google 开发的 SPDY 协议实现多路复用,允许通过单一连接传输不同的数据流,从而显著减少加载时间。此外,QUIC 还提供了诸如唯一序列号、前向纠错、拥塞控制和身份验证等功能 4 。
然而,SMB over QUIC 也存在一些限制。例如,它仅适用于 Windows Server 2022 Azure Edition,并且在 Microsoft 云中可用,或在 Azure Stack HCI 上的虚拟机中运行。普通的 Hyper-V 服务器则不支持。此外,QUIC 的数据包头部包含的明文信息少于 TCP 连接,这使得故障排除、流量控制或网络管理变得更加困难。还有关于拥塞控制的问题,可能会影响传输速率,尽管目前还在对此进行优化 4 。
SMB over QUIC 的配置可以通过 Windows Admin Center (WAC) 或 PowerShell 完成。配置时需要选择 SSL 证书,并设置允许客户端连接的地址。高级设置中还包括激活 SMB 加密以及允许对命名管道的访问等选项 4 。
需要注意的是,SMB over QUIC 曾存在一个重要漏洞(CVE-2023-24898),位于 srvnet.sys 驱动程序中,可能导致未经身份验证的互联网攻击者对 Windows Server 2022 机器发起远程拒绝服务(DoS)攻击。这个漏洞仅影响使用 SMB over QUIC 的服务器,且只影响 Windows Server 2022 Azure Edition。Akamai 已向微软通报了这一漏洞,微软也在 2023 年 5 月的“周二补丁日”发布了对应的安全补丁
当涉及SMB协议时,还有一些相关的重要概念和技术需要考虑:
-
SMB文件共享:SMB协议最常见的用途是用于在网络上共享文件和打印机。通过SMB协议,用户可以访问位于远程计算机上的文件、文件夹和打印机,实现资源共享和数据交换。
-
SMB安全性:随着对网络安全的日益关注,SMB协议的安全性也越来越重要。在新的SMB版本中,加密传输、数字签名验证等安全机制得到了加强,以保护数据不受未经授权的访问和篡改。
-
SMB管理:针对SMB协议的管理,包括访问控制、共享设置、性能优化等方面,有许多工具和方法可供管理员使用,以确保系统的正常运行和安全性。
-
SMB在云存储中的应用:随着云计算的发展,SMB协议在云存储中的应用也变得越来越普遍。例如,许多云存储服务提供商支持SMB协议,使用户可以轻松地将其本地存储与云存储进行集成。
SMB协议作为一种重要的网络文件共享协议,在网络环境中扮演着至关重要的角色。随着技术的不断发展,SMB协议也在不断演进和改进,以满足现代网络环境下对文件共享和数据交换的需求。
-
TCP 445:
- 这是用于Microsoft Windows网络文件共享服务(SMB/CIFS)的标准端口。它允许计算机之间共享文件、打印机以及其他资源。
-
QUIC(Quick UDP Internet Connections)443:
- QUIC是一个由Google开发的基于UDP的传输协议,旨在提供更快的连接建立和传输速度。通常使用UDP端口443进行通信,用于加密的Web服务。
-
RDMA(Remote Direct Memory Access)IWARP 5445:
- RDMA是一种技术,允许计算机系统通过绕过操作系统和CPU来直接访问另一台计算机的内存。IWARP是一种在TCP/IP网络上实现RDMA的技术标准。端口5445通常用于RDMA over Converged Ethernet (RoCE)。
这些端口和协议在不同的网络场景中发挥重要作用,如文件共享、加密通信和高性能数据传输。确保网络设备和服务正确配置这些端口和协议,可以帮助保证网络通信的安全性、效率和性能。
PowerShell中的New-SmbMapping
命令用于在当前会话中创建一个新的 SMB 映射(SMB share)。这个命令通常用于在 PowerShell 脚本中或交互式会话中连接到远程共享文件夹或网络驱动器。以下是它的功能和作用:
-
连接到共享文件夹:
- 可以使用
New-SmbMapping
命令连接到远程的 SMB 共享文件夹,这允许用户在本地文件系统中访问远程共享的文件和文件夹。
- 可以使用
-
网络驱动器映射:
New-SmbMapping
命令可以将远程共享映射为本地计算机上的网络驱动器。这样做可以方便用户在文件资源管理器或通过命令行访问共享内容,就像访问本地驱动器一样。
-
脚本和自动化:
- 对于脚本和自动化任务,
New-SmbMapping
可以在脚本中使用,允许程序员和系统管理员动态地创建和管理共享映射,从而简化和自动化文件传输和访问任务。
- 对于脚本和自动化任务,
-
参数设置:
- 通过
New-SmbMapping
命令,可以指定远程共享的路径、本地驱动器的名称、凭据等选项,以确保连接的安全性和正确性。
- 通过
示例用法如下:
New-SmbMapping -RemotePath "\\server\share" -LocalPath "Z:" -Credential $cred
这条命令将远程的 \\server\share
共享映射为本地的 Z: 驱动器,使用提供的凭据($cred)。这样,用户可以通过 Z: 驱动器访问远程共享的文件和文件夹。
New-SmbMapping
是一个强大的 PowerShell 命令,用于在 Windows 系统中管理和连接到 SMB 共享,适用于自动化任务和管理远程文件访问。