保护 Windows 服务器中的 SMB 流量

作为深层防御措施,可以使用分段和隔离技术来保护 SMB 流量,并减少网络设备之间的威胁。

SMB 用于文件共享、打印和进程间通信,如命名管道和 RPC。 它还可用作存储空间直接、存储副本、hyper-v 实时迁移和群集共享卷等技术的网络数据构造。 使用下列部分来配置 SMB 流量分段和终结点隔离,以帮助防止出站和横向网络通信。

阻止入站 SMB 访问

阻止来自企业硬件防火墙的 internet 上的 TCP 端口445入站。 阻止入站 SMB 流量阻止从 internet 进行访问,从而保护网络内的设备。

如果希望用户在网络边缘以入站的状态访问其文件,可以在 QUIC 上使用 SMB。 默认情况下,此设置使用 TCP 端口443,并为 SMB 流量提供 TLS 1.3 加密安全隧道(如 VPN)。 解决方案需要 Windows 11 和 Windows Server 2022 Datacenter: Azure Stack HCI 上运行的 Azure Edition 文件服务器。 有关详细信息,请参阅 QUIC 上的 SMB

阻止出站 SMB 访问

阻止在公司防火墙上向 internet 出站 TCP 端口445。 阻止出站 SMB 流量会阻止网络内的设备使用 SMB 向 internet 发送数据。

不太可能需要使用 TCP 端口445连接到 internet,除非你需要将它作为公有云产品/服务的一部分。 主要方案包括 Azure 文件和 Office 365。

如果使用的是 Azure 文件 SMB,请将 VPN 用于出站 VPN 流量。 通过使用 VPN,可以将出站流量限制为所需的服务 IP 范围。 有关 Azure 云和 Office 365 IP 地址范围的详细信息,请参阅:

  • Azure IP 范围和服务标记: 公有云美国政府云德国云中国云。 JSON 文件每周更新一次,并为完整文件和每个单独的服务标记包含版本控制。 AzureCloud标记提供云的 IP 范围 (公有、美国政府、德国或中国) ,并按该云中的区域进行分组。 文件中的服务标记将随着 Azure 服务的增加而增加。
  • Office 365 url 和 IP 地址范围

使用 Windows 11 和 Windows Server 2022 Datacenter: Azure 版本,你可以使用 QUIC 上的 SMB 连接到 Azure 中的文件服务器。 默认情况下,此设置使用 TCP 端口443,并为 SMB 流量提供 TLS 1.3 加密安全隧道(如 VPN)。 有关详细信息,请参阅 QUIC 上的 SMB

清点 SMB 使用情况和共享

通过清点网络的 SMB 流量,你可以了解发生的流量并确定是否需要。 使用以下问题清单来帮助确定不必要的 SMB 流量。

对于服务器终结点:

  1. 哪些服务器终结点需要入站 SMB 访问权限来执行其角色? 是否需要从所有客户端、特定网络或特定节点进行入站访问?
  2. 对于剩余的服务器终结点,是否需要入站 SMB 访问?

对于客户端终结点:

  1. (例如,Windows 10) 需要入站 SMB 访问权限的客户端终结点? 是否需要从所有客户端、特定网络或特定节点进行入站访问?
  2. 对于剩余的客户端终结点,是否需要入站 SMB 访问?
  3. 对于剩余的客户端终结点,是否需要运行 SMB 服务器服务?

对于所有终结点,确定是否允许处于最安全和最小方式的出站 SMB。

查看需要 SMB 入站的服务器内置角色和功能。 例如,文件服务器和域控制器需要 SMB 入站才能执行其角色。 有关内置角色和功能网络端口要求的详细信息,请参阅Windows 的服务概述和网络端口要求

查看需要从网络内部访问的服务器。 例如,可能需要在网络中的任何位置访问域控制器和文件服务器。 但是,可以将应用程序服务器访问限制为同一子网上的一组其他应用程序服务器。 你可以使用以下工具和功能来帮助你清点 SMB 访问权限:

检查 SMB 日志可了解哪些节点正在通过 SMB 与终结点通信。 你可以决定是否正在使用终结点的共享并了解哪些共享存在。

配置 Windows Defender 防火墙

