簡體   English   中英

基於來自 KQL 的 5 分鍾數據間隔的 Azure Sentinel 警報

[英]Azure Sentinel alerts based on 5 minute intervals of data from KQL

我需要列出當管理員帳戶(使用 where 語句找到)在 5 分鍾內登錄多個工作站時的結果列表,這將在 24 小時內發出可疑活動的信號。 現在,我只有使用必要信息記錄每 5 分鍾發生一次不同事件的時間。 我需要做的就是讓它出現的唯一結果是在最后一次在不同工作站上使用該帳戶進行不同活動的 5 分鍾內將同一帳戶登錄到不同的工作站,但我只是不知道如何去吧。

SecurityEvent
| where Account matches regex "*admin*"
    and AccountType == "User"
    and ((EventID == "4625") or (EventID == "4624"))
| project Account, WorkstationName, IpAddress, EventID, TimeGenerated, Computer
| distinct WorkstationName, Account, IpAddress, EventID, TimeGenerated, Computer
| summarize by bin(TimeGenerated, 5m), Account, WorkstationName, IpAddress, EventID, Computer
| sort by Account

示例數據:

let Table = datatable(TimeGenerated:datetime, Account:string, Computer:string, WorkstationName:string, IPAddress:int, EventID:int) 
[
   7/21/2021, 5:15:00.000 PM, "1", "A", "123", 11.63.24.357, 4624
   7/22/2021, 1:20:00.000 PM, "2", "G", "195", 19.26.83.257, 4624
   7/22/2021, 1:25:00.000 PM, "2", "P", "275", 192.64.9.432, 4624
];

預期輸出只會是最后 2 個日志,因為同一帳戶在 5 分鍾內登錄到另一台計算機。 如果可能,我也只想生成一個日志作為 count() 記錄該帳戶登錄的次數以及 5 分鍾內在多少台不同的計算機上

任何建議都有幫助,謝謝!

這是你想要的?

let Table = datatable(TimeGenerated:datetime, Account:string, Computer:string, WorkstationName:string, IPAddress:string, EventID:int) 
[
   datetime(2021-07-21 17:15:00.000), "1", "A", "123", "11.63.24.357", 4624,
   datetime(2021-07-22 13:20:00.000), "2", "G", "195", "19.26.83.257", 4624,
   datetime(2021-07-22 13:24:00.000), "2", "P", "275", "192.64.9.432", 4624
];
Table
| summarize EventCount = count(), DistinctComputers= dcount(Computer) by bin(TimeGenerated, 5m), Account 

結果:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM