通過Auditbeat收集系統(tǒng)審計(jì)數(shù)據(jù)并監(jiān)控文件更改
本文介紹如何通過阿里云Auditbeat收集Linux系統(tǒng)的審計(jì)框架數(shù)據(jù),監(jiān)控系統(tǒng)文件的更改情況,并生成可視化圖表。
背景信息
Auditbeat是輕量型的審計(jì)日志采集器,可以收集Linux審計(jì)框架的數(shù)據(jù),并監(jiān)控文件完整性。例如使用Auditbeat從Linux Audit Framework收集和集中審核事件,以及檢測對關(guān)鍵文件(如二進(jìn)制文件和配置文件)的更改,并確定潛在的安全策略沖突,生成標(biāo)準(zhǔn)的結(jié)構(gòu)化數(shù)據(jù),方便分析。而且Auditbeat能夠與Logstash、Elasticsearch和Kibana無縫集成。
Auditbeat支持兩種模塊:
Auditd
Auditd模塊接收來自Linux審計(jì)框架的審計(jì)事件,審計(jì)框架是Linux內(nèi)核的一部分。Auditd模塊可以建立對內(nèi)核的訂閱,以便在事件發(fā)生時(shí)接收它們,詳情請參見官方Auditd文檔。
重要在啟用Auditd模塊的情況下運(yùn)行Auditbeat時(shí),您可能會發(fā)現(xiàn)其他監(jiān)控工具會干擾Auditbeat。例如,如果注冊了另一個(gè)進(jìn)程(例如auditd)來從Linux Audit Framework接收數(shù)據(jù),則可能會遇到錯(cuò)誤。此時(shí)可以使用
service auditd stop
命令停止該進(jìn)程。File Integrity
File Integrity模塊可以實(shí)時(shí)監(jiān)控指定目錄下的文件的更改情況。如果要在Linux系統(tǒng)中使用File Integrity,請確保Linux內(nèi)核支持inotify(2.6.13以上內(nèi)核均已安裝inotify),詳情請參見官方File Integrity文檔。
說明目前官方Auditbeat System模塊還處于實(shí)驗(yàn)階段,將來的版本中可能刪除或者更改,建議不要使用。更多模塊詳情請參見modules。
前提條件
您已完成以下操作:
創(chuàng)建阿里云Elasticsearch實(shí)例。
開啟阿里云ES實(shí)例的自動創(chuàng)建索引功能。
出于安全考慮,阿里云ES默認(rèn)不允許自動創(chuàng)建索引。但是Beats目前依賴該功能,因此如果采集器Output選擇為Elasticsearch,需要開啟自動創(chuàng)建索引功能,詳情請參見快速訪問與配置。
創(chuàng)建阿里云ECS實(shí)例,且該ECS實(shí)例與阿里云ES實(shí)例處于同一專有網(wǎng)絡(luò)VPC(Virtual Private Cloud)下。
詳情請參見自定義購買實(shí)例。
重要Beats目前僅支持Alibaba Cloud Linux (Alinux)、RedHat和CentOS這三種操作系統(tǒng)。
在目標(biāo)ECS實(shí)例上安裝云助手和Docker服務(wù)。
操作步驟
- 登錄阿里云Elasticsearch控制臺。
在左側(cè)導(dǎo)航欄,單擊Beats數(shù)據(jù)采集中心。
在創(chuàng)建采集器區(qū)域中,單擊Auditbeat。
安裝并配置采集器。
詳情請參見采集ECS服務(wù)日志和采集器YML配置,本文使用的配置如下。
說明勾選啟用Monitoring,系統(tǒng)會在Kibana控制臺開啟Auditbeat服務(wù)的監(jiān)控。
勾選啟用Kibana Dashboard,系統(tǒng)會在Kibana控制臺中生成圖表,無需額外配置Yml。由于阿里云Kibana配置在VPC內(nèi),因此需要先在Kibana配置頁面開通Kibana私網(wǎng)訪問功能,詳情請參見配置Kibana公網(wǎng)或私網(wǎng)訪問白名單。
本文使用默認(rèn)的auditbeat.yml配置文件,無需更改。相關(guān)模塊配置說明如下:
Auditd模塊配置
- module: auditd # Load audit rules from separate files. Same format as audit.rules(7). audit_rule_files: [ '${path.config}/audit.rules.d/*.conf' ] audit_rules: |
audit_rule_files
:指定加載的審計(jì)規(guī)則文件,支持通配符,默認(rèn)提供了32位和64位兩種,請根據(jù)您的系統(tǒng)選擇其一。audit_rules
:定義審計(jì)規(guī)則。可連接ECS,執(zhí)行./auditbeat show auditd-rules
命令,查看默認(rèn)的審計(jì)規(guī)則。-a never,exit -S all -F pid=26253 -a always,exit -F arch=b32 -S all -F key=32bit-abi -a always,exit -F arch=b64 -S execve,execveat -F key=exec -a always,exit -F arch=b64 -S connect,accept,bind -F key=external-access -w /etc/group -p wa -k identity -w /etc/passwd -p wa -k identity -w /etc/gshadow -p wa -k identity -a always,exit -F arch=b64 -S open,truncate,ftruncate,create,openat,open_by_handle_at -F exit=-EACCES -F key=access -a always,exit -F arch=b64 -S open,truncate,ftruncate,create,openat,open_by_handle_at -F exit=-EPERM -F key=access
說明一般情況下默認(rèn)規(guī)則就可以滿足審計(jì)需求。如果需要自定義審計(jì)規(guī)則,可修改audit.rules.d目錄下的審計(jì)規(guī)則文件。
File Integrity模塊配置
- module: file_integrity paths: - /bin - /usr/bin - /sbin - /usr/sbin - /etc
paths
:指定被監(jiān)控文件的路徑,默認(rèn)監(jiān)控的路徑包括/bin
、/usr/bin
、/sbin
、/usr/sbin
、/etc
。
選擇采集器安裝的ECS實(shí)例。
啟動并查看采集器安裝情況。
單擊啟動。
啟動成功后,系統(tǒng)彈出啟動成功對話框。
單擊前往采集中心查看,返回Beats數(shù)據(jù)采集中心頁面,在采集器管理區(qū)域中,查看啟動成功的Auditbeat采集器。
等待采集器狀態(tài)變?yōu)?b data-tag="uicontrol" id="uicontrol-k8q-ivi-ve0" class="uicontrol">已生效1/1后,單擊右側(cè)操作欄下的查看運(yùn)行實(shí)例。
在查看運(yùn)行實(shí)例頁面,查看采集器安裝情況,當(dāng)顯示為心跳正常時(shí),說明采集器安裝成功。
查看結(jié)果
登錄目標(biāo)阿里云ES實(shí)例的Kibana控制臺。
登錄控制臺的具體步驟請參見登錄Kibana控制臺。
在左側(cè)導(dǎo)航欄,單擊Discover,選擇預(yù)定義的auditbeat-*模式,并選擇一個(gè)時(shí)間段,查看對應(yīng)時(shí)間段內(nèi)的Auditbeat收集的數(shù)據(jù)。
在左側(cè)導(dǎo)航欄,單擊Dashboard。
在Dashboard列表中,單擊[Auditbeat File Integrity] Overview,然后選擇一個(gè)時(shí)間段,查看該時(shí)間段內(nèi)監(jiān)控文件的更改情況。