教學課程:設定軟體更新點以搭配 PKI 憑證使用 TLS/SSL

適用於:Configuration Manager (目前的分支)

將 Windows Server Update Services (WSUS) 伺服器及其對應的軟體更新點 (SUP) 設定為使用 TLS/SSL,可能會降低潛在攻擊者從遠端入侵用戶端並提高許可權的能力。 為了確保已備妥最佳的安全性通訊協定,強烈建議您使用 TLS/SSL 通訊協定來協助保護軟體更新基礎結構。 本文將逐步引導您完成將每個 WSUS 伺服器和軟體更新點設定為使用 HTTPS 所需的步驟。 如需保護 WSUS 的詳細資訊,請參閱 WSUS 檔中的使用安全通訊端層通訊協定保護 WSUS 一文。

在本教學課程中,您將:

  • 視需要取得 PKI 憑證
  • 將憑證系結至 WSUS 系統管理網站
  • 設定 WSUS Web 服務以要求 SSL
  • 將 WSUS 應用程式設定為使用 SSL
  • 確認 WSUS 主控台連線可以使用 SSL
  • 設定軟體更新點以要求與 WSUS 伺服器進行 SSL 通訊
  • 使用 Configuration Manager 驗證功能

考量與限制

WSUS 會使用 TLS/SSL 向上游 WSUS 伺服器驗證用戶端電腦和下游 WSUS 伺服器。 WSUS 也會使用 TLS/SSL 來加密更新中繼資料。 WSUS 不會針對更新的內容檔案使用 TLS/SSL。 內容檔案會經過簽署,而且檔案的雜湊會包含在更新的中繼資料中。 在用戶端下載並安裝檔案之前,會檢查數位簽章和雜湊。 如果任一檢查失敗,將不會安裝更新。

當您使用 TLS/SSL 來保護 WSUS 部署時,請考慮下列限制:

  • 使用 TLS/SSL 會增加伺服器工作負載。 您應該會因為加密透過網路傳送的所有中繼資料而導致效能損失很小。
  • 如果您使用 WSUS 搭配遠端SQL Server資料庫,WSUS 伺服器與資料庫伺服器之間的連線不會受到 TLS/SSL 保護。 如果資料庫連線必須受到保護,請考慮下列建議:
    • 將 WSUS 資料庫移至 WSUS 伺服器。
    • 將遠端資料庫伺服器和 WSUS 伺服器移至私人網路。
    • 部署網際網路通訊協定安全性 (IPsec) ,以協助保護網路流量。

將 WSUS 伺服器及其軟體更新點設定為使用 TLS/SSL 時,您可能會想要分階段處理大型Configuration Manager階層的變更。 如果您選擇分階段進行這些變更,請從階層底部開始,並向上移動,並以管理中心網站結尾。

必要條件

本教學課程涵蓋最常見的方法,可取得與 Internet Information Services (IIS) 搭配使用的憑證。 無論您的組織使用哪一種方法,請確定憑證符合Configuration Manager軟體更新點的PKI 憑證需求。 如同任何憑證,與 WSUS 伺服器通訊的裝置都必須信任憑證授權單位單位。

  • 已安裝軟體更新點角色的 WSUS 伺服器
  • 啟用 TLS/SSL 之前,請先確認您已遵循停用 WSUS 回收和設定記憶體限制 的最佳做法
  • 下列兩個選項之一:
    • WSUS 伺服器 的個人 憑證存放區中已有適當的 PKI 憑證。
    • 能夠向企業根憑證授權單位要求並取得 WSUS 伺服器的適當 PKI 憑證, (CA) 。
      • 根據預設,包括 WebServer 憑證範本在內的大部分憑證範本只會發行給網域管理員。 如果登入的使用者不是網域系統管理員,則必須授與其使用者帳戶憑證範本的 註冊 許可權。

視需要從 CA 取得憑證

