全部產品
Search
文件中心

Elasticsearch:通過Auditbeat收集系統審計資料並監控檔案更改

更新時間:Nov 16, 2024

本文介紹如何通過阿里雲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服務。

    詳情請參見安裝雲助手用戶端部署並使用Docker(Alibaba Cloud Linux 2)

操作步驟

  1. 登入Elasticsearch控制台
  2. 在左側導覽列,單擊Beats資料擷取中心

  3. 建立採集器地區中,單擊Auditbeat

  4. 安裝並配置採集器。

    詳情請參見採集ECS服務日誌採集器YML配置,本文使用的配置如下。配置Auditbeat採集器

    說明
    • 勾選啟用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

  5. 選擇採集器安裝的ECS執行個體。

  6. 啟動並查看採集器安裝情況。

    1. 單擊啟動

      啟動成功後,系統彈出啟動成功對話方塊。

    2. 單擊前往採集中心查看,返回Beats資料擷取中心頁面,在採集器管理地區中,查看啟動成功的Auditbeat採集器。

    3. 等待採集器狀態變為已生效1/1後,單擊右側操作欄下的查看運行執行個體

    4. 查看運行執行個體頁面,查看採集器安裝情況,當顯示為心跳正常時,說明採集器安裝成功。

查看結果

  1. 登入目標阿里雲ES執行個體的Kibana控制台。

    登入控制台的具體步驟請參見登入Kibana控制台

  2. 在左側導覽列,單擊Discover,選擇預定義的auditbeat-*模式,並選擇一個時間段,查看對應時間段內的Auditbeat收集的資料。

    查看Auditbeat資料收集結果

  3. 在左側導覽列,單擊Dashboard

  4. Dashboard列表中,單擊[Auditbeat File Integrity] Overview,然後選擇一個時間段,查看該時間段內監控檔案的更改情況。

    Auditbeat監控檔案更改情況