重要: 特定 Microsoft Windows 版本已終止支援。 請注意,延伸安全性更新 (ESU) 可使用時,可能會在最新的作業系統結束日期之後支援某些版本的 Windows。 請參閱 生命週期常見問題解答 - 擴展安全更新,以尋找提供 ESUS 的產品清單。

變更日期

變更描述

2024 年 8 月 1 日

  • 可讀性的次要格式設定變更

  • 在「用戶端的所有 Access-Request 封包中設定 Message-Authenticator 屬性的驗證」設定中,系統使用了「訊息」一詞,而非「封包」

2024 年 8 月 5 日

  • 已新增使用者資料包通訊協定 (UDP) 的連結

  • 已新增網路原則伺服器 (NPS) 的連結

2024 年 8 月 6 日

  • 更新 [摘要] 區段以指出這些變更已納入在 2024 年 7 月 9 日或之後的 Windows 更新中

  • 更新 [採取動作] 區段中的項目符號,表示我們建議您開啟選項。 這些選項預設為關閉。

  • 在 [此更新新增的事件] 區段中新增備註,指出 Event ID 是透過 2024 年 7 月 9 日或之後的 Windows 更新新增至 NPS 伺服器

內容

摘要

於 2024 年 7 月 9 日或之後所更新的 Windows 更新解決了與 MD5 衝突問題相關的遠端驗證撥入使用者服務 (RADIUS) 通訊協定中的資訊安全漏洞。 由於 MD5 中的弱式資料完整性檢查功能,攻擊者可能會竄改封包以取得未經授權的存取權。 MD5 弱點會使基於 使用者資料包通訊協定 (UDP) 的 RADIUS 網際網路流量在傳輸過程中,受到封包偽造或修改的危害。 

如需此弱點的詳細資訊,請參閱 CVE-2024-3596 和白皮書 RADIUS 和 MD5 衝突攻擊

注意事項 此弱點需要 RADIUS 網路和 網路原則伺服器 (NPS) 的實際存取權。 因此,具有安全 RADIUS 網路的客戶不易受到攻擊。 此外,透過 VPN 進行 RADIUS 通訊時,不存在此弱點。 

採取行動

為了協助保護您的環境,建議您啟用下列設定。 如需詳細資訊,請參閱 設定 一節。

  • 設定 Access-Request 封包中的 Message-Authenticator 屬性。 請確定所有 Access-Request 封包都包含 Message-Authenticator 屬性。 根據預設,設定 Message-Authenticator 屬性的選項為關閉。 建議您開啟此選項。

  • 驗證 Access-Request 封包中的 Message-Authenticator 屬性。 考慮在 Access-Request 封包上強制執行 Message-Authenticator 屬性的驗證。 系統不會處理沒有此屬性的 Access-Request 封包。 根據預設,Access-Request 郵件必須包含郵件驗證器屬性 選項已關閉。 建議您開啟此選項。

  • 如果 Proxy-State 屬性存在,請驗證 Access-Request 封包中的 Message-Authenticator 屬性。 選用,如果無法在每一個 Access-Request 封包上執行 Message-Authenticator 屬性的強制驗證,請啟用 limitProxyState 選項。 limitProxyState 會強制丟棄包含 Proxy-state 屬性且不含 Message-Authenticator 屬性的 Access-Request 封包。 根據預設,limitproxystate 選項已關閉。 建議您開啟此選項。

  • 在 RADIUS 回應封包中驗證 Message-Authenticator 屬性: Access-AcceptAccess-RejectAccess-Challenge。 啟用 requireMsgAuth 選項以強制從不包含 Message-Authenticator 屬性的遠端伺服器中丟棄 RADIUS 回應封包。 根據預設,requiremsgauth 選項已關閉。 建議您開啟此選項。

此更新新增的事件

如需詳細資訊,請參閱 設定 一節。

注意 這些 Event ID 是透過於 2024 年 7 月 9 日或之後的 Windows 更新新增至 NPS 伺服器。

Access-Request 封包因為包含 Proxy-State 屬性但缺少 Message-Authenticator 屬性,而遭捨棄。 請考慮將 RADIUS 用戶端變更為包含 Message-Authenticator 屬性。 或者,您也可以使用 limitProxyState 設定,為 RADIUS 用戶端新增例外狀況。

事件記錄檔

系統

事件類型

錯誤

事件來源

NPS

事件識別碼

4418

事件文字

收到來自 RADIUS 用戶端 <ip/name> 的存取要求訊息,其中包含 Proxy-狀態屬性,但並未包含訊息-驗證器屬性。 因此,要求已捨棄。 基於安全性目的,訊息-驗證器屬性是必要項目。 若要深入了解,請參閱 https://support.microsoft.com/help/5040268。 

這是 Access-Request 封包的稽核事件,其中 Proxy-State 狀態不包含 Message-Authenticator 屬性。 請考慮將 RADIUS 用戶端變更為包含 Message-Authenticator 屬性。 一旦啟用 limitproxystate 設定,系統便會捨棄 RADIUS 封包。

事件記錄檔

系統

事件類型

警告

事件來源

NPS

事件識別碼

4419

事件文字

收到來自 RADIUS 用戶端 <ip/name> 的存取要求訊息,其中包含 Proxy-狀態屬性,但並未包含訊息-驗證器屬性。 由於在 [稽核模式] 中設定了 limitProxyState,所以目前允許該要求。 若要深入了解,請參閱 https://support.microsoft.com/help/5040268。 