使用防火墙规则来添加额外的连接安全性。 配置规则以阻止包含异常的入站和出站通信。 一种出站防火墙策略,阻止在托管网络内部和外部使用 SMB 连接,同时允许访问最小服务器集,而无其他设备为横向防御深层度量值。

有关需要为入站和出站连接设置的 SMB 防火墙规则的信息,请参阅支持文章: 阻止横向连接中的 smb 流量并进入或离开网络

支持文章包括以下模板:

  • 基于任意类型的网络配置文件的入站规则。
  • 专用/域 (受信任的) 网络的出站规则。
  • 来宾/公有 (不受信任的) 网络的出站规则。 此模板在不在阻止出站流量的防火墙后面的移动设备和基于家庭的远程办公设备上强制实施,这一点很重要。 在便携式计算机上实施这些规则可以减少将用户发送到恶意服务器以获取凭据或运行攻击代码的网页仿冒攻击的几率。
  • 如果有包含域控制器和文件服务器的替代 允许列表 的出站规则, 则允许连接(如果安全)。

若要使用 null 封装 IPSEC 身份验证,你必须在网络中所有参与规则的计算机上创建安全连接规则。 否则,防火墙例外将不起作用,并且你将只能被随机阻止。

注意

在广泛部署之前,应测试安全连接规则。 不正确的规则可能会阻止用户访问其数据。

若要创建连接安全规则,请使用 "高级安全" 控制面板或管理单元中的 Windows Defender 防火墙:

  1. 在 Windows Defender 防火墙中,选择 "连接安全规则" 并选择一个新规则
  2. 在 " 规则类型" 中选择 隔离 ,然后选择 " 下一步"。
  3. 在 "要求" 中,选择入站和出站连接的请求身份验证,然后选择下一步
  4. 在 " 身份验证方法" 中,选择 计算机和用户 (Kerberos V5) ,然后选择 " 下一步"。
  5. 配置文件中,选中 "所有配置文件 (域、专用、公用) ,然后选择" 下一步"。
  6. 输入规则名称,然后选择 " 完成"。

请记住,必须在参与入站和出站规则的所有客户端和服务器上创建连接安全规则,否则会阻止它们连接 SMB 出站。 这些规则可能已经存在于你的环境中的其他安全工作,如防火墙入站/出站规则,可以通过组策略进行部署。

当基于 " 阻止来自横向连接的 SMB 流量" 和 "输入或离开网络 支持" 一文中的模板配置规则时,请设置以下各项以自定义 " 允许连接" 安全 操作:

  1. 在 " 操作 " 步骤中,选择 "如果安全,则允许连接" ,然后选择 " 自定义"。
  2. 在 "自定义允许安全设置中,选择" 允许连接使用 null 封装 "

如果 "安全" 选项允许替代全局阻止规则,则 " 允许连接" 。 你可以使用轻松但最不安全的 连接,以将 null 封装用于 * 替代阻止规则,这些规则依赖于 Kerberos 和域成员身份进行身份验证。 Windows Defender 防火墙允许更安全的选项(如 IPSEC)。

有关配置防火墙的详细信息,请参阅具有高级安全性的 Windows Defender 防火墙的部署概述

禁用 SMB 服务器(如果未使用)

Windows 客户端和网络上的某些 Windows 服务器可能不需要 SMB 服务器服务运行。 如果 SMB 服务器服务不是必需的,则可以禁用该服务。 在禁用 SMB 服务器服务之前,请确保计算机上没有应用程序和进程需要该服务。

当你准备好实现时,你可以使用组策略首选项来禁用大量计算机上的服务。 有关配置组策略首选项的详细信息,请参阅 配置服务项

使用策略进行测试和部署

首先,请在选择的服务器和客户端上使用小规模的手动部署进行测试。 使用分阶段组策略部署来进行这些更改。 例如,从 SMB 的最繁忙用户开始,如您自己的 IT 团队。 如果在部署入站和出站防火墙规则后,你的团队的便携式计算机和应用和文件共享访问很好地工作,请在你的广泛测试和 QA 环境中创建测试组策略。 根据结果,开始采样一些部门计算机,然后展开。

后续步骤

观看 Jessica Payne 的 Ignite 会议会议解Windows防火墙