今天,我們將來實際操作在 Elastic Stack 上,使用機器學習做異常偵測的功能。
本篇的主題包含有:
那我們就開始吧!
這一部分的實作,我們將可以學到:
一般在開始使用機器學習建構模型之前,我們都會先對資料做一定的探索,掌握一些基本特性,這邊我們先從 Kibana 開始吧!
Management 頁面,按下 Start trial:
Machine learning 的部分,然後我們在左邊的面板點進 Machine learning:
Data Visualizer tab,選擇 Select Index:
filebeat-* ,來看看後面的頁面會是怎樣呈現這個資料,進去後記得點選 Use full filebeat-* data:



security-analytics-packetbeat-* :
Use full security-analytics-packetbeat-* data:
剩下資料探索有興趣的人可以在裡面各種點,看看能不能找出一些有趣的發現歐!(例如說哪個 client 發了最多的請求,一般直覺會覺得這種 client 怪怪的)
Discover,然後調整資料的時間範圍到 Last 1 year:

Add filter,Field 選擇 system.auth.ssh.event,Operator 選擇 is one of,Values 選擇 Failed 和 Invalid,都選擇好後按下 Save:
這個步驟代表要過濾的條件是依據 system.auth.ssh.event 這個資料欄位,只要出現 Failed 或 Invalid 其中一種,就要留下來。
Save 來把過濾後的資料儲存起來,在 Title 填入你想要的名稱,這邊我們就用 failed or invalid events,然後按下 Save:

Machine learning 下,按下 Create job:
failed or invalid events,然後選 Single metric:

Use full filebeat-* data 後,按下 Next:
High count(Event data),Bucket span 輸入 5m,然後按下 Next:
suspicious_login_single_metric,然後按下 Next:
Valid and long enough to model patterns in the data,代表這樣的資料足夠拿來訓練機器學習的模型,然後按下 Next:
Create job:


今天我們實際操作在 Elastic Stack 上,使用機器學習做異常偵測的功能,面對每天大量資料進來、各種複雜的行為與系統資訊,這時候如果沒有這種自動化模型的判斷和預警,靠人力根本防不勝防啊!
明天,我們就要進入到最後一部分的篇章:Elastic Cloud Enterprise 基礎了!終於快要跑到終點啦!大家加油!!