這是在 Proxy 中沒有 Message-Authenticator 屬性的情況下收到的 RADIUS 回應封包稽核事件。 請考慮變更 Message-Authenticator 屬性的指定 RADIUS 伺服器。 一旦啟用 requiremsgauth 設定,系統便會捨棄 RADIUS 封包。

事件記錄檔

系統

事件類型

警告

事件來源

NPS

事件識別碼

4420

事件文字

RADIUS Proxy 已收到伺服器 <ip/name> 的回應,其中包含遺失的 Message-Authenticator 屬性。 由於在 [稽核模式] 中設定了 requireMsgAuth,所以目前允許該回應。 若要深入了解,請參閱 https://support.microsoft.com/help/5040268。

當未設定建議的設定時,會在服務啟動期間記錄此事件。 如果 RADIUS 網路不安全,請考慮啟用該設定。 針對安全網路,可以忽略這些事件。

事件記錄檔

系統

事件類型

警告

事件來源

NPS

事件識別碼

4421

事件文字

RequireMsgAuth 和/或 limitProxyState 設定在 <Disable/Audit> 模式中。 基於安全性目的,這些設定應該在 [啟用] 模式中進行設定。 若要深入了解,請參閱 https://support.microsoft.com/help/5040268。

設定

此設定可讓 NPS Proxy 開始在所有 Access-Request 封包中傳送 Message-Authenticator 屬性。 若要啟動此設定,請使用下列其中一種方法。

方法 1: 使用 NPS Microsoft Management Console(MMC)

如果使用 NPS MMC,請依照下列步驟執行:

  1. 在伺服器上開啟 NPS 使用者介面 (UI)。

  2. 開啟遠端 RADIUS 伺服器群組

  3. 選取 [RADIUS 伺服器]

  4. 移至 [驗證/帳戶處理]

  5. 點擊以選取 [要求必須包含 Message-Authenticator 屬性] 核取方塊。

方法 2: 使用 netsh 命令

若要使用 netsh,請執行下列命令:

netsh nps set remoteserver remoteservergroup = <server group name> address = <server address> requireauthattrib = yes

如需詳細資訊,請參閱 遠端 RADIUS 伺服器群組命令

此設定需要在所有 Access-Request 封包中使用 Message-Authenticator 屬性,如果缺乏該屬性,則會捨棄封包。

方法 1: 使用 NPS Microsoft Management Console(MMC)

如果使用 NPS MMC,請依照下列步驟執行:

  1. 在伺服器上開啟 NPS 使用者介面 (UI)。

  2. 開啟 [RADIUS 用戶端]

  3. 選取 [RADIUS 用戶端]

  4. 移至 [進階設定]

  5. 點擊以選取 Access-Request 訊息必須包含 message-authenticator 屬性 核取方塊。

如需詳細資訊,請參閱 設定 RADIUS 用戶端

方法 2: 使用 netsh 命令

若要使用 netsh,請執行下列命令:

netsh nps set client name = <client name> requireauthattrib = yes

如需詳細資訊,請參閱 遠端 RADIUS 伺服器群組命令

此設定可讓 NPS 伺服器捨棄包含 Proxy-State 屬性但不包含 Message-Authenticator 屬性的潛在易受攻擊的 Access-Request 封包。 此設定支援三種模式:

  • 稽核

  • [啟用]

  • 停用

[稽核] 模式中,會記錄警告事件 (事件識別碼: 4419),但仍會處理該要求。 使用此模式,可識別傳送要求的不相容實體。

視需要使用 netsh 命令來設定、啟用及新增例外狀況。

  1. 若要在 [稽核] 模式中設定用戶端,請執行下列命令:

    netsh nps set limitproxystate all = "audit"

  2. 若要在 [啟用] 模式中設定用戶端,請執行下列命令:

    netsh nps set limitproxystate all = "enable" 

  3. 若要新增例外狀況,以從 limitProxystate 驗證排除用戶端,請執行下列命令:

    netsh nps set limitproxystate name = <client name> exception = "Yes" 

此設定可讓 NPS Proxy 在不具有 Message-Authenticator 屬性的情況下,捨棄潛在易受攻擊的回應訊息。 此設定支援三種模式:

  • 稽核

  • [啟用]

  • 停用

[稽核] 模式中,會記錄警告事件 (事件識別碼: 4420),但仍會處理該要求。 使用此模式,可識別傳送回應的不相容實體。

視需要使用 netsh 命令來設定、啟用及新增例外狀況。

  1. 若要在 [稽核] 模式中設定伺服器,請執行下列命令:

    netsh nps set requiremsgauth all = "audit"

  2. 若要啟用所有伺服器的設定,請執行下列命令:

    netsh nps set requiremsgauth all = "enable"

  3. 若要新增例外狀況,以從 requireauthmsg 驗證排除伺服器,請執行下列命令:

    netsh nps set requiremsgauth remoteservergroup = <remote server group name> address = <server address> exception = "yes"

常見問題集

檢查相關事件的 NPS 模組事件。 請考慮為受影響的用戶端/伺服器新增例外狀況或設定調整。

否,本文中討論的設定建議用於不安全的網路。 

參考

描述 Microsoft 軟體更新所使用的標準術語說明

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。

我們提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊如有變更,恕不另行通知。 我們不保證此協力廠商連絡資訊的正確性。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。