收集 Linux auditd 和 Unix 系統記錄
本文說明如何收集稽核精靈 (auditd) 和 Unix 系統記錄,並使用 Google Security Operations 轉送器將記錄擷取至 Google SecOps。
本文中的程序已在 Debian 11.7 和 Ubuntu 22.04 LTS (Jammy Jellyfish) 上測試過。
從 auditd 和 syslog 收集記錄
您可以使用 rsyslog,將 Linux 主機設定為將 auditd 記錄傳送至 Google SecOps 轉送器。
部署稽核 Daemon 和稽核調度架構:
apt-get install auditd audispd-plugins
如果已部署精靈和架構,請略過這個步驟。
在
/etc/audit/rules.d/audit.rules中加入下列幾行,啟用所有指令 (包括使用者和根目錄) 的記錄功能:-a exit,always -F arch=b64 -S execve -a exit,always -F arch=b32 -S execve
重新啟動
auditd:service auditd restart
為 auditd 設定 Google SecOps 轉送器
在 Google SecOps 轉送器上,指定下列資料類型:
- syslog:
common:
enabled: true
data_type: AUDITD
batch_n_seconds:
batch_n_bytes:
tcp_address:
connection_timeout_sec:
詳情請參閱「在 Linux 上安裝及設定 Google SecOps 轉送器」。
設定系統記錄檔
確認
/etc/audisp/plugins.d/syslog.conf檔案中的參數符合下列值:active = yes direction = out path = /sbin/audisp-syslog type = always args = LOG_LOCAL6 format = string
修改或建立
/etc/rsyslog.d/50-default.conf檔案,並在檔案結尾處加上以下這一行:local6.* @@
FORWARDER_IP:PORT將
<var>FORWARDER_IP</var>和<var>PORT</var>替換為轉送器的 IP 位址和連接埠。- 第一欄會指出哪些記錄是透過 rsyslog 從
/var/log傳送。 @@表示系統使用 TCP 傳送訊息。如要使用 UDP,請使用其中一個@。
- 第一欄會指出哪些記錄是透過 rsyslog 從
停用本機記錄到系統記錄檔:在設定本機系統記錄檔記錄的行中新增
local6.none。路徑會因作業系統而異:- Debian:
/etc/rsyslog.conf - Ubuntu:
/etc/rsyslog.d/50-default.conf
*.*;local6.none;auth,authpriv.none -/var/log/syslog
- Debian:
重新啟動下列服務:
service auditd restart service rsyslog restart
收集 Unix 系統記錄
建立或修改
/etc/rsyslog.d/50-default.conf檔案,並在檔案結尾處加上以下這一行:*.* @@
FORWARDER_IP:PORT將
<var>FORWARDER_IP</var>和<var>PORT</var>替換為轉送器的 IP 位址和連接埠。執行下列指令,重新啟動精靈並載入新設定:
sudo service rsyslog restart
為 Unix 記錄設定 Google SecOps 轉送器
在 Google SecOps 轉送器上,指定下列資料類型:
- syslog:
common:
enabled: true
data_type: NIX_SYSTEM
batch_n_seconds:
batch_n_bytes:
tcp_address:
connection_timeout_sec:
詳情請參閱「在 Linux 上安裝及設定 Google SecOps 轉送器」。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。