本文介紹如何通過阿里雲Auditbeat收集Linux系統的審計架構資料,監控系統檔案的更改情況,並產生可視化圖表。
背景資訊
Auditbeat是輕量型的審計日誌採集器,可以收集Linux審計架構的資料,並監控檔案完整性。例如使用Auditbeat從Linux Audit Framework收集和集中審核事件,以及檢測對關鍵檔案(如二進位檔案和設定檔)的更改,並確定潛在的安全性原則衝突,產生標準的結構化資料,方便分析。而且Auditbeat能夠與Logstash、Elasticsearch和Kibana無縫整合。
Auditbeat支援兩種模組:
Auditd
Auditd模組接收來自Linux審計架構的審計事件,審計架構是Linux核心的一部分。Auditd模組可以建立對核心的訂閱,以便在事件發生時接收它們,詳情請參見官方Auditd文檔。
重要在啟用Auditd模組的情況下運行Auditbeat時,您可能會發現其他監控工具會干擾Auditbeat。例如,如果註冊了另一個進程(例如auditd)來從Linux Audit Framework接收資料,則可能會遇到錯誤。此時可以使用
service auditd stop
命令停止該進程。File Integrity
File Integrity模組可以即時監控指定目錄下的檔案的更改情況。如果要在Linux系統中使用File Integrity,請確保Linux核心支援inotify(2.6.13以上核心均已安裝inotify),詳情請參見官方File Integrity文檔。
說明目前官方Auditbeat System模組還處於實驗階段,將來的版本中可能刪除或者更改,建議不要使用。更多模組詳情請參見modules。
前提條件
您已完成以下操作:
建立Elasticsearch執行個體。
詳情請參見建立Elasticsearch執行個體。
開啟阿里雲ES執行個體的自動建立索引功能。
出於安全考慮,阿里雲ES預設不允許自動建立索引。但是Beats目前依賴該功能,因此如果採集器Output選擇為Elasticsearch,需要開啟自動建立索引功能,詳情請參見快速存取與配置。
建立阿里雲ECS執行個體,且該ECS執行個體與阿里雲ES執行個體處於同一Virtual Private Cloud(Virtual Private Cloud)下。
詳情請參見自訂購買執行個體。
重要Beats目前僅支援Alibaba Cloud Linux (Alinux)、RedHat和CentOS這三種作業系統。
在目標ECS執行個體上安裝雲助手和Docker服務。
操作步驟
- 登入Elasticsearch控制台。
在左側導覽列,單擊Beats資料擷取中心。
在建立採集器地區中,單擊Auditbeat。
安裝並配置採集器。
詳情請參見採集ECS服務日誌和採集器YML配置,本文使用的配置如下。
說明勾選啟用Monitoring,系統會在Kibana控制台開啟Auditbeat服務的監控。
勾選啟用Kibana Dashboard,系統會在Kibana控制台中組建圖表,無需額外配置Yml。由於阿里雲Kibana配置在VPC內,因此需要先在Kibana配置頁面開通Kibana私網訪問功能,詳情請參見配置Kibana公網或私網訪問白名單。
本文使用預設的auditbeat.yml設定檔,無需更改。相關模組配置說明如下:
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
:指定載入的審計規則檔案,支援萬用字元,預設提供了32位和64位兩種,請根據您的系統選擇其一。audit_rules
:定義審計規則。可串連ECS,執行./auditbeat show auditd-rules
命令,查看預設的審計規則。-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
說明一般情況下預設規則就可以滿足審計需求。如果需要自訂審計規則,可修改audit.rules.d目錄下的審計規則檔案。
File Integrity模組配置
- module: file_integrity paths: - /bin - /usr/bin - /sbin - /usr/sbin - /etc
paths
:指定被監控檔案的路徑,預設監控的路徑包括/bin
、/usr/bin
、/sbin
、/usr/sbin
、/etc
。
選擇採集器安裝的ECS執行個體。
啟動並查看採集器安裝情況。
單擊啟動。
啟動成功後,系統彈出啟動成功對話方塊。
單擊前往採集中心查看,返回Beats資料擷取中心頁面,在採集器管理地區中,查看啟動成功的Auditbeat採集器。
等待採集器狀態變為已生效1/1後,單擊右側操作欄下的查看運行執行個體。
在查看運行執行個體頁面,查看採集器安裝情況,當顯示為心跳正常時,說明採集器安裝成功。
查看結果
登入目標阿里雲ES執行個體的Kibana控制台。
登入控制台的具體步驟請參見登入Kibana控制台。
在左側導覽列,單擊Discover,選擇預定義的auditbeat-*模式,並選擇一個時間段,查看對應時間段內的Auditbeat收集的資料。
在左側導覽列,單擊Dashboard。
在Dashboard列表中,單擊[Auditbeat File Integrity] Overview,然後選擇一個時間段,查看該時間段內監控檔案的更改情況。