如果您在 WSUS 伺服器 的個人 憑證存放區中已經有適當的憑證,請略過本節,並從 [ 系結憑證 ] 區段開始。 若要將憑證要求傳送至內部 CA 以安裝新的憑證,請遵循本節中的指示。

  1. 從 WSUS 伺服器,開啟系統管理命令提示字元並執行 certlm.msc 。 您的使用者帳戶必須是本機系統管理員,才能管理本機電腦的憑證。

    本機裝置的憑證管理員工具隨即出現。

  2. 展開 [個人],然後以滑鼠右鍵按一下 [ 憑證]

  3. 選取 [所有工作] ,然後 選取 [要求新憑證]

  4. 選擇 [下一步 ] 開始註冊憑證。

  5. 選擇要註冊的憑證類型。 憑證用途是 伺服器驗證 ,而要使用的 Microsoft 憑證範本是 Web 服務器 或自訂範本,其已將 伺服器驗證 指定為 增強金鑰使用方式。 系統可能會提示您提供註冊憑證的其他資訊。 一般而言,您至少會指定下列資訊:

    • 一般名稱: 在 [ 主旨] 索引 標籤上找到,將值設定為 WSUS 伺服器的 FQDN。
    • 易記名稱: 在 [ 一般] 索引標籤上找到,將值設定為描述性名稱,以協助您稍後識別憑證。

    用來指定更多註冊資訊的 [憑證屬性] 視窗

  6. 取 [註冊],然後選取 [完成] 以完成註冊。

  7. 如果您想要查看其相關詳細資料,例如憑證的指紋,請開啟憑證。

提示

如果您的 WSUS 伺服器面向網際網路,您在憑證中的主體或主體別名 (SAN) 中需要外部 FQDN。

將憑證系結至 WSUS 系統管理網站

當您在 WSUS 伺服器的個人憑證存儲中擁有憑證之後,請將其系結至 IIS 中的 WSUS 管理網站。

  1. 在 WSUS 伺服器上,開啟 Internet Information Services (IIS) Manager。

  2. 移至網站>WSUS 系統管理

  3. 從動作功能表中選取 [系結],或以滑鼠右鍵按一下網站。

  4. 在 [ 網站系結] 視窗中 ,選取 HTTPs的行,然後選取 [ 編輯...]

    • 請勿移除 HTTP 網站系結。 WSUS 會使用 HTTP 來更新內容檔案。
  5. [SSL 憑證 ] 選項下,選擇要系結至 WSUS 系統管理網站的憑證。 憑證的易記名稱會顯示在下拉式功能表中。 如果未指定易記名稱,則會顯示憑證的 IssuedTo 欄位。 如果您不確定要使用哪一個憑證,請選 取 [檢視 ] 並確認指紋符合您取得的指紋。

    選取 SSL 憑證的 [編輯網站系結] 視窗

  6. 完成時選取 [ 確定 ],然後選取 [關閉 ] 以結束網站系結。 讓 Internet Information Services (IIS) Manager 保持開啟,以供後續步驟使用。

設定 WSUS Web 服務以要求 SSL

  1. 在 WSUS 伺服器的 [IIS 管理員] 中,移至[月臺>WSUS 系統管理]

  2. 展開 [WSUS 系統管理] 網站,以查看 WSUS 的 Web 服務和虛擬目錄清單。

  3. 針對下列每個 WSUS Web 服務:

    • ApiRemoting30
    • ClientWebService
    • DSSAuthWebService
    • ServerSyncWebService
    • SimpleAuthWebService

    進行下列變更:

    1. 取 [SSL 設定]
    2. 啟用 [需要 SSL] 選項。
    3. 確認 [ 用戶端憑證] 選項已設定為 [忽略]
    4. 選取 [套用]

請勿在最上層 WSUS 系統管理網站上設定 SSL 設定,因為某些功能,例如內容,需要使用 HTTP。

將 WSUS 應用程式設定為使用 SSL

