Azure AD 審計:啟用和配置審計日誌

當用戶驗證通過 Azure Active Directory 存取特定服務,例如 Office 365 或其他 SaaS 應用程式時,將會進行對 Azure AD 的驗證工作流程嘗試。第一部分是評估用戶是否在指定的租戶內,如果不在,則將用戶路由到正確的目錄租戶。接下來,它確定組成員資格和密碼。所有無論通過與否,都將被記錄下來的驗證嘗試。
注意: Azure AD 登錄活動還涉及其他兩個屬性,即 設備信息 和 條件式存取策略。
日誌條目
由於這個日誌記錄顯示特定用戶使用 Azure PowerShell 客戶端登錄到 Azure,並且我們沒有應用任何條件訪問策略。考慮的最重要事項是:
1. 如果驗證成功,流量是否來自已知位置和設備?
2. 如果驗證失敗,失敗的原因是什麼?
系統記錄這些事件,我們可以通過活動進行檢查。然而,我們注意到默認情況下,我們將所有這些日誌存儲在 Azure AD 數據庫中,這些日誌的保留取決於我們對 Azure AD(P1 或 P2)擁有什麼樣的許可證。然而,我們還有選擇定義診斷,將日誌從 Azure AD 導出到日誌分析工作區之外。
注意:我們的組織需要 Azure AD P1 或 P2 許可證才能導出登錄數據。
Azure AD 日誌來源
在不斷演變的數位安全風景中,確保敏感資料的保護和維持堅固的網絡安全姿態已成為組織的首要目標。不同的日誌來源記錄了其他一些數據:
-
審計日誌:這些日誌記錄了在 Azure AD 內進行的各種管理操作和變更,如使用者和群組管理、應用程式分配和策略修改,提供了管理目錄的洞察。
-
登入日誌:它們追蹤驗證活動,捕捉有關使用者、應用程式和服務主體的成功和失敗登入嘗試的詳細資訊,有助於檢測未經授權的訪問或可疑行為。
-
非交互式使用者登錄日誌:這些日誌專注於使用者的非交互式(程序化)登錄,通常出現在自動化流程或腳本中,可以看到服務帳戶和自動化活動。
-
服務主體登錄日誌:它們專門追蹤服務主體的登錄活動,這些是應用程式用於訪問資源的身份。 監控這些日誌 有助於識別異常行為或應用程式身份的潛在濫用。
-
管理身份登录日志:被 Azure 资源用于与 Azure AD 进行身份验证。这些日志记录了受管理身份的登录活动,有助于理解资源级别的访问模式。
-
配置日志:提供关于本地目录和 Azure AD 之间用户和组同步活动的见解,有助于确保数据一致性和准确性。
-
ADFS 登录日志:Active Directory 联合身份验证服务(ADFS)日志跟踪通过联合身份验证的登录尝试,提供有关用户在联合环境中访问资源的信息,并有助于监视外部访问模式。
審計日誌的重要性
每種日誌類型在 Azure AD 環境中扮演著不同的角色,用於加強安全性、監視活動並保持合規性。如果我們將日誌移至具有 Sentinel 的 Log Analytics,我們還可以選擇創建分析查詢,在出現可疑行為時自動觸發警報。
注意:您還可以將數據匯出到 Azure Storage Account 和 Azure Event Hub。例如,我們定義多個匯出流程以將數據發送到不同的工作區。首先,我們需要了解我們記錄的不同 EventIDs。
監控 Azure AD 的最佳實踐
Log Analytics 和 Azure Sentinel 使用 Kusto 查詢來分析數據。Kusto 是一種僅供查詢的語言,具有出色的可視化功能,作為門戶的一部分。我們創建了一些不同的規則。我們使用獵捕規則來探索(但不定期運行);第二個是按預定時間表運行的分析規則。
我們通常使用的一個獵捕規則示例是一個簡單的規則,用於確定我們的登入位置。
SigninLogs
| summarize count() by Location
另一個很好的示例是顯示對 Azure AD 的登入嘗試失敗,其中錯誤代碼為50126或50020。
SigninLogs
| where ResultType in ("50126", "50020")
| extend OS = DeviceDetail.operatingSystem, Browser = DeviceDetail.browser
| extend StatusCode = tostring(Status.errorCode), StatusDetails = tostring(Status.additionalDetails)
| extend State = tostring(LocationDetails.state), City = tostring(LocationDetails.city)
| summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), IPAddresses = makeset(IPAddress), DistinctIPCount = dcount(IPAddress),
makeset(OS), makeset(Browser), makeset(City), AttemptCount = count()
by UserDisplayName, UserPrincipalName, AppDisplayName, ResultType, ResultDescription, StatusCode, StatusDetails, Location, State
| extend timestamp = StartTime, AccountCustomEntity = UserPrincipalName
| Sort by AttemptCount
這裡,另一個示例是查看失敗的 MFA 認證嘗試的用戶。
SigninLogs
| where TimeGenerated >= ago(31d)
| where ResultType == "50074"
另一個示例是查看外部訪客用戶和對條件訪問策略所做的更改。
AuditLogs
| where Category == "UserManagement"
| where OperationName == "Invite external user" or OperationName == "Redeem external user invite"
AuditLogs | where Category == "Policy" |
project ActivityDateTime, ActivityDisplayName , TargetResources[0].displayName, InitiatedBy.user.userPrincipalName
請注意,這些並不是我們通過 Kusto 執行的唯一查詢。
使用 Microsoft Graph 活动日志的新 Azure AD 审计日志
Microsoft 推出了新的 Azure AD 审计日志。我们使用日志分析工作区将这些日志存储到日志分析工作区。2023年3月14日引入了 Azure Active Directory 诊断设置中的新 Microsoft Graph 活动日志引入了一个名为MicrosoftGraphActivityLogs的新日志,以及其他列出的日志文件。
特別是,這些日誌文件提供了有關API 請求 發送到租戶中的 Microsoft Graph 資源的詳細信息。EnrichedOffice365AuditLogs 是另一個非常有助於故障排除的日誌文件。幸運的是,Azure Active Directory (Azure AD) 診斷設置允許我們配置日誌和指標以便監控和分析 Azure AD 中的活動 租戶。
當我們建立一個診斷設定時,我們會指定我們想要收集的數據類型,例如審計日誌、登入日誌或目錄日誌,以及我們希望將數據發送到何處,例如儲存帳戶、事件中心或Log Analytics工作區。Microsoft Graph活動日誌全面記錄了對Microsoft Graph的API請求,這些請求是針對Azure AD租戶內的資源。因此,這些日誌提供了有關請求性質的詳細信息,包括發出請求的用戶或應用程序,我們訪問的資源,以及所採取的特定操作。
新Azure AD審計日誌概覽
Microsoft Graph 活動記錄使管理員和開發人員能夠監控和分析其租戶內 Microsoft Graph 的使用模式。同時,我們幫助識別潛在問題或異常,追蹤應用程序和用戶的性能,並優化資源的使用。
Microsoft 推出了新的 Azure AD 日誌,如下所列。我們將這些數據發送到我們選擇的 Log Analytics 工作區。我們的組織需要 Azure AD P1 或 P2 授權以導出登錄數據:
- NetworkAccessTrafficLogs
- RiskyServicePrincipals
- ServicePrincipalRiskEvents
- EnrichedOffice365AuditLogs
- MicrosoftGraphActivityLogs
Microsoft Graph 活動記錄
總的來說,MicrosoftGraphActivityLogs 是一個強大的診斷工具,用於管理和監控 MicrosoftGraph 的使用。我們在下面的清單和截圖中展示了MicrosoftGraphActivityLogs的類別和解決方案:
- 類別
- 審計類別:記錄管理員更改,合規性。
- 安全類別:監控登錄和訪問,有助於威脅檢測。
- 解決方案
- 日誌管理解決方案: 精簡安全實踐,增強主動應對。
請參閱此官方 Microsoft 文件 中的完整 Microsoft Graph 活動日誌列和屬性清單。
Azure Active Directory (Azure AD) 中的 Microsoft Graph 活動日誌
我們使用診斷設定為資源配置的平台日誌和指標的串流匯出。建立最多五個診斷設定以將 日誌 和指標發送至獨立目的地。
- 前往 Azure AD 刀片在 Azure 入口網站中
- 從左側菜單中選擇 診斷設定
- 診斷設定顯示新的 Microsoft Graph 活動日誌
Microsoft Graph 活動日誌的診斷設定
點擊新增診斷設定以配置 Microsoft Graph 活動記錄。Microsoft Graph 活動記錄與其他 Azure AD 診斷工具結合,以確保我們的 Azure AD 環境的安全性和可靠性。綜合其他 Azure AD 診斷工具,以確保我們的 Azure AD 環境的安全性和可靠性。安全性和可靠性。

Azure AD 審計:啟用和配置審計日誌結論
總之,通過啟用和配置審計日誌和 Microsoft Graph 活動日誌來採用 Azure AD 審計對於尋求提高安全性和合規性的組織至關重要。這些日誌為跟蹤用戶活動、檢測威脅和滿足監管標準提供了寶貴的見解。通過共同利用這些日誌,組織可以積極增強其安全策略,盡管持續監控和保持對 Azure AD 功能的更新對於持續有效性至關重要。
Source:
https://infrasos.com/azure-ad-auditing-enabling-and-configuring-audit-logs/