透過 QUIC 的 SMB

適用於:Windows Server 2022 資料中心:Azure 版本、Windows 11

透過 QUIC 的 SMB 引進 TCP 網路傳輸的替代方案,為透過網際網路等不受信任網路的邊緣檔案伺服器提供安全的可靠連線。 QUIC 是 IETF 標準化的通訊協定,相較於 TCP 具有許多優點:

  • 所有封包一律會經過加密,且會使用 TLS 1.3 驗證交握
  • 可靠與不可靠的應用程式資料的平行串流
  • 在第一次來回行程 (0-RTT) 中交換應用程式資料
  • 改善壅塞控制和遺失復原
  • 不受用戶端 IP 位址或連接埠變更的影響

透過 QUIC 的 SMB 為電信業者、行動裝置使用者和高度安全性組織提供「SMB VPN」。 伺服器憑證會透過易於連線網際網路的 UDP 連接埠 443 (而不是舊版 TCP 連接埠 445) 建立 TLS 1.3 加密通道。 所有 SMB 流量,包括通道內的驗證和授權永遠不會在基礎網路公開。 SMB 通常會在 QUIC 通道內運作,這表示使用者體驗不會變更。 SMB 功能,例如多重通道、簽署、壓縮、持續可用性、目錄租用等,皆正常運作。

檔案伺服器管理員必須選擇啟用 SMB over QUIC。 預設情況下它未打開,客戶端無法強制檔案伺服器啟用 SMB over QUIC。 預設情況下,Windows SMB 用戶端仍使用 TCP,並且 TCP 嘗試 SMB over QUIC 的情況僅在TCP 嘗試首次失敗或有意使用NET USE /TRANSPORT:QUICNew-SmbMapping -TransportType QUIC時發生。

必要條件

