Microsoft Entra 應用程式安全性作業指南
應用程式具有安全性缺口的受攻擊面,而且必須加以監視。 未經常鎖定為使用者帳戶時,可能會發生缺口。 因為應用程式通常會在沒有人為介入的情況下執行,所以可能較難偵測攻擊。
本文提供監視和警示應用程式事件的指導。 這會定期更新,以協助確保您:
防止惡意應用程式取得未保證的資料存取
防止應用程式遭到不良執行者的盜用
收集深入解析,讓您更安全地建置及設定新的應用程式
如果您不熟悉應用程式在 Microsoft Entra ID 中的運作方式,則請參閱 Microsoft Entra ID 中的應用程式和服務主體。
注意
如果您尚未檢閱 Microsoft Entra 安全性作業概觀,則請考慮立即這麼做。
應該檢查哪些狀況
當您監視應用程式記錄中的安全性事件時,請檢閱下列清單,以協助區分一般活動與惡意活動。 下列事件可能表示安全性考量。 本文涵蓋每個項目。
在一般商務程序和排程以外發生的任何變更
應用程式認證變更
應用程式權限
指派給 Microsoft Entra ID 或 Azure 角色型存取控制 (RBAC) 角色的服務主體
應用程式已獲授與高特殊權限
Azure Key Vault 變更
授與應用程式同意的終端使用者
根據風險層級停止終端使用者同意
應用程式設定變更
統一資源識別項 (URI) 已變更或非標準
應用程式擁有者的變更
已修改登出 URL
查看位置
以下為您可用來調查和監視的記錄檔:
從 Azure 入口網站,您可以檢視 Microsoft Entra 稽核記錄,並下載為逗點分隔值 (CSV) 或 JavaScript 物件標記法 (JSON) 檔案。 Azure 入口網站有數種方式可將 Microsoft Entra 記錄與其他工具整合,以讓監視和警示的自動化程度變得更高:
Microsoft Sentinel – 使用安全性資訊與事件管理 (SIEM) 功能,以在企業層級啟用智慧型安全性分析。
Sigma 規則 (英文) - Sigma 是撰寫規則和範本的開放式標準,自動化管理工具可使用這些規則與範本來剖析記錄檔。 在有建議的搜尋準則 Sigma 範本之處,我們已新增 Sigma 存放庫的連結。 Sigma 範本不是由 Microsoft 所撰寫、測試及管理。 而是由全球 IT 安全性社群建立及收集存放庫和範本。
Azure 監視器 – 自動監視及警示各種狀況。 可以建立或使用活頁簿以合併來自不同來源的資料。
與 SIEM 整合的 Azure 事件中樞- Microsoft Entra 記錄可以透過 Azure 事件中樞整合被整合到其他 SIEM,例如 Splunk、ArcSight、QRadar 和 Sumo Logic。
Microsoft Defender for Cloud Apps - 探索及管理應用程式、跨應用程式和資源來控管,以及檢查雲端應用程式的合規性。
使用 Microsoft Entra ID Protection 來保護工作負載身分識別 - 偵測工作負載身分識別在登入行為和離線入侵指標上的風險。
您將監視和警示的大部分內容是條件式存取原則效果。 您可以使用條件式存取見解和報告活頁簿,檢查一或多個條件式存取原則對登入的效果,以及原則的結果,包括裝置狀態。 使用活頁簿來檢視摘要,並識別一段時間內的效果。 您可以使用活頁簿來調查特定使用者的登入。
本文的其餘部分是我們建議您監視及警示的內容。 其依威脅類型進行編排。 如果有預先建立解決方案,我們會連結至這些解決方案,或在表格之後提供範例。 否則,您可以使用上述工具來建置警示。
應用程式認證
許多應用程式都會使用認證在 Microsoft Entra ID 中進行驗證。 在預期的程序以外新增的任何其他認證,都可能是使用這些認證的惡意執行者。 建議您使用受信任授權單位或受控身分識別所發出的 X509 憑證,而不是使用用戶端祕密。 不過,如果您需要使用用戶端祕密,則請遵循良好的防護做法,讓應用程式保持安全。 請注意,應用程式和服務主體更新會記錄為稽核記錄中的兩個項目。
監視應用程式,以識別較長認證的到期時間。
將存留期較長的認證取代為短存留期。 確保認證未認可至程式碼存放庫,並且已安全地儲存。
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
已將認證新增至現有應用程式 | 高 | Microsoft Entra 稽核記錄 | Service-Core 目錄、Category-ApplicationManagement 活動:更新 Application-Certificates 和祕密管理 -及- 活動:更新服務主體/更新應用程式 |
以下認證時發出警示:在正常上班時間或工作流程之外新增認證、環境中未使用的認證類型,或認證新增至支援服務主體的非 SAML 流程。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
存留期超過您原則所允許存留期的認證。 | 中 | Microsoft Graph | 應用程式金鑰認證的開始和結束日期 -及- 應用程式密碼認證 |
您可以使用 MS Graph API 來尋找認證的開始和結束日期,並評估比所允許存留期還要長的存留期。 請參閱此表格後面的 PowerShell 指令碼。 |
您可以使用下列預先建置的監視和警示:
Microsoft Sentinel – 在新增應用程式或服務主體認證時發出警示
Azure 監視器 – Microsoft Entra 活頁簿可協助您評定 Solorigate 風險 - Microsoft Tech Community
適用於雲端的 Defender 應用程式 – 適用於雲端的 Defender 應用程式異常偵測警示調查指南
PowerShell - 尋找認證存留期的 PowerShell 指令碼範例。
應用程式權限
與管理員帳戶相同,應用程式也可以獲指派特殊權限角色。 可以為應用程式指派任何 Microsoft Entra 角色 (例如 使用者系統管理員) 或 Azure RBAC 角色 (例如 計費讀取者)。 因為其可以在沒有使用者的情況下以背景服務形式執行,所以當應用程式獲授與特殊權限角色或權限時,就需要密切監視。
指派給角色的服務主體
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
指派給 Azure RBAC 角色或 Microsoft Entra 角色的應用程式 | 高至中 | Microsoft Entra 稽核記錄 | 類型:服務主體 活動:「將成員新增至角色」或「將符合資格的成員新增至角色」 -或- 「將範圍成員新增至角色」。 |
針對高特殊權限角色,風險為高。 針對低特殊權限角色,風險為中。 只要在一般變更管理或設定程序以外將應用程式指派給 Azure 角色或 Microsoft Entra 角色,就會發出警示。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
應用程式已獲授與高特殊權限
應用程式應遵循最低權限的原則。 調查應用程式權限,以確定需要。 您可以建立應用程式同意授與報告,以協助識別應用程式,並醒目提示特殊權限。
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
應用程式獲授與高特殊權限,例如具有 ".All" (Directory.ReadWrite.All) 或大範圍權限 (Mail.) | 高 | Microsoft Entra 稽核記錄 | 「將應用程式角色指派新增至服務主體」, - 其中 - 目標可識別具有機密性資料的 API (例如 Microsoft Graph) -及- AppRole.Value 可識別高特殊應用程式權限 (應用程式角色)。 |
應用程式獲授與廣泛權限,例如 ".All" (Directory.ReadWrite.All) 或大範圍權限 (Mail.) Microsoft Sentinel 範本 (英文) Sigma 規則 |
授與應用程式權限 (應用程式角色) 或高特殊已委派權限的管理員 | 高 | Microsoft 365 入口網站 | 「將應用程式角色指派新增至服務主體」, - 其中 - 目標可識別具有機密性資料的 API (例如 Microsoft Graph) 「新增已委派的權限授與」, - 其中 - 目標可識別具有機密性資料的 API (例如 Microsoft Graph) -及- DelegatedPermissionGrant.Scope 包括高特殊權限。 |
當系統管理員同意某個應用程式時發出警示。 特別尋找一般活動和變更程序外部的同意。 Microsoft Sentinel 範本 (英文) Microsoft Sentinel 範本 (英文) Microsoft Sentinel 範本 (英文) Sigma 規則 |
應用程式獲授與 Microsoft Graph、Exchange、SharePoint 或 Microsoft Entra ID 的權限。 | 高 | Microsoft Entra 稽核記錄 | 「新增已委派的權限授與」 -或- 「將應用程式角色指派新增至服務主體」, - 其中 - 目標可識別具有機密性資料的 API (例如 Microsoft Graph、Exchange Online 等) |
如前一個資料列中的警示。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
授與其他 API 的應用程式權限 (應用程式角色) | 中 | Microsoft Entra 稽核記錄 | 「將應用程式角色指派新增至服務主體」, - 其中 - 目標可識別任何其他 API。 |
如前一個資料列中的警示。 Sigma 規則 |
代表所有使用者授與高特殊已委派權限 | 高 | Microsoft Entra 稽核記錄 | 「新增已委派的權限授與」,其中目標可識別具有機密性資料的 API (例如 Microsoft Graph)、 DelegatedPermissionGrant.Scope 包括高特殊權限, -及- DelegatedPermissionGrant.ConsentType 是 "AllPrincipals"。 |
如前一個資料列中的警示。 Microsoft Sentinel 範本 (英文) Microsoft Sentinel 範本 (英文) Microsoft Sentinel 範本 (英文) Sigma 規則 |
如需監視應用程式權限的詳細資訊,請參閱本教學課程:調查和補救具風險的 OAuth 應用程式。
Azure Key Vault
使用 Azure Key Vault 來儲存您租用戶的祕密。 建議您注意 Key Vault 設定和活動的任何變更。
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
存取金鑰保存庫的方式、時間和人員 | 中 | Azure Key Vault 記錄 | 資源類型:金鑰保存庫 | 尋找:在一般程序和時段之外對 Key Vault 的任何存取,對 Key Vault ACL 所做的任何變更。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
設定 Azure Key Vault 之後,請啟用記錄。 請參閱存取 Key Vault 的方式和時間,以及在 Key Vault 上設定警示,以在健康情況受到影響時,透過電子郵件、電話、文字或事件格線通知來通知指派的使用者或通訊群組清單。 此外,使用 Key Vault 深入解析設定監視,將會提供金鑰保存庫要求、效能、失敗和延遲的快照集。 Log Analytics 也有一些 Azure Key Vault 查詢範例,可在選取您的金鑰保存庫之後,在 [監視] 下選取 [記錄] 來進行存取。
終端使用者同意
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
終端使用者對應用程式的同意 | 低 | Microsoft Entra 稽核記錄 | 活動:同意應用程式/ConsentContext.IsAdminConsent = false | 尋找:高設定檔或高度特殊權限的帳戶、應用程式要求高風險權限、具有可疑名稱的應用程式,例如泛用、拼錯等等。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
同意應用程式的行為不屬於惡意。 不過,請調查新的終端使用者同意授與,以尋找可疑的應用程式。 您可以限制使用者同意作業。
如需同意作業的詳細資訊,請參閱下列資源:
終端使用者因風險型同意而停止
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
終端使用者同意因風險型同意而停止 | 中 | Microsoft Entra 稽核記錄 | 核心目錄/ApplicationManagement/同意應用程式 失敗狀態原因 = Microsoft.online.Security.userConsent BlockedForRiskyAppsExceptions |
監視和分析任何時間同意因風險而停止。 尋找:高設定檔或高度特殊權限的帳戶、應用程式要求高風險權限或具有可疑名稱的應用程式,例如泛用、拼錯等等。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
應用程式驗證流程
OAuth 2.0 通訊協定中的數個流程。 應用程式的建議流程取決於所建置的應用程式類型。 在某些情況下,應用程式可以選擇可用的流程。 在此情況下,會建議某些驗證流程而不建議其他驗證流程。 具體而言,請避免資源擁有者密碼認證 (ROPC),因為這些認證需要使用者向應用程式公開其目前的密碼認證。 然後,應用程式會使用認證來向識別提供者驗證使用者。 大部分應用程式都應該使用驗證碼流程,或具有代碼交換的證明金鑰 (PKCE) 驗證碼流程,因為建議使用此流程。
建議使用 ROPC 的唯一案例是自動應用程式測試。 如需詳細資訊,請參閱執行自動化整合測試。
裝置程式碼流程是另一個 OAuth 2.0 通訊協定流程,適用於輸入限制的裝置,不會在所有環境中使用。 當裝置程式碼流程出現在環境中,且不會用於輸入限制裝置案例中的情況下。 對於設定錯誤的應用程式或可能為惡意的應用程式,需要更多調查。 裝置碼流程也可以在條件式存取中封鎖或允許。 如需詳細資訊,請參閱條件式存取驗證流程。
使用下列方式監視應用程式驗證:
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
使用 ROPC 驗證流程的應用程式 | 中 | Microsoft Entra 登入記錄 | 狀態=成功 驗證通訊協定-ROPC |
高階信任會放在此應用程式中,因為可以快取或儲存認證。 如果可能的話,請移至更安全的驗證流程。 應僅將此用於應用程式的自動化測試 (若有的話)。 如需詳細資訊,請參閱 Microsoft 身分識別平台和 OAuth 2.0 資源擁有者密碼認證 Sigma 規則 |
使用裝置程式碼流程的應用程式 | 低到中 | Microsoft Entra 登入記錄 | 狀態=成功 驗證通訊協定-裝置程式碼 |
裝置程式碼流程用於可能不在所有環境中的輸入限制裝置。 如果出現成功的裝置程式碼流程,但不需要這些流程,請調查有效性。 如需詳細資訊,請參閱 Microsoft 身分識別平台和 OAuth 2.0 裝置授權授與流程 Sigma 規則 |
應用程式設定變更
監視應用程式設定的變更。 具體而言,是統一資源識別項 (URI)、擁有權和登出 URL 的設定變更。
無關聯的 URI 和重新導向 URI 變更
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
無關聯的 URI | 高 | Microsoft Entra 記錄和應用程式註冊 | Service-Core 目錄、Category-ApplicationManagement 活動:更新應用程式 成功 – 屬性名稱 AppAddress |
例如,尋找無關聯的 URI,指向不再存在的網域名稱,或您未明確擁有的網域名稱。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
重新導向 URI 設定變更 | 高 | Microsoft Entra 記錄 | Service-Core 目錄、Category-ApplicationManagement 活動:更新應用程式 成功 – 屬性名稱 AppAddress |
尋找未使用 HTTPS* 的 URI、在 URL 結尾或網域中具有萬用字元的 URI、「不」是應用程式特有的 URI、指向您未控制之網域的 URI。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
偵測到這些變更時,就會發出警示。
已新增、修改或移除 AppID URI
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
AppID URI 的變更 | 高 | Microsoft Entra 記錄 | Service-Core 目錄、Category-ApplicationManagement 活動:更新 申請 活動:更新服務主體 |
尋找任何 AppID URI 修改,例如新增、修改或移除 URI。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
在核准的變更管理程序外部偵測到這些變更時,就會發出警示。
新的擁有者
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
應用程式擁有權的變更 | 中 | Microsoft Entra 記錄 | Service-Core 目錄、Category-ApplicationManagement 活動:將擁有者新增至應用程式 |
尋找要新增為一般變更管理活動外部的應用程式擁有者的任何使用者執行個體。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
已修改或移除登出 URL
監視對象 | 風險層級 | 其中 | 篩選/子篩選 | 備註 |
---|---|---|---|---|
登出 URL 的變更 | 低 | Microsoft Entra 記錄 | Service-Core 目錄、Category-ApplicationManagement 活動:更新應用程式 -及- 活動:更新服務主體 |
尋找對登出 URL 所做的任何修改。 空白項目或不存在位置的項目會停止使用者終止工作階段。 Microsoft Sentinel 範本 (英文) Sigma 規則 |
資源
GitHub Microsoft Entra 工具組 - https://github.com/microsoft/AzureADToolkit
Azure Key Vault 安全性概觀和安全性指導 - Azure Key Vault 安全性概觀
Solorigate 風險資訊和工具 - Microsoft Entra 活頁簿以協助您存取 Solorigate 風險
OAuth 攻擊偵測指導 - 將認證異常新增至 OAuth 應用程式
SIEM 的 Microsoft Entra 監視設定資訊 - Azure 監視器整合的合作夥伴工具
下一步
Microsoft Entra 安全性作業概觀 (部分機器翻譯)
使用者帳戶的安全性作業 (部分機器翻譯)
特殊權限帳戶的安全性作業 (部分機器翻譯)