一旦 Web 服務設定為需要 SSL,WSUS 應用程式必須收到通知,才能執行一些額外的設定來支援變更。

  1. 在 WSUS 伺服器上開啟系統管理命令提示字元。 執行此命令的使用者帳戶必須是 WSUS Administrators 群組或本機 Administrators 群組的成員。

  2. 將目錄變更為 WSUS 的工具資料夾:

    cd "c:\Program Files\Update Services\Tools"

  3. 將 WSUS 設定為搭配下列命令使用 SSL:

    WsusUtil.exe configuressl server.contoso.com

    其中 server.contoso.com 是 WSUS 伺服器的 FQDN。

  4. WsusUtil 會傳回 WSUS 伺服器的 URL,其埠號碼指定于結尾。 埠的預設) 為 8531 (或 443。 確認傳回的 URL 是您預期的 URL。 如果某些專案輸入錯誤,您可以再次執行命令。

    wsusutil configuressl 命令會傳回 WSUS 的 HTTPS URL

提示

如果您的 WSUS 伺服器面向網際網路,請在執行 WsusUtil.exe configuressl 時指定外部 FQDN。

確認 WSUS 主控台可以使用 SSL 連線

WSUS 主控台會使用 ApiRemoting30 Web 服務進行連線。 Configuration Manager軟體更新點 (SUP) 也會使用此相同的 Web 服務來指示 WSUS 採取特定動作,例如:

  • 起始軟體更新同步處理
  • 為 WSUS 設定適當的上游伺服器,這取決於 SUP 的月臺位於您Configuration Manager階層中的位置
  • 從階層的最上層 WSUS 伺服器新增或移除用於同步處理的產品和分類。
  • 移除過期的更新

開啟 WSUS 主控台,確認您可以使用 SSL 連線到 WSUS 伺服器的 ApiRemoting30 Web 服務。 我們稍後將測試一些其他 Web 服務。

  1. 開啟 WSUS 主控台,然後選取[動作>連線到伺服器]

  2. 針對 [ 伺服器名稱 ] 選項,輸入 WSUS 伺服器的 FQDN。

  3. 選擇從 WSUSutil 在 URL 中傳回的 埠號碼

  4. 選擇 8531 (預設) 或 443 時,[ 使用安全通訊端層 (SSL) 連線到此伺服器 ] 選項會自動啟用。

    透過 HTTPS 埠連線到 WSUS 主控台

  5. 如果您Configuration Manager月臺伺服器從軟體更新點遠端,請從月臺伺服器啟動 WSUS 主控台,並確認 WSUS 主控台可以透過 SSL 連線。

    • 如果遠端 WSUS 主控台無法連線,可能表示信任憑證、名稱解析或遭到封鎖的埠發生問題。

設定軟體更新點以要求與 WSUS 伺服器進行 SSL 通訊

一旦 WSUS 設定為使用 TLS/SSL,您就必須更新對應的Configuration Manager軟體更新點,以也需要 SSL。 當您進行這項變更時,Configuration Manager:

  • 確認它可以設定軟體更新點的 WSUS 伺服器
  • 當系統告知用戶端要掃描此 WSUS 伺服器時,請指示用戶端使用 SSL 埠。

若要將軟體更新點設定為需要與 WSUS 伺服器的 SSL 通訊,請執行下列步驟:

  1. 開啟Configuration Manager主控台,並聯機到您需要編輯之軟體更新點的管理中心網站或主要月臺伺服器。

  2. 移至 [系統管理>概觀>] [月臺設定>伺服器和月臺系統角色]

  3. 選取安裝 WSUS 的月臺系統伺服器,然後選取軟體更新點月臺系統角色。

  4. 從功能區中,選擇 [ 屬性]

  5. 啟用 [需要 SSL 與 WSUS 伺服器通訊 ] 選項。

    顯示 [需要 SSL 與 WSUS 伺服器通訊] 選項的 SUP 屬性

  6. 在網站的 WCM.log 中,當您套用變更時,您會看到下列專案:

    SCF change notification triggered.
    Populating config from SCF
    Setting new configuration state to 1 (WSUS_CONFIG_PENDING)
    ...
    Attempting connection to local WSUS server
    Successfully connected to local WSUS server
    ...
    Setting new configuration state to 2 (WSUS_CONFIG_SUCCESS)
    

已編輯記錄檔範例,以移除此案例的不需要資訊。

使用 Configuration Manager 驗證功能

確認月臺伺服器可以同步更新

  1. 將Configuration Manager主控台連線到最上層網站。

  2. 移至軟體程式庫>概觀>軟體更新>所有軟體更新

  3. 從功能區中,選取[同步處理軟體更新]

  4. 在通知中選取 [ ],詢問您是否要起始軟體更新的全網站同步處理。

    • 由於 WSUS 設定已變更,因此將會進行完整的軟體更新同步處理,而不是差異同步處理。
  5. 開啟網站的 wsyncmgr.log 。 如果您要監視子月臺,您必須先等候父月臺完成同步處理。 檢閱記錄檔中的專案,以確認伺服器已成功同步處理,如下所示:

    Starting Sync
    ...
    Full sync required due to changes in main WSUS server location.
    ...
    Found active SUP SERVER.CONTOSO.COM from SCF File.
    ...
    https://SERVER.CONTOSO.COM:8531
    ...
    Done synchronizing WSUS Server SERVER.CONTOSO.COM
    ...
    sync: Starting SMS database synchronization
    ...
    Done synchronizing SMS with WSUS Server SERVER.CONTOSO.COM
    

確認用戶端可以掃描更新

當您將軟體更新點變更為需要 SSL 時,Configuration Manager用戶端在提出軟體更新點的位置要求時,會收到更新的 WSUS URL。 藉由測試用戶端,我們可以:

  • 判斷用戶端是否信任 WSUS 伺服器的憑證。
  • 如果 SimpleAuthWebService 和 ClientWebService for WSUS 正常運作。
  • 如果用戶端在掃描期間收到 EULA,WSUS 內容虛擬目錄是否正常運作
  1. 識別針對最近變更為使用 TLS/SSL 之軟體更新點進行掃描的用戶端。 如果您需要識別用戶端的協助,請使用下列 PowerShell 腳本執行 腳本

    $Last = (Get-CIMInstance -Namespace "root\CCM\Scanagent" -Class "CCM_SUPLocationList").LastSuccessScanPath
    $Current= Write-Output (Get-CIMInstance -Namespace "root\CCM\Scanagent" -Class "CCM_SUPLocationList").CurrentScanPath
    Write-Host "LastGoodSUP- $last"
    Write-Host "CurrentSUP- $current"
    

    提示

    在社群中樞開啟此腳本。 如需詳細資訊,請 參閱直接連結至社群中樞專案

  2. 在測試用戶端上執行軟體更新掃描週期。 您可以使用下列 PowerShell 腳本來強制掃描:

    Invoke-WMIMethod -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000113}"
    

    提示

    在社群中樞開啟此腳本。 如需詳細資訊,請 參閱直接連結至社群中樞專案

  3. 檢閱用戶端的 ScanAgent.log ,以確認已收到要掃描軟體更新點的訊息。

    Message received: '<?xml version='1.0' ?>
    <UpdateSourceMessage MessageType='ScanByUpdateSource'>
       <ForceScan>TRUE</ForceScan>
       <UpdateSourceIDs>
     		<ID>{A1B2C3D4-1234-1234-A1B2-A1B2C3D41234}</ID>
       </UpdateSourceIDs>
     </UpdateSourceMessage>'
    
  4. 檢閱 LocationServices.log 以確認用戶端看到正確的 WSUS URL。 LocationServices.log

    WSUSLocationReply : <WSUSLocationReply SchemaVersion="1
    ...
    <LocationRecord WSUSURL="https://SERVER.CONTOSO.COM:8531" ServerName="SERVER.CONTOSO.COM"
    ...
    </WSUSLocationReply>
    
  5. 檢閱 WUAHandler.log 以確認用戶端可以成功掃描。

    Enabling WUA Managed server policy to use server: https://SERVER.CONTOSO.COM:8531
    ...
    Successfully completed scan.
    

