天天看點

Beats Elastic中的Auditbeat使用介紹

auditbeat使用介紹

auditbeat是一種輕量級的資料收集器,您可以将其安裝在伺服器上,以稽核系統上使用者和程序的活動。 例如,您可以使用auditbeat從linux audit framework收集和集中稽核事件。 您還可以使用auditbeat來檢測對關鍵檔案(如二進制檔案和配置檔案)的更改,并确定潛在的安全政策沖突。auditbeat是一種elastic beat。 它基于libbeat架構。

為了能夠使用auditbeat,必須安裝elasticsearch及kibana。

auditbeat 工作原理

首先我們來了解一下linux的審計架構:

linux的審計架構提供了對system call及檔案變化的可觀測性

促進對一些關鍵系統應用的監控 (pam, openssh, passwd)

分發事件到使用者空間的守護程式(daemon)(auditd, journald)

那麼在elastic中的auditbeat到底是來做什麼的呢?auditbeat直接通過netlink sockets從核心擷取事件。它的作用可以分為一下的幾個方面:

收集整理消息

組合相關資訊

解析

豐富資料(例如host等等)

發送到elasticsearch

假如有一下的幾條資訊:

那麼解析出來的資訊就是:

從上面,我們可以看出來事件發生的時間,結果是失敗。導緻結果失敗的使用者名是admin,所發生的操作的使用/bin/cat指令來打開檔案/etc/gshadow。

auditbeat是如何切入呢?它有一下的兩種方法:

作為auditd的補充應用

auditd 管理審計規則

auditbeat 發送事件到 elasticsearch

需要核心 3.16 或者更新

完全替代auditd使用

不用安裝auditd軟體包

auditbeat 管理審計規則

另外,auditbeat可以實作檔案完整性的監控:

實時監控指定檔案系統變化

報告檔案中繼資料與哈希

為檔案建立、移動、删除、更新和屬性修改生成事件

這個子產品目前獨立于 linux 審計架構

在linux、macos和windows上均可工作

針對這個,它适用于一下的應用場景:

識别可疑篡改

軟體更新之外的對于二進制檔案或者共享庫的更改

檔案權限和屬性的非正常更新

根據安全情報資訊對照相應檔案哈希(病毒檔案快速識别)

滿足企業對審計/合規的需求

auditbeat安裝

必須注意選擇和自己elasticsearch想比對的版本。

安裝好auditbeat後的檔案顯示為:

請注意上面的一個配置檔案autidbeat.ym。這個将是要使用到的配置檔案。

如果你是在你自己的機器上安裝auditbeat,并且上面有運作kibana,那麼你也可以在kibana裡找到相應的安裝步驟.

其中左邊的是一個叫做infrastructure的應用。點auditbeat.

audibeat demo

在這裡,我們先來做使用auditbeat來做一個練習,讓大家感受一下auditbeat是如何工作的。

預設配置檔案稱為auditbeat.yml。還有一個名為auditbeat.reference.yml的完整示例配置檔案,其中顯示了所有不推薦使用的選項。

定義要啟用的auditbeat子產品。 auditbeat使用子產品來收集稽核資訊。 對于每個子產品,指定要收集的名額集。

以下示例顯示了file_integrity子產品,該子產品配置為在磁盤上指定路徑之一中的檔案發生更改時生成事件:

在上面,我們特意添加了一個自己建立的檔案目錄/users/liuxg/tmp。這樣auditbeat就可以用來監測我這個目錄裡的檔案變化。在下面的練習中,我們可以用來展示。

配置輸出。

auditbeat支援多種輸出,但是通常您将事件直接發送到elasticsearch或logstash以進行其他處理。

要将輸出直接發送到elasticsearch(不使用logstash),請設定elasticsearch安裝的位置:

如果您打算使用auditbeat随附的示例kibana儀表闆,請配置kibana端點。 如果kibana與elasticsearch在同一主機上運作,則可以跳過此步驟。

如果elasticsearch和kibana受保護,請在運作設定和啟動auditbeat的指令之前在auditbeat.yml配置檔案中設定憑據。

請注意在上面我們使用了假設的使用者名及密碼。在實際的使用中請根據自己的情況進行适當地修改。

在我們真正地在kibana使用之前,我們先來測試一下我們的auditbeat安裝是否成功。我們可以在auditbeat的安裝目錄進行如下的嘗試:

./auditbeat test config -e

上面的顯示結果我們的配置是成功的。

建議的auditbeat索引模闆檔案由auditbeat軟體包安裝。 如果您在auditbeat.yml配置檔案中接受預設配置,則auditbeat在成功連接配接到elasticsearch之後會自動加載模闆。 如果模闆已經存在,除非您配置auditbeat這樣做,否則它不會被覆寫。

預設情況下,如果啟用了elasticsearch輸出,則auditbeat會自動加載建議的模闆檔案fields.yml。 如果要使用預設索引模闆,則不需要其他配置。 否則,您可以在auditbeat.yml中更改預設值。

使用elastic所提供的預設template。

auditbeat随附了示例kibana儀表闆,可視化檔案以及用于在kibana中可視化auditbeat資料的搜尋。 在使用儀表盤之前,您需要建立索引模式,auditbeat- *,并将儀表盤加載到kibana中。為了做這個,我們可以采用兩種方法:

直接在auditbeat.yml檔案中加入如下的句子:

setup.dashboards.enabled: true

使用如下的指令(在audibeat的安裝目錄中,請确信kibana在運作後,在打入如下的指令):

./auditbeat setup --dashboards

終于到了我們最後的一步了。通過為您的平台發出适當的指令來運作auditbeat:

在這裡特别注意的是:要監視系統檔案,您将以root使用者身份運作auditbeat,是以您需要更改配置檔案的所有權,或者在指定--strict.perms = false的情況下運作auditbeat

資料的名字是以auditbeat為開始的索引。如果由于一些原因你沒有看到這些資料,你可以點選右上角的時間設定來查找更大範圍裡的資料。通常kibana在預設的情況下顯示最近15分鐘的資料。

由于在之前我們已經設定了dashboard,我們現在直接點選dashboard來進行展示:

我們可以看到有許多以auditbeat為開始的dashboard列出來了。我們來選擇其中的一個file integrity來做展示:

還記得我之前在auditbeat.yml,我加入了如下的一句 - /users/liuxg/tmp:

下面我們在目錄/users/liuxg/tmp裡建立一個檔案,然後,我們再看看在kibana中有什麼變化,再次檢視一下kibana可以看到許多的關于檔案a的變化資訊。

同樣地,也可以選擇其它的關于auditbeat的dashboard.

繼續閱讀