SMB over QUIC
適用于: Windows Server 2022 Datacenter: Azure Edition、Windows 11
SMB over QUIC 引進了 TCP 網路傳輸的替代方式,可透過網際網路等不受信任的網路,提供安全且可靠的連線給 edge 檔案伺服器。 QUIC 是 IETF 標準化的通訊協定,相較于 TCP,有許多優點:
- 所有封包一律都會加密,並使用 TLS 1.3 來驗證信號交換
- 可靠且不可靠的應用程式資料平行串流
- 在第一次來回行程中交換應用程式資料 (0-RTT)
- 改進擁塞控制和遺失復原
- 繼續生存用戶端 IP 位址或埠中的變更
SMB over QUIC 為工作者、行動裝置使用者和高安全性組織提供「SMB VPN」。 伺服器憑證會透過網際網路易記的 UDP 埠443(而不是舊版 TCP 埠445)來建立 TLS 1.3 加密通道。 所有 SMB 流量(包括通道中的驗證和授權)永遠不會向基礎網路公開。 SMB 在 QUIC 通道內正常運作,這表示使用者體驗不會變更。 像多重通道、簽章、壓縮、持續可用性、目錄租用等等等 SMB 功能正常運作。
檔案伺服器系統管理員必須選擇啟用透過 QUIC 的 SMB。 預設不會開啟,而且用戶端無法強制檔案伺服器透過 QUIC 啟用 SMB。 Windows smb 用戶端預設仍使用 TCP,而且只有在 TCP 嘗試第一次失敗或刻意使用或刻意要求 QUIC 時,才會嘗試使用 smb over QUIC NET USE /TRANSPORT:QUIC
New-SmbMapping -TransportType QUIC
。
必要條件
若要在 QUIC 上使用 SMB,您需要下列專案:
- 執行 Windows server 2022 Datacenter 的檔案伺服器: Azure Edition (Microsoft 伺服器作業系統)
- 適用于企業的 Windows 11 電腦 (Windows)
- Windows Admin Center (首頁)
- 用來頒發證書的公開金鑰基礎結構,例如 Active Directory 憑證伺服器,或存取受信任的協力廠商憑證簽發者,例如 Verisign、Digicert、Let 加密等等。
透過 QUIC 部署 SMB
步驟1:安裝伺服器憑證
使用下列屬性建立憑證授權單位單位發行的憑證:
- 金鑰使用方法:數位簽章
- 目的:伺服器驗證 (EKU 1.3.6.1.5.5.7.3.1)
- 簽名演算法: SHA256RSA (或更高)
- 簽章雜湊: SHA256 (或更高)
- 公開金鑰演算法: ECDSA_P256 (或更高的版本。也可以使用至少2048長度的 RSA)
- (SAN) 的主體替代名稱: (用來連線到 SMB 伺服器的每個完整 dns 名稱的 dns 名稱專案)
- 主體: (CN = 任何內容,但必須存在)
- 包含的私密金鑰:是
如果使用 Microsoft Enterprise 憑證授權單位單位,您可以建立憑證範本,並允許檔伺服器管理員在要求時提供 DNS 名稱。 如需建立憑證範本的詳細資訊,請參閱 設計和執行 PKI:第三部分的憑證範本。 如需使用 Microsoft Enterprise 憑證授權單位單位,透過 QUIC 建立 SMB 憑證的示範,請觀賞這段影片:
如需要求協力廠商憑證,請參閱廠商檔。
如果使用 Microsoft Enterprise 憑證授權單位單位:
- 在檔案伺服器上啟動 MMC.EXE 。
- 新增 [ 憑證 ] 嵌入式管理單元,然後選取 電腦帳戶。
- 展開 [ 憑證 (本機電腦) 、 個人],然後以滑鼠右鍵按一下 [ 憑證 ],再按一下 [ 要求新憑證]。
- 按 [下一步]
- 選取 Active Directory 註冊原則
- 按 [下一步]
- 選取在 Active Directory 中發佈之 SMB over QUIC 的憑證範本。
- 請按一下 [ 需要更多資訊才能註冊此憑證]。按一下這裡以進行設定。
- 因此,使用者可以使用來尋找檔案伺服器, 並以一個 或多個 DNS 名稱的一般名稱和 主體替代名稱 填入值。
- 按一下 [確定] ,然後按一下 [ 註冊]。
注意
如果您使用協力廠商憑證授權單位單位所發行的憑證檔案,您可以使用 [憑證] 嵌入式管理單元或 Windows Admin Center 匯入憑證。
步驟2:透過 QUIC 設定 SMB
在管理電腦或檔案伺服器上安裝 Windows Admin Center 的最新版本。 您需要最新版的檔案 共用 延伸模組。 如果已在設定 擴充功能中啟用自動更新延伸模組,Windows Admin Center 會自動安裝它。
將您的 Windows Server 2022 Datacenter: azure Edition 檔案伺服器加入您的 Active Directory 網域,並藉由新增 UDP/443 輸入的防火牆允許規則,使其可在 azure 公用介面上 Windows 測試人員用戶端存取。 不允許對檔案伺服器進行 TCP/445 輸入。 檔案伺服器必須至少能夠存取一個網域控制站進行驗證,但沒有任何網域控制站需要存取網際網路。
使用 Windows Admin Center 連線至伺服器,然後按一下左下角的設定圖示。 在 [檔案 共用 (SMB 伺服器) ] 區段的 [ 使用 smb over QUIC 在網際網路上共用檔案] 下,按一下 [ 設定]。
按一下 [ 選取此檔案伺服器的電腦憑證] 底下的憑證,按一下 [用戶端可以連線的伺服器位址],或按一下 [ 全選],然後按一下 [ 啟用]。
確定 QUIC 報告的憑證和 SMB 是否狀況良好。
按一下 [檔案 和檔案共用 ] 功能表選項。 請注意您現有的 SMB 共用,或建立一個新的共用。
如需透過 QUIC 設定和使用 SMB 的示範,請觀賞這段影片:
步驟3:連線至 SMB 共用
將您的 Windows 11 裝置加入您的網域。 請確定 QUIC 檔案伺服器的憑證主體別名上的 SMB 名稱是發佈至 DNS,並且為您 Windows 11 的主機檔案進行完整限定或新增。 確定伺服器的憑證主體替代名稱已發佈至 DNS,或已新增至您 WINDOWS 11 的主機檔案。
將您的 Windows 11 裝置移到外部網路,讓它不再具有網域控制站或檔案伺服器內部 IP 位址的任何網路存取權。
在 Windows 檔案總管的位址列中,輸入檔案伺服器上共用的 UNC 路徑,並確認您可以存取共用中的資料。 或者,您可以使用 NET use/傳輸: QUIC 或 嘗試-TRANSPORTTYPE QUIC 搭配 UNC 路徑。 範例:
NET USE * \\fsedge1.contoso.com\sales
NET USE * \\fsedge1.contoso.com\sales
NET USE * \\fsedge1.contoso.com\sales /TRANSPORT:QUIC
NET USE * \\fsedge1.contoso.com\sales /TRANSPORT:QUIC
New-SmbMapping -LocalPath 'Z:' -RemotePath '\\fsedge1.contoso.com\sales' -TransportType QUIC
New-SmbMapping -LocalPath 'Z:' -RemotePath '\\fsedge1.contoso.com\sales' -TransportType QUIC
設定 KDC Proxy (選擇性,但建議使用)
根據預設,當透過 QUIC 檔案伺服器連線至 SMB 時,Windows 11 裝置無法存取 Active Directory 網域控制站。 這表示驗證會使用 NTLMv2,其中檔案伺服器代表用戶端進行驗證。 TLS 1.3 加密 QUIC 通道以外的任何 NTLMv2 驗證或授權都不會發生。 不過,我們仍建議使用 Kerberos 作為一般安全性最佳作法,而且不建議在部署中建立新的 NTLMv2 相依性。 若要允許這種情況,您可以將 KDC proxy 設定為代表使用者轉送票證要求,同時使用網際網路易記的 HTTPS 加密通道。
注意
您無法在設定 KDC Proxy 的檔案伺服器上,使用 TCP 通訊埠443,在閘道模式中設定 Windows Admin Center (WAC) 。 在檔案伺服器上設定 WAC 時,請將埠變更為未使用的埠,而不是443。 如果您已經在埠443上設定 WAC,請重新執行 WAC 安裝程式 MSI,並在出現提示時選擇不同的埠。
Windows Admin Center 方法
請確定您至少使用 Windows Admin Center 版本2110。
正常設定 SMB over QUIC。 從 Windows Admin Center 2110 開始,在 SMB 中透過 QUIC 設定 KDC proxy 的選項會自動啟用,而且您不需要在檔案伺服器上執行額外的步驟。
設定下列群組原則設定,以套用至 Windows 11 裝置:
電腦 系統管理範本 > 系統 > kerberos > 指定 KERBEROS 用戶端的 KDC proxy 伺服器
此群組原則設定的格式是完整 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 嘗試連線到檔案伺服器名稱 ned@corp.contoso.com,KDC proxy 將知道要將 Kerberos 票證轉送到內部 corp.contoso.com 網域中的網域控制站。 與用戶端的通訊會透過埠443上的 HTTPS 來進行,而使用者認證不會直接公開在用戶端-檔案伺服器網路上。
確定 edge 防火牆允許埠443上的 HTTPS 輸入至檔案伺服器。
套用群組原則,然後重新開機 Windows 11 裝置。
手動方法
在檔案伺服器上,于提升許可權的 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
從與 SMB QUIC 憑證相關聯的憑證複製指紋值 (可能會有多行,但它們都有相同的指紋) 並貼上作為下列命令的 Certhash 值:
$guid = [Guid]::NewGuid()
Add-NetIPHttpsCertBinding -ipport 0.0.0.0:443 -CertificateHash <thumbprint> -CertificateStoreName "my" -ApplicationId "{$guid}" -NullEncryption $false
在 Kerberos 的 Active Directory 中,將檔案伺服器的 SMB 加上 QUIC 的名稱,作為 Spn。 例如:
NETDOM computername ws2022-quic.corp.contoso.com /add fsedge1.contoso.com
將 KDC Proxy 服務設定為 [自動],並加以啟動:
Set-Service -Name kpssvc -StartupType Automatic
Start-Service -Name kpssvc
將下列群組原則設定為套用至 Windows 11 裝置:
電腦 系統管理範本 > 系統 > kerberos > 指定 KERBEROS 用戶端的 KDC proxy 伺服器
此群組原則設定的格式是完整 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 來進行,而使用者認證不會直接公開在用戶端-檔案伺服器網路上。建立 Windows Defender 防火牆規則,以輸入啟用 TCP 通訊埠443,讓 KDC Proxy 服務接收驗證要求。
確定 edge 防火牆允許埠443上的 HTTPS 輸入至檔案伺服器。
套用群組原則,然後重新開機 Windows 11 裝置。
注意
KDC Proxy 的自動設定稍後將會透過 QUIC 在 SMB 中進行,而這些伺服器步驟將不是必要的。
憑證到期和更新
已過期的 SMB over QUIC 憑證(您以簽發者的新憑證取代)將包含新的指紋。 雖然您可以在 QUIC 憑證過期時,使用 Active Directory 憑證服務自動更新 SMB,但是更新的憑證也會取得新的指紋。 這實際上是指當憑證過期時必須重新設定 SMB over QUIC,因為必須對應新的指紋。 您可以直接在 QUIC 設定的現有 SMB 的 Windows Admin Center 中選取新憑證,或使用 Set-SMBServerCertificateMapping PowerShell 命令來更新新憑證的對應。 您可以使用 Azure Automanage for Windows Server 來偵測即將到期的憑證到期日,並防止中斷。 如需詳細資訊,請參閱Windows Server 的 Azure Automanage。
備註
- Windows Server 2022 Datacenter: Azure 版本最後也會在 Azure Stack HCI 21H2 上提供,適用于不使用 Azure 公用雲端的客戶。
- 我們建議唯讀網域控制站的設定,只會將行動使用者的密碼設為可供檔案伺服器使用。
- 使用者應該要有強式密碼,或者,最好是使用無密碼原則搭配商務 MFA 或智慧卡的Windows Hello 來設定。 透過更細緻的 密碼原則 設定行動使用者的帳戶鎖定原則,您應該部署入侵保護軟體來偵測暴力密碼破解攻擊或密碼噴灑攻擊。