收集 Linux 稽核和 Unix 系統記錄

支援以下發布途徑:

本文說明如何收集稽核 Daemon (auditd) 和 Unix 系統記錄,並使用 Google 安全性作業轉送器將記錄匯入 Google SecOps。

本文件中的程序已在 Debian 11.7 和 Ubuntu 22.04 LTS (Jammy Jellyfish) 上測試過。

從 auditd 和 syslog 收集記錄

您可以使用 rsyslog 將 Linux 主機設定為將稽核記錄傳送至 Google SecOps 轉送器。

  1. 執行下列指令,部署稽核 Daemon 和稽核調度作業架構。如果您已部署守護程序和架構,可以略過這個步驟。

    apt-get install auditd audispd-plugins
    
  2. 如要啟用所有指令的記錄功能 (包括使用者和 root),請將下列行新增至 /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 轉送器」。

設定 syslog

  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 位址和連接埠。第一個欄會指出從 /var/log 透過 rsyslog 傳送哪些記錄。第二欄中的 @@ 表示使用 TCP 傳送訊息。如要使用 UDP,請使用一個 @

  3. 如要停用將本機記錄記錄到 syslog 的功能,請將 local6.none 新增至設定本機 syslog 記錄內容的資料行,以便設定 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 位址。第一個欄會指出從 /var/log 透過 rsyslog 傳送哪些記錄。第二欄中的 @@ 表示使用 TCP 傳送訊息。如要使用 UDP,請使用一個 @

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

    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 專家尋求解答。