透過 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 (首頁)
  • 用於頒發憑證(如 Active Directory Certificate Server)或存取受信任的第三方憑證授權單位(如 Verisign、Digicert、Let's Encrypt 等)的 Public Key Infrastructure。

部屬 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=任何內容,但必須存在)
    • 包含私鑰:是

    certificate settings showing Signature algorithm with a value of sha256RSA, signature hash algorithm value of sha256, and Subject value of ws2022-quicCertificate settings under the Detail tab showing Public key value of ECC (256 bits), public key parameters ECDSA-P256 and Application policies 1 application Certificate Policy Certificate details showing subject alternative name value as DNS Name equals ws2022-quic.corp, and Key Usage value as 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. 點擊Ok然後點選註冊

    image showing the steps covered 1image showing the steps covered 2image showing the steps covered 3

注意

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

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

注意

如果您使用的是第三方憑證授權單位所發出的憑證文件,則可以使用憑證管理單元或 Windows Admin Center匯入它。

步驟 二:設定 SMB over QUIC

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

注意

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

  1. 使用 Windows Admin Center 連接到伺服器,然後按一下左下角的設定 圖示。 在檔案共用(SMB 伺服器)區域,在使用 SMB over QUIC 進行網路上的檔案共用之下,, 點擊配置

  2. 點擊為此文件伺服器選擇電腦證書下的證書,點擊用戶端可以連接的伺服器位址或點擊全選,然後點擊啟用

    image showing the steps for configure SMB over QUIC1

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

    image showing the steps for configure SMB over QUIC2

  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:QUIC New-SmbMapping -TransportType QUIC 與 UNC 路徑結合使用。 範例:

    NET USE * \\fsedge1.contoso.com\sales(自動嘗試 TCP,然後 QUIC)

    NET USE * \\fsedge1.contoso.com\sales /TRANSPORT:QUIC(只嘗試 QUIC)

    New-SmbMapping -LocalPath 'Z:' -RemotePath '\\fsedge1.contoso.com\sales' -TransportType QUIC(只嘗試 QUIC)

預設情況下,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 以閘道器模式設定 Windows Admin Center (WAC)。 在檔案伺服器上設定 WAC 時,將連接埠變更為未使用且非 443 的連接埠。 如果您已在連接埠 443 上設定了 WAC,請重新執行 WAC 設定 MSI,並在出現提示時選擇其他連接埠。

Windows Admin Center 方法

  1. 確保您至少使用 Windows Admin Center 2110 版本 。

  2. 正常的配置SMB over QUIC。 從 Windows Admin Center 2110 開始,透過 SMB over QUIC 設定 KDC 代理程式的選項是自動啟用的,您無需在檔案伺服器上進行額外的步驟。 預設 KDC 代理連接埠為 443,由 Windows Admin Center 自動指派。

    注意

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

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

    Computers > Administrative 範本 > System > Kerberos >為 Kerberos 用戶端指定 KDC 代理伺服器

    此群組原則設定的格式是完全合格的 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 代理程式將知道將 kerberos 票證轉送到內部corp.contoso.com 網域中的網域控制器。 與用戶端的通訊將透過連接埠 443 上的 HTTPS 進行,且使用者憑證不會直接暴露在用戶端檔案伺服器網路上。

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

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

Manual Method

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

    NETSH http add urlacl url=https://+:443/KdcProxy user="NT authority\Network Service"

    REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\KPSSVC\Settings" /v HttpsClientAuth /t REG_DWORD /d 0x0 /f

    REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\KPSSVC\Settings" /v DisallowUnprotectedPasswordAuth /t REG_DWORD /d 0x0 /f

    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 裝置:

    Computers > Administrative 範本 > System > Kerberos >為 Kerberos 用戶端指定 KDC 代理伺服器

    此群組原則設定的格式是完全合格的 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 代理程式將知道將 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,因為必須對應新的指紋。 您只需在 Windows Admin Center 中為現有 SMB over QUIC 設定選擇新證書,或使用 Set-SMBServerCertificateMapping PowerShell 指令更新新憑證的對應。 可以使用適用於 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 智慧卡。 透過細緻的密碼原則為行動用戶配置帳戶鎖定策略,並且您應該部署入侵防護軟體來偵測暴力或密碼噴射攻擊。

更多參考

Microsoft 部落格上的儲存

QUIC Working Group 首頁

Microsoft MsQuic GitHub 首頁

QUIC Wikipedia

TLS 1.3 Working Group 首頁

透過 TLS 1.3 將 Transport Layer Security (TLS) 提升至新水準