天天看點

使用 Auditbeat 子產品監控 shell 指令

使用 auditbeat 子產品監控 shell 指令 auditbeat audited 子產品可以用來監控所有使用者在系統上執行的 shell 指令。在終端使用者偶爾才會登入的伺服器上,通常需要進行監控。 該示例是在 centos linux 7.6 上使用 auditbeat 7.4.2 rpm 軟體包和 elasticsearch service(ess)[https://www.elastic.co/products/elasticsearch/service]上的 elastic stack ] 7.4.2 部署的。

可以參考其中的思路,配置流程等,使用本機自建的es,不使用elasticsearch service(ess)叢集

禁用 auditd

系統守護程序 auditd 會影響 auditbeat audited 子產品的正常使用,是以必須将其禁用。

如果您在使用 auditbeat auditd 子產品的同時也必須要運作 audited 程序,那麼在核心版本為 3.16 或者更高的情況下可以考慮設定 socket_type: multicast 參數。預設值為 unicast。有關此參數的更多資訊,請參見文檔[https://www.elastic.co/guide/en/beats/auditbeat/master/auditbeat-module-auditd.html#_configuration_options_14]的配置選項部分。

配置 auditbeat

auditbeat 守護程序将事件資料發送到一個 elasticsearch service(ess)叢集中。有關更多詳細資訊,請參見文檔auditbeat[https://www.elastic.co/guide/en/beats/auditbeat/master/configuring-howto-auditbeat.html] 中的配置部分。 要想擷取工作示例,必須配置 auditbeat 的 cloud.id 和 cloud.auth 參數,詳情參見此文檔[https://www.elastic.co/guide/en/beats/auditbeat/master/configure-cloud-id.html]。 編輯 /etc/auditbeat/auditbeat.yml:

如果您要将資料發送到 elasticsearch 叢集(例如本地執行個體),請參見此文檔:[https://www.elastic.co/guide/en/beats/auditbeat/master/configure-cloud-id.html]。

auditbeat 子產品規則

audited 子產品訂閱核心以接收系統事件。定義規則以捕獲這些事件,并且使用linux auditctl 程序所使用的格式,詳情參見此文檔:[https://linux.die.net/man/8/auditctl]。

euid 是使用者的有效id。0 代表會擷取 root 使用者和 uid >=1000 或者權限更高的其他使用者的所有活動。

-k 用于為事件配置設定任意“鍵”,它将顯示在 tags 字段中。它還可以在 kibana 中用來對事件進行過濾和分類。

auditbeat 設定指令

運作auditbeat 加載索引模闆,讀取 node pipelines,索引檔案周期政策和kibana 儀表闆。 <code>auditbeat -e setup</code> 如果您不使用ess,歡迎參考此文檔[https://www.elastic.co/guide/en/beats/auditbeat/current/setup-kibana-endpoint.html] 來設定您的 kibana 端點。

開始使用

監控資料

當使用者執行一些類似于 whoami,ls 以及 lsblk 的 shell 指令時,kibana 中就會發現這些事件。

kibana 會顯示出 user.name,process.executable,process.args 和 tags 這些標明的字段。

過濾的字段是 user.name: root 和 auditd.data.syscall: execve。

每秒重新整理一次資料。

tty 審計

當系統中發生 tty 事件時,auditbeat audited 子產品也可以接收它們。配置system-auth pam 配置檔案以啟用 tty。隻有 root 使用者的 tty 事件将被實時記錄。其他使用者的事件通常會被緩沖直到 exit。tty 審計會捕獲系統内置指令像pwd,test 等。 追加以下内容到 /etc/pam.d/system-auth 便可以對所有使用者啟用稽核,關于 pam_tty_audit 的詳細資訊,參見此文檔:[https://linux.die.net/man/8/pam_tty_audit]。 <code>session required pam_tty_audit.so enable=*</code>

測試

kibana 發現

思考

auditbeat 還可以做什麼:

當一個檔案在磁盤上更改(建立,更新或删除)時可以發送事件,得益于 file_integrity 子產品,詳情參考此文檔:[https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-file_integrity.html]。

通過 system 子產品發送有關系統的名額,詳情參考此文檔:[https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-system.html]。 該連結還提供了 auditbeat 的相關文檔,詳情參考此文檔:[https://www.elastic.co/guide/en/beats/auditbeat/current/index.html]。