允許多租用戶驗證的應用程式

LOW

說明

為了實現登入功能而在 Microsoft Entra ID 中註冊的應用程式可以申請單租用戶或多租用戶驗證,也稱為「登入受眾」。單租用戶驗證僅限同一租用戶的使用者存取,而多租用戶驗證則可供任何 Entra 租用戶中的使用者存取。單租用戶和多租用戶應用程式的這項差異可能會產生安全性影響。如果在並未充分瞭解其影響的情況下將應用程式設定為多租用戶,並且未建置必要的預防措施,則可能導致安全風險。

多租用戶應用程式的曝險率較高,因為任何租用戶的惡意 Entra 使用者都有可能發現並存取該應用程式。如果應用程式的程式碼沒有考慮此設定,例如並未檢查使用者的來源租用戶是否包含在授權清單中,則可能會導致未授權存取。易受攻擊應用程式的特徵是指僅憑有效權杖,就假設驗證正當無虞並授予存取權,而不會進行進一步檢查。這類弱點屬於「驗證 (AuthN) 與授權 (AuthZ)」缺陷之一。根據「共同責任模式」,Entra ID 會處理使用者驗證,而授權則由應用程式負責。

就連 Microsoft 也在 2023 年 3 月因為這種混淆而遭遇問題,此情況在「BingBang」案例研究中有詳細說明。安全研究人員能夠利用這種錯誤設定來入侵多個 Microsoft 應用程式,包括 Bing 搜尋引擎的管理入口網站。雖然 Microsoft 已在其應用程式中解決了此弱點,但這也提醒我們,類似的弱點可能會影響您的應用程式,應該視需要檢視並修正。

多租用戶應用程式也容易發生其他驗證混淆,例如 nOAuth 缺陷

多租用戶應用程式有其正當的使用情境,尤其是在貴組織託管供其他組織存取的應用程式 (例如,作為軟體廠商或用於組織間協作),或者使用者來自不同租用戶但同屬一個組織 (例如,每個子公司各有一個租用戶) 的情況下。這些應用程式只有在完全依賴成功的驗證,而不進行額外的授權檢查時,才會容易受到攻擊。 此曝險指標無法判斷應用程式是否有意設定為公開,也無法確定多租用戶驗證是否為刻意啟用。它也無法確定多租用戶功能是否有必要性,並且由於無法存取應用程式的程式碼,因此也無法驗證所需的授權檢查是否已設定完成。基於上述原因,該指標會將所有多租用戶應用程式標記為您必須逐一審查的結果。一旦確認完成,您就能將其標記為已略過。

解決方案

請在所有者的協助下審查應用程式,以驗證應用程式的多租用戶性質是否符合預期。確保啟用此設定時,相關人員已完全瞭解單租用戶應用程式和多租用戶應用程式之間的差異。確認該應用程式是否在註冊租用戶之外,尚可容納其他租用戶的使用者。

當然,如果應用程式原本就是公開性質,您也可以在本曝險指標中註明以便略過。

如果應用程式不需要多租用戶驗證,則可以將其切換回單租用戶模式。不過請注意,Entra ID 會根據受支援的帳戶類型,對應用程式執行不同的驗證規則。因此,有些情況下無法直接切換至單租用戶模式,而不調整其他參數。請謹慎操作,並仔細檢查任何變更所產生的影響。 您可以按照Microsoft 的說明更新受眾,或遵照以下程序操作:

  1. 使用擁有應用程式或具備 Entra 角色 (例如應用程式系統管理員或雲端應用程式管理員) 的 Entra 使用者帳戶,登入 Azure 入口網站或 Entra 系統管理中心 (具體所需的 Entra 權限為 microsoft.directory/applications/audience/update)。
  2. 開啟「應用程式註冊」選單。
  3. 使用結果中顯示的名稱或物件 ID 搜尋應用程式。
  4. 在「概觀」頁面上,「支援的帳戶類型」區段目前應顯示「多組織」或「所有 Microsoft 帳戶使用者」。
  5. 按一下「驗證」選單,接著按照說明將應用程式切換為「單租用戶」。

反之,如果應用程式需要多租用戶驗證,請向其開發人員確認,針對收到的驗證權杖,程式碼是否設有額外授權檢查,即宣告驗證

  • 在適用的情況下,根據租用戶 ID 宣告,應用程式應只接受來自已識別 Entra 租用戶預設清單 (例如組織子公司的租用戶) 使用者的權杖。
  • 在適用的情況下,應用程式也可以考慮根據特定已知使用者的物件 ID 宣告,接受其權杖。
  • 應用程式可以使用各種方法建置角色型存取控制 (RBAC) 模型,可用資源包括 Entra 應用程式角色、Entra 群組或自己的資料庫。

當您確認已建置檢查機制,或者該應用程式是為公開使用而設計的,則可以在此曝險指標中將該應用程式標記為略過。

請注意: 條件式存取原則僅適用於同一租用戶中的使用者。因此,他們無法限制其他租用戶的使用者存取您的多租用戶應用程式。

此外,我們建議遵循 Microsoft 的官方指南,處理 Entra ID 多租用戶應用程式授權的潛在錯誤設定,並參考指南中的其他具體建議。

最後,請向 Entra 和 Azure 管理員進行宣導,確保他們無論是透過 Entra 應用程式註冊頁面或 Azure App Service 建立應用程式,都能謹慎選擇使用單租用戶或多租用戶設定。

指標詳細資料

名稱: 允許多租用戶驗證的應用程式

代碼名稱: APPLICATION-ALLOWING-MULTI-TENANT-AUTHENTICATION

嚴重性: Low

類型: Microsoft Entra ID Indicator of Exposure

MITRE ATT&CK 資訊: