整合記錄與 Log Analytics 工作區
您可以使用 Azure 中的進階記錄來查看已登入網路的使用者,以及使用者登入網路之後做什麼。
您已了解如何存取登入和稽核記錄,以及如何使用記錄來搜尋非預期的使用者行為。 存取此資料是保護網路及其資產和資源很重要的第一步。 收集和處理登入和活動記錄可能很費力。 此流程或許可事後發現可疑的使用者行為,但仍無助於安全性小組需要即時檢視行為。
Azure 監視器可提供安全性小組所需的即時檢視和警示。 您可以使用適用於 Azure 監視器的 Log Analytics 工作區,以保留、儲存及視覺化登入和活動記錄資料。 為了讓組織中的安全性小組放心,建議深入了解 Azure 監視器及如何用來識別可疑的登入行為。
本單元說明如何設定適用於 Azure 監視器的 Log Analytics 工作區。 然後,了解如何將記錄檔傳送至 Log Analytics 工作區。 最後,了解如何建立警示,在有可疑的使用者行為或活動發生時通知您。 在稍後的練習中,您可以自己試試看。
必要條件
若要使用 Log Analytics 工作區來檢視和分析 Microsoft Entra 記錄,請務必備妥或設定下列項目:
- 存取 Log Analytics 工作區。
- 存取 Microsoft Entra 記錄的權限。
- 存取 Microsoft Entra 診斷設定的權限。
- Microsoft Entra ID P1 或 P2 或 Premium 2 訂用帳戶。
- 下列任一個 Microsoft Entra 角色:
- 安全性系統管理員
- 安全性讀取者
- 報告讀者
- 全域管理員
建立 Log Analytics 工作區
您知道 Azure 以稽核和登入記錄檔的形式收集使用者資料,但您無法將該資料直接匯入 Azure 監視器。 首先,您必須在 Log Analytics 工作區中收集記錄資料。 每個 Log Analytics 工作區獨一無二,各有自己的資料存放庫和設定。 設定工作區時,您可以使用記錄檔搜尋與以資料表為基礎的查詢來分析資料。
建立 Log Analytics 工作區相當容易。 在 Azure 入口網站中,搜尋記錄分析,以建立新的 Log Analytics 工作區資源。
建立新的 Log Analytics 工作區時,請選取或輸入工作區的詳細資料。 因為對目前登入的使用者而言,工作區獨一無二,請務必建立新的工作區。 在所有 Azure 監視器訂用帳戶之間,每個工作區的名稱必須獨一無二。 您可以選擇建立用於工作區的標籤,
定價層自動指派為隨用隨付,並以每 GB 成本為基礎。
建立 Log Analytics 工作區後,就可以收集並分析使用者稽核和登入資料。
活動記錄的儲存大小
請務必了解工作區會消耗多少儲存體。 一般的登入事件記錄檔大小約為 4 KB,而稽核記錄檔則佔用約 2 KB。
舉例來說,如果租用戶有 1,000 個使用者,則稽核記錄每天會產生大約 15,000 個事件。 儲存量大約每天 30 MB 或每月 900 MB。 而登入記錄檔的儲存大小則又略大於稽核記錄檔。 假設 Azure 租用戶有 1,000 個使用者,則登入記錄每天會產生 34,800 個事件,大約每天 140 MB 或每月 4 GB 的儲存量。
將記錄傳送至 Log Analytics 工作區
既然已建立 Log Analytics 工作區,接下來可以指派使用者稽核記錄和登入記錄。 您想要在 Azure 監視器記錄檔中使用的所有資料都必須儲存在 Log Analytics 工作區中。 在 Azure 入口網站中,前往您的 Microsoft Entra 執行個體。 選取 [監視] 索引標籤,然後選取 [診斷設定]。
若要在兩個記錄檔和 Log Analytics 工作區之間建立的連線,請選取 [新增診斷設定]。
輸入用於設定的名稱,然後選取您要傳送至工作區的記錄。
選取 [傳送至 Log Analytics] 選項,然後指定或建立 Log Analytics 工作區。
現在,您已經建立資料串流程序,此程序會將稽核與登入資料推送至 Log Analytics 工作區。 因為是新的服務,大約要經過 15 分鐘,工作區才會出現任何資料。
分析記錄檔
您已經設定 Log Analytics 工作區來接收使用者活動資料。 現在,您可以使用 Azure 監視器記錄檔檢視環境中的活動。 您可以使用 Azure 監視器記錄檔查詢資料以查看趨勢、特定事件或讓多個資料來源相互關聯。
記錄資料結構描述
稽核與登入記錄檔的資料串流會儲存在 Log Analytics 工作區中兩個不同資料表內,分別為 AuditLogs 以及 SignInLogs。 每個資料表都有自己的結構描述,可供您查詢資料。
撰寫活動記錄查詢
將稽核記錄儲存在工作區資料表後,即可對其執行查詢。 您可以撰寫兩種類型的查詢:以資料表為基礎和以搜尋為基礎。 上一節中的結構描述架構會顯示可供查詢的所有欄位。
您使用的查詢語言是 Kusto,這專用於處理資料和傳回結果集。
每一項 Kusto 查詢都會遵循共同模式:
- 查詢一律以您要執行查詢的資料表名稱為開頭。 在這裡,該名稱會是 SignInLogs 或 AuditLogs。
- 每個命令都以直立線符號 (|) 來分隔,且通常會以新行開頭。 查詢中可以有多個直立線符號。
除非指定特定資料行,否則所看到的結果集將會包含所有結構描述欄位。
where
命令在查詢中最常用來篩選資料。 撰寫用於篩選資料的條件時,下列運算式有效:
運算式 | 描述 | 範例 |
---|---|---|
== | 檢查是否相等 (區分大小寫) | Level == 8 |
=~ | 檢查是否相等 (不區分大小寫) | EventSourceName =~ "microsoft-windows-security-auditing" |
!=, <> | 檢查是否不相等 (兩個運算式都相同) | Level != 4 |
and or |
條件之間必要 | Level == 16 or CommandLine != "" |
其他常見的篩選命令包括:
Command | 描述 | 範例 |
---|---|---|
take *n* |
最適用於小型結果集。 take 會以非特定的順序,從結果集傳回 n 個資料列。 | AuditLogs | Take 10 |
top *n* by *field* |
使用此篩選命令來傳回前 n 個資料列,並依指定的「欄位」排序。 | AuditLogs | Top 10 by timeGenerated |
sort by *field* (desc) |
如果只想要排序結果集,則可使用 sort 命令。 您需要指定要當作排序根據的欄位,然後您可以選擇性地加入 desc 指令來指定遞減排序模式。 | AuditLogs | Sort by timeGenerated desc |
Where field (運算式) value | 主要的篩選命令。 指定欄位、運算式和比較子值。 您可堆疊多個 where 命令,並以直立線符號來分隔。 | AuditLogs | where CreatedDateTime >= ago(2d) |
project fields | 如果想要將結果集限制為只顯示特定欄位或資料行,則可利用以逗號分隔的欄位清單來使用 project 命令。 | AuditLogs | project timeGenerated, OperationName, ResourceGroup, Result |
您可以使用許多其他命令來建立查詢。 若要深入了解查詢和篩選條件,請參閱本課程模組結尾的參考。
範例登入查詢
假設您想要知道過去一週內最常要求和登入的應用程式。 查詢看起來如下列範例所示:
SigninLogs
| where CreatedDateTime >= ago(7d)
| summarize signInCount = count() by AppDisplayName
| sort by signInCount desc
或者,如果要查看過去 14 天內有多少使用者標示為有風險,您會使用此查詢:
SigninLogs
| where CreatedDateTime >= ago(14d)
| where isRisky = true
範例稽核查詢
現在,假設您想要知道上週最常見的使用者事件。 您會使用如下列範例的查詢:
AuditLogs
| where TimeGenerated >= ago(7d)
| summarize auditCount = count() by OperationName
| sort by auditCount desc
在 Log Analytics 工作區中使用現有的活頁簿或範本
您可以使用現有的活頁簿來顯示稽核和登入資料的常用檢視。 如果找不到符合所需用途的活頁簿,您可以從範本開始並修改查詢。
在 Azure 入口網站的 Log Analytics 工作區中,從左側功能表的 [一般] 下,選取 [活頁簿]。
如果找不到有您所需查詢的現有活頁簿,您可以選取 [預設範本] 圖格並建立查詢。
如果要知道上週最常見的使用者事件,請在查詢編輯器中貼上此查詢:
AuditLogs
| where TimeGenerated >= ago(7d)
| summarize auditCount = count() by OperationName
| sort by auditCount desc
執行查詢以檢查結果。 滿意您想要的資料時,請選取 [完成編輯],然後儲存活頁簿。
輸入描述性名稱,例如「過去 7 天的常見使用者事件」,選取或輸入您想要使用的訂用帳戶、資源群組和位置,然後儲存活頁簿。
若要檢視活頁簿,請在左側功能表的 [一般] 下,選取 [活頁簿]。 在 [最近修改的活頁簿] 下尋找活頁簿圖格。