監視健康情況並稽核分析規則的完整性
為了確保 Microsoft Sentinel 服務中全面、不間斷和無竄改的威脅偵測,請追蹤分析規則的健康情況和完整性,並藉由監視其 執行深入解析、查詢健康情況和稽核記錄,以及 使用手動重新執行來測試和優化您的規則,以保持最佳運作。
為相關項目關係人設定健康情況和稽核事件的通知,然後他們可以採取行動。 例如,定義並傳送電子郵件或 Microsoft Teams 訊息、在票證系統中建立新的票證等等。
本文說明如何使用 Microsoft Sentinel 的 稽核和健康情況監視功能 ,從 Microsoft Sentinel 中追蹤分析規則的健康情況和完整性。
如需規則深入解析和手動重新執行規則的資訊,請參閱 監視和優化排程分析規則的執行。
重要
SentinelHealth 和 SentinelAudit 數據表目前處於預覽狀態。 請參閱 Microsoft Azure Preview 補充使用規定,了解適用於搶鮮版 (Beta)、預覽版或尚未正式發行 Azure 功能的其他法律條款。
摘要
Microsoft Sentinel 分析規則健康情況記錄:
- 此記錄會擷取記錄分析規則執行的事件,以及這些執行的最終結果—如果成功或失敗,以及失敗的原因。
- 記錄也會針對每個執行的分析規則記錄:
- 規則的查詢擷取了多少個事件。
- 事件數目是否通過規則中定義的臨界值,導致規則引發警示。
這些記錄會收集於Log Analytics的 SentinelHealth 數據表中。
Microsoft Sentinel 分析規則稽核記錄:
- 此記錄會擷取記錄對任何分析規則所做的變更的事件,包括下列詳細數據:
- 已變更之規則的名稱。
- 規則的哪些屬性已變更。
- 變更前後的規則設定狀態。
- 進行變更的使用者或身分識別。
- 變更的來源IP和日期/時間。
- ...等等。
這些記錄會收集在Log Analytics的 SentinelAudit 數據表中。
- 此記錄會擷取記錄對任何分析規則所做的變更的事件,包括下列詳細數據:
使用 SentinelHealth 和 SentinelAudit 數據表 (預覽)
若要從上述數據表取得稽核和健全狀況數據,您必須先開啟工作區的 Microsoft Sentinel 健康情況功能。 如需詳細資訊,請參閱 開啟 Microsoft Sentinel 的稽核和健康情況監視。
開啟健康情況功能之後, SentinelHealth 數據表會在針對自動化規則和劇本產生的第一次成功或失敗事件時建立。
瞭解 SentinelHealth 和 SentinelAudit 資料表事件
SentinelHealth 資料表中會記錄下列類型的分析規則健康情況事件:
排程的分析規則執行。
NRT 分析規則執行。
如需詳細資訊,請參閱 SentinelHealth 數據表數據行架構。
下列類型的分析規則稽核事件會記錄在 SentinelAudit 資料表中:
建立或更新分析規則。
已刪除分析規則。
如需詳細資訊,請參閱 SentinelAudit 資料表數據行架構。
執行查詢以偵測健康情況和完整性問題
為了獲得最佳結果,您應該在這些數據表的預先建置函式上建置查詢,_SentinelHealth() 和 _SentinelAudit(),而不是直接查詢數據表。 這些函式可確保在對數據表本身架構進行變更時,維護查詢的回溯相容性。
在第一個步驟中,您的查詢應該篩選數據表,以取得與分析規則相關的數據。 SentinelResourceType
使用 參數。
_SentinelHealth()
| where SentinelResourceType == "Analytics Rule"
如果您想要,您可以進一步篩選特定類型的分析規則清單。 針對這個使用 SentinelResourceKind
參數。
| where SentinelResourceKind == "Scheduled"
# OR
| where SentinelResourceKind == "NRT"
以下是一些範例查詢,可協助您開始使用:
尋找未成功執行的規則:
_SentinelHealth() | where SentinelResourceType == "Analytics Rule" | where Status != "Success"
尋找已「自動停用」的規則:
_SentinelHealth() | where SentinelResourceType == "Analytics Rule" | where Reason == "The analytics rule is disabled and was not executed."
依原因計算成功或失敗的規則和執行:
_SentinelHealth() | where SentinelResourceType == "Analytics Rule" | summarize Occurrence=count(), Unique_rule=dcount(SentinelResourceId) by Status, Reason
尋找規則移除活動:
_SentinelAudit() | where SentinelResourceType =="Analytic Rule" | where Description =="Analytics rule deleted"
依規則名稱與活動名稱尋找規則的活動:
_SentinelAudit() | where SentinelResourceType =="Analytic Rule" | summarize Count= count() by RuleName=SentinelResourceName, Activity=Description
依呼叫端名稱尋找規則的活動(執行活動的身分識別):
_SentinelAudit() | where SentinelResourceType =="Analytic Rule" | extend Caller= tostring(ExtendedProperties.CallerName) | summarize Count = count() by Caller, Activity=Description
狀態、錯誤和建議的步驟
針對已排程的分析規則執行或 NRT 分析規則執行,您可能會看到下列任何狀態和描述:
成功:成功執行規則,產生
<n>
警示。成功:規則已成功執行,但未達到產生警示所需的閾值(
<n>
)。失敗:這些是規則失敗的可能描述,以及您可以對其執行的動作。
描述 補救 執行查詢時發生內部伺服器錯誤。 查詢執行逾時。 找不到查詢中所參考的數據表。 確認相關的數據源已連線。 執行查詢時發生語意錯誤。 請編輯並儲存分析規則,嘗試重設分析規則(而不變更任何設定)。 查詢所呼叫的函式會以保留字命名。 拿掉或重新命名函式。 執行查詢時發生語法錯誤。 請編輯並儲存分析規則,嘗試重設分析規則(而不變更任何設定)。 工作區不存在。 此查詢被發現使用太多系統資源,且無法執行。 檢閱並調整分析規則。 請參閱我們的 Kusto 查詢語言 概觀和最佳做法檔。 找不到查詢所呼叫的函式。 確認查詢所呼叫之所有函式的工作區是否存在。 找不到查詢中使用的工作區。 確認查詢中的所有工作區都存在。 您沒有執行此查詢的許可權。 請編輯並儲存分析規則,嘗試重設分析規則(而不變更任何設定)。 您沒有查詢中一或多個資源的訪問許可權。 查詢參考了找不到的記憶體路徑。 查詢被拒絕存取記憶體路徑。 在此工作區中定義了多個具有相同名稱的函式。 拿掉或重新命名備援函式,並藉由編輯並儲存規則來重設規則。 此查詢未傳回任何結果。 不允許此查詢中的多個結果集。 查詢結果包含每個數據列的欄位數目不一致。 規則的執行因數據擷取時間長而延遲。 規則的執行因暫時性問題而延遲。 因為暫時性問題而未擴充警示。 因為實體對應問題而未擴充警示。 <由於 32 KB 的警示大小限制,警示名稱>中已捨棄實體數目。<> <由於實體對應問題,警示名稱>中<已捨棄實體數目>。 查詢導致<數位>事件,超過規則類型>規則允許的最大限制>結果<,<且具有每個數據列事件群組設定的警示。 針對第一 <個限制 1> 事件產生每一個數據列的警示,併產生額外的匯總警示來考慮所有事件。
- <number> = 查詢所傳回的事件數目
- <限制> = 目前排程規則的 150 個警示,NRT 規則為 30 個
- <規則類型> = 已排程或 NRT
使用稽核和健全狀況監視活頁簿
若要在工作區中提供活頁簿,您必須從 Microsoft Sentinel 內容中樞安裝活頁簿解決方案:
從 Microsoft Sentinel 入口網站中,從 [內容管理] 功能選取 [內容中樞][預覽]。
在內容中樞中,於搜尋列中輸入健康情況,然後從結果中 [獨立式] 下的 [活頁簿解決方案] 中選取 [分析健康情況和稽核]。
從詳細數據窗格中選取 [安裝],然後選取出現在其位置的 [儲存]。
當解決方案指出已安裝時,請從 [威脅管理] 功能選取 [活頁簿]。
在 [ 活頁簿資源 庫] 中,選取 [範本 ] 索引標籤,在搜尋列中輸入 健全 狀況,然後從結果中選取 [分析健康情況和稽核 ]。
在詳細數據窗格中選取 [儲存 ],以建立活頁簿的可編輯和可用復本。 建立複本時,選取 [檢視已儲存的活頁簿]。
一旦進入活頁簿,請先選取 您想要檢視的訂 用帳戶和 工作區 (可能已選取它們),然後定義 TimeRange 以根據您的需求篩選數據。 使用 [ 顯示說明 ] 切換來顯示活頁簿的就地說明。
此活頁簿中有三個索引標籤區段:
概觀索引標籤
[概觀] 索引標籤會顯示健康情況和稽核摘要:
- 選取工作區中分析規則執行狀態的健康情況摘要:執行次數、成功和失敗,以及失敗事件詳細數據。
- 稽核所選工作區中分析規則的活動摘要:一段時間內的活動數目、依類型排序的活動數目,以及依規則排序不同類型的活動數目。
健康情況索引標籤
[健康情況] 索引標籤可讓您向下切入至特定的健康情況事件。
- 依 狀態 (成功/失敗)和 規則類型 (scheduled/NRT)篩選整個頁面數據。
- 查看所選時段內成功和/或失敗規則執行的趨勢(視狀態篩選條件而定)。 您可以「時間筆刷」趨勢圖來查看原始時間範圍的子集。
- 依 原因篩選頁面的其餘部分。
- 查看所有分析規則的執行總數,依餅圖中的狀態按比例顯示。
- 下表顯示執行的唯一分析規則數目,並依規則類型和狀態細分。
- 選取狀態以篩選該狀態的剩餘圖表。
- 選取圖表右上角的 [清除選取專案] 圖示,即可清除篩選條件(看起來像是 [復原] 圖示。
- 查看每個狀態,其中包含該狀態的可能原因數目。 (只會顯示所選時間範圍內執行中所代表的原因。
- 選取狀態以篩選該狀態的剩餘圖表。
- 選取圖表右上角的 [清除選取專案] 圖示,即可清除篩選條件(看起來像是 [復原] 圖示。
- 接下來,請參閱這些原因的清單,其中合併的規則執行總數和執行的唯一規則數目。
- 選取原因以篩選下列圖表的原因。
- 選取圖表右上角的 [清除選取專案] 圖示,即可清除篩選條件(看起來像是 [復原] 圖示。
- 之後是執行的唯一分析規則清單,其中包含其成功和/或失敗的最新結果和趨勢線(取決於選取篩選清單的狀態)。
- 選取要向下切入的規則,並顯示具有該規則所有執行的新數據表(在選取的時間範圍內)。
- 選取圖表右上角的 [清除選取範圍] 圖示來清除該數據表(看起來像是 [復原] 圖示。
- 如果您選取上述清單中的規則,就會顯示新的資料表,其中包含所選規則的健康情況詳細數據。
[稽核] 索引標籤
[稽核] 索引標籤可讓您向下切入至特定的稽核事件。
- 依 稽核規則類型 篩選整個頁面數據(scheduled/Fusion)。
- 查看所選時段內分析規則上稽核活動的趨勢。 您可以「時間筆刷」趨勢圖來查看原始時間範圍的子集。
- 請參閱稽核的事件數目,依活動和規則類型細分。
- 選取活動以篩選該活動的下列圖表。
- 選取圖表右上角的 [清除選取專案] 圖示,即可清除篩選條件(看起來像是 [復原] 圖示。
- 請參閱依 規則名稱稽核的事件數目。
- 選取規則名稱以篩選該規則的下表,然後向下切入並顯示具有該規則上所有活動的新數據表(在選取的時間範圍內)。 (請參閱下列螢幕快照之後。
- 選取圖表右上角的 [清除選取專案] 圖示,即可清除篩選條件(看起來像是 [復原] 圖示。
- 查看呼叫 端 所稽核的事件數目(執行活動的身分識別)。
- 如果您在上面描述的圖表中選取規則名稱,另一個數據表會顯示該規則上的稽核 活動 。 選取 [ExtendedProperties] 資料行中顯示為連結的值,以開啟側邊面板,顯示對規則所做的變更。
下一步
- 在 Microsoft Sentinel 中監視並優化分析規則執行。
- 瞭解 Microsoft Sentinel 中的稽核和健康情況監視。
- 在 Microsoft Sentinel 中開啟稽核和健康情況監視 。
- 監視自動化規則和劇本的健康情況。
- 監視數據連接器的健康情況。
- 請參閱 SentinelHealth 和 SentinelAudit 數據表架構的詳細資訊。