收集 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 轉送器。

  1. 執行下列指令,部署稽核 Daemon 和稽核調度架構。 如果已部署精靈和架構,可以略過這個步驟。

    apt-get install auditd audispd-plugins
    
  2. 如要啟用所有指令 (包括使用者和根目錄) 的記錄功能,請在 /etc/audit/rules.d/audit.rules 中加入下列幾行:

    -a exit,always -F arch=b64 -S execve
    -a exit,always -F arch=b32 -S execve
    
  3. 執行下列指令,重新啟動 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 轉送器」。

設定系統記錄檔

  1. 確認 /etc/audisp/plugins.d/syslog.conf 檔案中的參數符合下列值:

    active = yes
    direction = out
    path = /sbin/audisp-syslog
    type = always
    args = LOG_LOCAL6
    format = string
    
  2. 修改或建立 /etc/rsyslog.d/50-default.conf 檔案,並在檔案結尾處加上以下這一行:

    local6.* @@FORWARDER_IP:PORT
    

    請將 FORWARDER_IPPORT 替換為轉送器的 IP 位址和連接埠。第一欄會指出透過 rsyslog 從 /var/log 傳送的記錄。第二欄中的 @@ 表示系統使用 TCP 傳送訊息。如要使用 UDP,請使用 @

  3. 如要停用本機記錄到系統記錄檔,請在設定要記錄到本機系統記錄檔的行中加入 local6.none,藉此設定 rsyslog。每個作業系統的檔案都不相同。Debian 的檔案為 /etc/rsyslog.conf,Ubuntu 的檔案為 /etc/rsyslog.d/50-default.conf

    *.*;local6.none;auth,authpriv.none              -/var/log/syslog
    
  4. 重新啟動下列服務:

    service auditd restart
    service rsyslog restart
    

收集 Unix 系統記錄

  1. 建立或修改 /etc/rsyslog.d/50-default.conf 檔案,並在檔案結尾處加上以下這一行:

    *.*   @@FORWARDER_IP:PORT
    

    FORWARDER_IPPORT 替換為轉送器的 IP 位址。 第一欄會指出哪些記錄是透過 rsyslog 從 /var/log 傳送。第二欄中的 @@ 表示系統使用 TCP 傳送訊息。如要使用 UDP,請使用 @

  2. 執行下列指令,重新啟動精靈並載入新設定:

    sudo service rsyslog restart
    

設定 Google SecOps 轉送器,轉送 Unix 記錄

在 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 專業人員尋求答案。