保護 Windows Server 中的 SMB 流量

作為深度防禦措施,您可以使用分割和隔離技術來保護 SMB 流量並減少網路上裝置之間的威脅。

SMB 用於檔案共用、列印和處理程序間通訊,例如命名管道和 RPC。 它也作為網路數據網狀架構,用於儲存空間直接存取、儲存體複本、Hyper-V 即時移轉和叢集共用磁碟區等技術。 使用下列各節來設定 SMB 流量分割和端點隔離,以協助防止輸出和橫向網路通訊。

封鎖輸入 SMB 存取

在您的公司硬體防火牆封鎖來自網際網路的 TCP 連接埠 445 輸入。 封鎖輸入 SMB 流量會防止從網際網路存取來保護網路內的裝置。

如果您希望使用者在網路邊緣存取其檔案輸入,您可以使用 SMB over QUIC。 這預設會使用 UDP 連接埠 443,並提供 TLS 1.3 加密的安全性通道,例如 SMB 流量的 VPN。 此解決方案需要 Windows 11 和 Windows Server 2022 Datacenter:在 Azure Stack HCI 上執行的 Azure Edition 檔案伺服器。 如需詳細資訊,請參閱 SMB over QUIC

封鎖輸出 SMB 存取

在您的公司防火牆封鎖 TCP 連接埠 445 輸出至網際網路。 封鎖輸出 SMB 流量可防止網路內的裝置使用 SMB 將資料傳送至網際網路。

您不太可能需要允許任何使用 TCP 連接埠 445 到網際網路的輸出 SMB,除非您需要將其作為公用雲端產品的一部分。 主要案例包括 Azure 檔案和 Office 365。

如果您使用 Azure 檔案 SMB,請使用 VPN 進行輸出 VPN 流量。 藉由使用 VPN,您可以將輸出流量限制在所需的服務 IP 範圍內。 如需 Azure 雲端和 Office 365 IP 位址範圍的詳細資訊,請參閱:

使用 Windows 11 和 Windows Server 2022 Datacenter:Azure Edition,您可以使用 SMB over QUIC 連線到 Azure 中的檔案伺服器。 這預設會使用 UDP 連接埠 443,並提供 TLS 1.3 加密的安全性通道,例如 SMB 流量的 VPN。 如需詳細資訊,請參閱 SMB over QUIC

清查 SMB 使用量和共用

藉由清查網路的 SMB 流量,您可以了解發生的流量,並可以判斷其是否必要。 使用下列問題檢查清單來協助識別不必要的 SMB 流量。

伺服器端點:

  1. 哪些伺服器端點需要輸入 SMB 存取權才能執行其角色? 是否需要來自所有用戶端、特定網路或特定節點的輸入存取?
  2. 在其餘伺服器端點中,是否需要輸入 SMB 存取?

用戶端端點:

  1. 哪些用戶端端點 (例如 Windows 10) 需要輸入 SMB 存取? 是否需要來自所有用戶端、特定網路或特定節點的輸入存取?
  2. 在其餘用戶端端點中,是否需要輸入 SMB 存取?
  3. 在其餘用戶端端點中,是否需要執行 SMB 伺服器服務?

針對所有端點,決定是否以最安全、最簡單的方式允許輸出 SMB。

檢閱需要 SMB 輸入的伺服器內建角色和功能。 例如,檔案伺服器和網域控制器需要 SMB 輸入才能執行其角色。 如需內建角色和功能網路連接埠需求的詳細資訊,請參閱Windows 的服務概觀和網路連接埠需求

檢閱需要從網路內部存取的伺服器。 例如,可能需要在網路中的任何位置存取網域控制器和檔案伺服器。 但是,應用程式伺服器存取可能僅限於同一子網路上的一組其他應用程式伺服器。 您可以使用下列工具和功能來協助您清查 SMB 存取:

  • 使用 AZSBTools 模組集中的 Get-FileShareInfo 命令來檢查伺服器和用戶端上的共用。
  • 使用登錄機碼 Security Settings\Advanced Audit Policy Configuration\Audit Policies\Object Access\File Share 啟用 SMB 輸入存取的稽核記錄。 由於事件數量可能很大,請考慮啟用指定的時間量或使用 Azure 監視器

檢查 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 防火牆部署概觀

更新的防火牆規則 (預覽版)

重要

Windows Server Insiders 版本目前為預覽版。 這項資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不提供任何明確或隱含的瑕疵擔保。

Windows 11 Insider Preview 組建 25992 (Canary)Windows Server Preview 組建 25997 開始,內建防火牆規則不再包含 SMB NetBIOS 連接埠。 在舊版 Windows Server 中,當您建立共用時,防火牆會自動啟用檔案和列印機共用群組中的特定規則。 特別是內建防火牆會自動使用輸入 NetBIOS 連接埠 137 到 139。 使用 SMB2 或更高版本建立的共用不會使用 NetBIOS 連接埠 137-139。 如果出於舊版相容性原因需要使用 SMB1 伺服器,則必須手動重新設定防火牆以開啟這些連接埠

我們進行了這項變更,以改善網路安全性。 這項變更讓 SMB 防火牆規則更符合 Windows Server 檔案伺服器角色的標準行為。 根據預設,防火牆規則只會開啟共用資料所需的最小數量的連接埠。 系統管理員可以重新設定規則以恢復舊版連接埠。

停用未使用的 SMB 伺服器

您網路上的 Windows 用戶端和部分 Windows Server 可能不需要執行 SMB 伺服器服務。 如果不需要 SMB 伺服器服務,您可以停用此服務。 停用 SMB 伺服器服務之前,請確定電腦上沒有任何應用程式和處理序需要此服務。

當您準備好實作時,您可以使用群組原則偏好設定在大量電腦上停用此服務。 如需設定組群組原則偏好設定的詳細資訊,請參閱設定服務項目

使用原則測試及部署

首先,在選取的伺服器和用戶端上使用小規模的手動部署進行測試。 分階段推出群組原則來進行這些變更。 例如,從 SMB 的最大量使用者 (例如您自己的 IT 團隊) 開始。 如果您團隊的筆記型電腦和應用程式以及檔案共用存取在部署輸入和輸出防火牆規則後運作良好,請在廣泛的測試和 QA 環境中建立測試群組原則。 根據結果,開始對一些部門電腦進行採樣,然後進行擴展。

下一步

觀看 Jessica Payne 的 Ignite 大會會議揭開 Windows 防火牆的神秘面紗