掃描 HTTPS 設定 WSUS 伺服器之裝置的 TLS 憑證釘選

(于 2103 年推出)

從 Configuration Manager 2103 開始,您可以強制執行憑證釘選,進一步提高 WSUS 的 HTTPS 掃描安全性。 若要完全啟用此行為,請將 WSUS 伺服器的憑證新增至用戶端上的新 WindowsServerUpdateServices 憑證存放區,並確定已透過 [用戶端設定] 啟用憑證釘選。 如需Windows Update代理程式變更的詳細資訊,請參閱使用 WSUS 進行更新來掃描變更和憑證為 Windows 裝置新增安全性 - Microsoft Tech Community

針對Windows Update用戶端強制執行 TLS 憑證釘選的必要條件

  • Configuration Manager 2103 版
  • 確定您的 WSUS 伺服器和軟體更新點已設定為使用 TLS/SSL
  • 將 WSUS 伺服器的憑證新增至用戶端上的新 WindowsServerUpdateServices 憑證存放區
    • 搭配雲端管理閘道使用憑證釘選 (CMG) 時, WindowsServerUpdateServices 存放區需要 CMG 憑證。 如果用戶端從網際網路切換至 VPN,則存放區中 WindowsServerUpdateServices 需要 CMG 和 WSUS 伺服器憑證。

注意事項

裝置的軟體更新掃描會繼續順利執行,針對偵測更新用戶端的 Windows Update 用戶端強制執行 TLS 憑證釘選的預設值為 []。 這包括掃描 HTTP 和 HTTPS。 在憑證位於用戶端的 WindowsServerUpdateServices 存放區,且 WSUS 伺服器設定為使用 TLS/SSL 之前,憑證釘選不會生效。

針對掃描 HTTPS 設定 WSUS 伺服器的裝置啟用或停用 TLS 憑證釘選

  1. 從 Configuration Manager 主控台,移至 [系統管理>用戶端設定]
  2. 選擇 [ 預設用戶端設定 ] 或一組自訂用戶端設定,然後從功能區選取 [ 屬性 ]。
  3. 選取 [客戶端設定] 中的 [軟體更新] 索引卷
  4. 針對偵測更新的 Windows Update 用戶端強制執行 TLS 憑證釘選設定,請選擇下列其中一個選項:
    • :不要針對 WSUS 掃描啟用 TLS 憑證釘選強制執行
    • :在 WSUS 掃描期間啟用裝置的 TLS 憑證釘選 (預設)
  5. 確認用戶端 可以掃描更新。

後續步驟

部署軟體更新