Auditbeat是輕量型的審計日志采集器,可以收集linux審計架構的資料、監控檔案完整性。能夠組合相關消息到一個事件裡,生成标準的結構化資料,友善分析,而且能夠與Logstash、Elasticsearch和Kibana無縫內建。
預設的配置檔案是auditbeat.yml,Linux平台下,該檔案位于解壓目錄下。
還有一個auditbeat.reference.yml檔案,該檔案顯示了所有的選項,可以根據需求将其拷貝到auditbeat.yml檔案中。
auditbeat.yml主要的兩部分,一部分子產品,另一部分是輸出。
1、子產品
目前有兩種子產品:
(1)auditd:auditd子產品接收來自Linux審計架構的審計事件,該架構是Linux核心的一部分。這個子產品建立對核心的訂閱,以便在事件發生時接收它們。注意使用Auditd子產品,有的系統需要先關閉auditd服務,執行” service auditd stop”。
子產品相關配置項如下:
auditrulefiles:從單獨的檔案加載審計規則,注意預設提供了36和位64位兩種,根據本地系統選擇其一。
auditrules:定義審計規則。
執行./auditbeat show auditd-rules可以檢視目前的規則,預設的審計規則如下,一般預設規則就可以滿足審計需求,如果需要自定義可修改audit.rules.d目錄下的審計規則檔案。
(2)file_integrity:file_integrity子產品實時監控指定目錄下的檔案更改。注意在linux系統中,需要使用inotify,是以核心必須支援inotify,2.6.13以上核心均已安裝inotify。
paths:指定被監控檔案路徑
想了解兩個子產品更豐富的配置項,參考官方文檔:
https://www.elastic.co/guide/en/beats/auditbeat/6.5/auditbeat-modules.html
2、輸出
内容可以輸出到Elasticsearch、Logstash、Kafka、Redis、File、Console、Cloud,注意隻能配置一種輸出方式。
輸出到Elasticsearch:
輸出到Logstash
輸出到Kafka
hosts:指定Kafka節點。
topic:指定topic名稱。
partition.roundrobin:采用輪詢的方式依次寫到不同的分區中。
reachable_only:設定為true表示隻分發到可用的分區,會增加緩存資源使用,但是可以避免輸出阻塞。
requiredacks:Kafka節點傳回ACK可靠性級别,0表示不傳回、1表示等待本地送出、-1表示等待所有副本同步完成。
compression:是否啟用壓縮傳輸,可以為none, snappy, lz4和gzip。
max_message_bytes:允許的json編碼消息的最大值,機關是bytes。
輸出到File
想了解更詳細的配置項及含義,請參考官方文檔:
https://www.elastic.co/guide/en/beats/auditbeat/6.5/configuring-output.html
本案例是将内容輸出到了Kafka
到Kafka消費的Logstash配置如下:
input部分
output部分
在解壓目錄下,使用root使用者執行如下指令,當然如果你是rpm方式安裝的,auditbeat已添加為系統服務。
<code>nohup ./auditbeat -e &</code>
在ES節點檢視索引
kibana上建立logstash-audit_log-*索引後,在Discover有資料輸出

1、建立視圖
建立視圖,需要了解各個字段含義,可以參考官方文檔:
https://www.elastic.co/guide/en/beats/auditbeat/6.5/exported-fields.html
(1) 指令審計
視圖類型:Data Table
字段:
host.name 主機名稱
process.name 指令名稱,這裡我們重點記錄幾個指令,是以要将Advanced中Include設定為mkfs|dd|rm|mv|wget
porcess.args 指令參數,有些指令審計中可能不會記錄參數,是以勾選"Show missing values"
user.name_map.uid 執行指令的帳号名稱
@timestamp 時間戳
process.exe 程式名稱
(2)使用者帳戶審計
event.action 事件動作,我們統計帳戶密碼修改,是以要将Advanced中Include設定為changed-password
這裡的event.action字段對應的Include設定為modified-user-account,會包括用的添加、删除、屬性修改審計事件
(3)使用者登入審計
event.type 事件類型,我們統計使用者登入事件,是以要将Advanced中Include設定為user_login
auditd.resuld 結果,我們統計失敗的登入,是以要将Advanced中Include設定為fail
auditd.data.acct 帳号名,對端嘗試登入的帳号名
source.ip 源IP
(4)重要目錄檔案審計
event.action 事件動作,我們統計檔案的增删改,是以要将Advanced中Include設定為created|deleted|moved|updated
同樣,event.action對應的Include設定為created|deleted|moved|updated
最後建立儀表盤