要使用 SMB over QUIC,您需要滿足以下條件:

  • 執行 Windows Server 2022 Datacenter 的檔案伺服器:Azure 版本 (Microsoft Server Operating Systems) 或更新版本
  • Windows 11 裝置 (Windows 商業版)
  • Windows Admin Center (WAC) (首頁)
  • 用於簽發憑證 (如 Active Directory Certificate Server) 或存取受信任協力廠商憑證簽發者 (如 Verisign、Digicert、Let's Encrypt 等) 的公開金鑰基礎結構 (PKI)。

部屬 SMB over QUIC

步驟一:安裝伺服器憑證

  1. 建立具有以下屬性的 Certificate Authority 單位所頒發的憑證:

    • 金鑰用途:數位簽章
    • 用途:Server Authentication (EKU 1.3.6.1.5.5.7.3.1)
    • 簽章演算法:SHA256RSA (或更高)
    • 簽章雜湊:SHA256 (或更高)
    • 公鑰演算法:ECDSA_P256 (或更高。也可以使用長度至少為 2048 的 RSA)
    • Subject Alternative Name (SAN):(用於存取 SMB 伺服器的完整 DNS 名稱的 DNS 名稱項目)
    • 主題:(CN=任何內容,但必須存在)
    • 包含私鑰:是

    憑證設定顯示簽章演算法值為 sha256RSA、簽章雜湊演算法值為 sha256,和 Subject 值 ws2022-quic

    [詳細資料] 索引標籤的憑證設定,顯示公開金鑰值為 ECC (256 位元)、公開金鑰參數 ECDSA-P256,和應用程式原則 1 應用程式憑證原則

    憑證詳細資料,顯示主體別名值為 DNS Name equals ws2022-quic.corp,和金鑰使用方式值為 Digital Signature, Non-Repudiated

    如果使用 Microsoft Enterprise Certificate Authority,您可以建立憑證範本並允許檔案伺服器管理員在請求時提供 DNS 名稱。 建立憑證範本的更多資訊,請參閱設計和實現 PKI:第 III 部分憑證範本. 使用 Microsoft Enterprise Certificate Authority 為 SMB over QUIC 建立憑證的展示,請觀看此影片:

    若要要求第三方證書,請參閱您的供應商文件。

  2. 如果使用 Microsoft Enterprise Certificate Authority:

    1. 在檔案伺服器上啟動MMC.EXE
    2. 新增證書管理單元,然後選擇電腦帳戶
    3. 展開 [憑證 (本機電腦)][個人],然後按滑鼠右鍵選取 [憑證],然後選取 [要求新憑證]
    4. 選取下一個
    5. 選擇 Active Directory Enrollment Policy
    6. 選取下一個
    7. 選擇 Active Directory 中發佈的 SMB over QUIC 的憑證範本。
    8. 選取需要更多資訊才能註冊此憑證。按一下此處配置設定。
    9. 因此,使用者可以用來定位檔案伺服器,在值Subject中填入一個通用名稱,在Subject Alternative Name中填入一個或多個 DNS 名稱。
    10. 選取 [確定],然後選取 [註冊]

    顯示已選取 SMB over QUIC 的 Microsoft Management Console 憑證註冊影像

    顯示所選憑證之 [憑證屬性] 視窗的影像

    顯示 Microsoft Management Console 中憑證註冊完成程序的影像

注意

不要將 IP 位址用於 SMB over QUIC 伺服器 Subject Alternative Names。

  • 即使可以從網域控制器或 KDC Proxy 程式取得 Kerberos,IP 位址也需要使用 NTLM。
  • 在 Azure IaaS VM 執行 SMB over QUIC 時使用 NAT 將公共介面傳回專用介面。 SMB over QUIC 不支援透過 NAT 使用 IP 位址作為伺服器名稱,在這種情況下,您必須使用僅解析為公用介面 IP 位址的完全合格 DNS 名稱。

注意

如果您使用的是協力廠商憑證授權單位所發行的憑證檔案,則可以使用憑證嵌入式管理單元或 WAC 將其匯入。

步驟 二:設定 SMB over QUIC

  1. 部署Windows Server 2022 Datacenter: Azure 版伺服器。
  2. 在管理 PC 或檔案伺服器上安裝最新版本的 WAC。 您需要最新版本的檔案和檔案共用擴充功能。 如果 [自動更新擴充功能][設定]>[擴充功能] 中已被啟用,WAC 會自動將其安裝。
  3. 加入您的 Windows Server 2022 資料中心:將 Azure 版檔案伺服器新增至 Active Directory 網域,並透過新增 UDP/443 入站的防火牆允許規則,使其可供 Azure 公用介面上的 Windows Insider 用戶端存取。 不允許 TCP/445 入棧道檔案伺服器。 檔案伺服器必須能夠存取至少一個網域控制器以進行身份驗證,但網域控制器不需要任何網路存取權限。

注意

我們建議對 Active Directory 網域使用 SMB over QUIC,但這不是必要的。 您也可以在具有本機使用者憑證和 NTLM 的工作群組伺服器上使用 SMB over QUIC。

  1. 使用 WAC 連接至伺服器,然後選取左下方的 [設定] 圖示。 在 [檔案共用 (SMB 伺服器)] 區段,[使用 SMB over QUIC 在網際網路上共用檔案] 下,選取 [設定]

  2. [為此檔案伺服器選取電腦憑證] 下選取一個憑證,選取用戶端可以連接的伺服器位址或選取 [全選],然後選取 [啟用]

    顯示 Windows Admin Center 中 SMB over QUIC 設定畫面的影像

  3. 確保證書和 SMB over QUIC 報告正常。

    顯示 Windows Admin Center 中已設定之 SMB over QUIC 設定可用之所有憑證的影像

  4. 選取 [檔案和檔案共用] 功能表選項。 記下您現有的 SMB 共用或建立一個新共用。

SMB over QUIC 配置和使用展示,請觀看此影片:

步驟三:連接到 SMB 共享

  1. 將您的 Windows 11 裝置加入您的網域。 確保 SMB over QUIC 檔案伺服器的憑證主體別名已發佈到 DNS,並且完全合格 或者 新增至 Windows 11 的 HOST 檔案。 確保伺服器的憑證主體別名已發佈到 DNS 或者 新增至 Windows 11 的 HOSTS 檔案。

  2. 將 Windows 11 裝置移至外部網路,使其不再具有網域控制站或檔案伺服器內部 IP 位址的網路存取權。

  3. 在 Windows File Explorer 的 Address Bar 中,輸入檔案伺服器上共用的 UNC 路徑,並確認您可以存取共用中的資料。 或者,您可以使用 NET USE /TRANSPORT:QUICNew-SmbMapping -TransportType QUIC 搭配 UNC 路徑。 範例:

    REM Automatically tries TCP then QUIC
    NET USE * \\fsedge1.contoso.com\sales
    
    REM Tries only QUIC
    NET USE * \\fsedge1.contoso.com\sales /TRANSPORT:QUIC
    
    #Tries only QUIC
    New-SmbMapping -LocalPath 'Z:' -RemotePath '\\fsedge1.contoso.com\sales' -TransportType QUIC
    

SMB over QUIC 用戶端稽核

稽核是用來追蹤 SMB over QUIC 用戶端連接,並將事件寫入事件記錄檔。 「事件檢視器」為 QUIC 傳輸通訊協定擷取這項資訊。 SMB 用戶端從 Windows 11 測試人員組建 26090 開始適用此功能。 若要檢視這些記錄,請遵循下列步驟:

  1. 開啟 [事件檢視器]
  2. 瀏覽至 Applications and Services Logs\Microsoft\Windows\SMBClient\Connectivity
  3. 監視事件識別碼 30832

預設情況下,Windows 11 裝置在連接 SMB over QUIC 檔案伺服器時無法存取 Active Directory 網域控制器。 這表示身份驗證使用 NTLMv2,其中檔案伺服器代表用戶端進行身份驗證。 在 TLS 1.3 加密的 QUIC 隧道之外不會發生 NTLMv2 驗證或授權。 但是,我們仍然建議使用 Kerberos 作為一般安全性最佳實踐,並且不建議在部署中建立新的 NTLMv2 依賴項。 為此,您可以將 KDC 代理程式設定為代表使用者轉送票證請求,同時使用網路友善的 HTTPS 加密通訊通道。 SMB over QUIC 完全支援 KDC Proxy,強烈建議。

注意

當設定 KDC Proxy 時,您無法在檔案伺服器上使用 TCP 連接埠 443 以閘道模式設定 WAC。 在檔案伺服器上設定 WAC 時,將連接埠變更為未使用且非 443 的連接埠。 如果您已在連接埠 443 上設定了 WAC,請重新執行 WAC 設定 MSI,並在出現提示時選擇其他連接埠。

Windows Admin Center 方法

  1. 請確定您至少使用 WAC 2110 版。

  2. 正常的配置SMB over QUIC。 從 WAC 2110 開始,在 SMB over QUIC 中設定 KDC Proxy 的選項是自動啟用的,您無需在檔案伺服器上進行額外的步驟。 預設 KDC Proxy 連接埠是 443,由 WAC 自動指派。

    注意

    您無法設定使用 WAC 加入工作群組的 SMB over QUIC 伺服器。 您必須將伺服器加入 Active Directory 網域或使用Manual Method部分中的步驟。

  3. 配置下列群組原則設定以套用至 Windows 11 裝置:

    Computer Configuration\Administrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients

    此群組原則設定的格式是完整的 Active Directory 網域的值名稱,該值變成您為 QUIC 伺服器指定的外部名稱。 例如,其中 Active Directory 網域被命名為 corp.contoso.com,而外部 DNS 網域被命名為 contoso.com

    value name: corp.contoso.com

    value: <https fsedge1.contoso.com:443:kdcproxy />

    此 Kerberos 領域對應意味著,如果使用者 ned@corp.contoso.com 嘗試連接到檔案伺服器名稱 fs1edge.contoso.com,KDC Proxy 知道將 kerberos 票證轉送到內部 corp.contoso.com 網域中的網域控制站。 與用戶端的通訊將透過連接埠 443 上的 HTTPS 進行,且使用者憑證不會直接暴露在用戶端檔案伺服器網路上。

  4. 確保邊緣防火牆允許連接埠 443 上的 HTTPS 入站到檔案伺服器。

  5. 套用程式群組原則並重新啟動 Windows 11 裝置。

手動方式

  1. 在檔案伺服器上,在提升的 PowerShell 提示字元下執行:

    NETSH http add urlacl url=https://+:443/KdcProxy user="NT authority\Network Service"
    
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\KPSSVC\Settings" -Name "HttpsClientAuth" -Value 0 -Type DWord -Force
    
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\KPSSVC\Settings" -Name "DisallowUnprotectedPasswordAuth" -Value 0 -Type DWord -Force
    
    Get-SmbServerCertificateMapping
    
  2. 從 SMB over QUIC 憑證的相關憑證中複製指紋值 (可能有多行,但它們都具有相同的指紋) 並將其貼上作為Certhash 值以執行下列命令:

    $guid = [Guid]::NewGuid()
    
    Add-NetIPHttpsCertBinding -IPPort 0.0.0.0:443 -CertificateHash <thumbprint> -CertificateStoreName "My" -ApplicationId "{$guid}" -NullEncryption $false
    
  3. 將檔案伺服器的 SMB over QUIC 名稱新增為 Kerberos Active Directory 中的 SPN。 例如:

    NETDOM computername ws2022-quic.corp.contoso.com /add fsedge1.contoso.com`
    
  4. 將 KDC Proxy 服務設定為自動並啟動它:

    Set-Service -Name kpssvc -StartupType Automatic
    
    Start-Service -Name kpssvc
    
  5. 配置下列群組原則以套用至 Windows 11 裝置:

    Computer Configuration\Administrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients

    此群組原則設定的格式是完整的 Active Directory 網域的值名稱,該值變成您為 QUIC 伺服器指定的外部名稱。 例如,當 Active Directory 網域為 “corp.contoso.com”,外部 DNS 網域為 “contoso.com”:

    value name: corp.contoso.com

    value: <https fsedge1.contoso.com:443:kdcproxy />

    此 Kerberos 領域對應意味著,如果使用者ned@corp.contoso.com嘗試連接到檔案伺服器名稱 fs1edge.contoso.com",KDC Proxy 知道將 kerberos 票證轉送到內部 corp.contoso.com 網域中的網域控制器。 與用戶端的通訊將透過連接埠 443 上的 HTTPS 進行,且使用者憑證不會直接暴露在用戶端檔案伺服器網路上。

  6. 建立 Windows Defender Firewall 規則,以入站啟用 TCP 連接埠 443,以便 KDC Proxy 服務接收身分驗證要求。

  7. 確保邊緣防火牆允許連接埠 443 上的 HTTPS 入站到檔案伺服器。

  8. 套用程式群組原則並重新啟動 Windows 11 裝置。

注意

KDC Proxy 程式的自動配置稍後將在 SMB over QUIC 中進行,並且這些伺服器步驟不是必需的。

證書到期和更新

使用頒發者頒發的新憑證取代的過期 SMB over QUIC 憑證將包含新指紋。 雖然您可以使用 Active Directory Certificate Services 在 SMB over QUIC 憑證過期時自動更新,但續訂後的憑證也會獲得新的指紋。 這實際上表示當憑證過期時,必須重新配置 SMB over QUIC,因為必須對應新的指紋。 在 WAC 中為現有 SMB over QUIC 配置選取新憑證,或使用 Set-SMBServerCertificateMappingPowerShell 命令更新新憑證的對應。 可以使用適用於 Windows Server 的 Azure Automanage 來偵測即將到期的憑證防止服務中斷。 更多資訊,請參閱Azure Automanage for Windows Server

備註

  • 對於不使用 Azure 公有雲的客戶,從版本 22H2 開始,Windows Server 2022 Datacenter:Azure 版本可在 Azure Stack HCI 上使用。
  • 我們建議對 Active Directory 網域使用 SMB over QUIC,但這不是必要的。 您也可以在具有本機使用者憑證和 NTLM 的已加入工作群組的伺服器上使用 SMB over QUIC,或在已加入 Microsoft Entra 的 Windows 伺服器上使用 Azure IaaS。 不支援非 Azure IaaS 的電腦加入 Microsoft Entra 的 Windows 伺服器。 Microsoft Entra 加入的 Windows 伺服器不支援遠端 Windows 安全性操作的憑證,因為 Microsoft Entra ID 不包含使用者或群組 SID。 Microsoft Entra 加入的 Windows 伺服器必須使用以網域為基礎的或本機使用者帳戶來存取 SMB over QUIC 共用。
  • 當 SMB 伺服器位於工作群組中(即未加入 AD 網域)時,無法使用 WAC 設定 SMB over QUIC。 根據此案例,您必須使用 New-SMBServerCertificateMapping cmdlet。
  • 我們建議僅使用行動用戶密碼配置的唯讀網域控制器供檔案伺服器使用。
  • 使用者應擁有強密碼,或理想情況下,使用無密碼原則Windows Hello for Business MFA 智慧卡。 透過細緻的密碼原則為行動用戶配置帳戶鎖定策略,並且您應該部署入侵防護軟體來偵測暴力或密碼噴射攻擊。

更多參考