收集 Nix 系統 Red Hat 記錄

支援的國家/地區:

本文說明如何使用 Bindplane,將 RHEL Server (Unix 系統) 記錄檔擷取至 Google Security Operations。剖析器會擷取 Syslog 和 JSON 格式的記錄,將各種 UDM 欄位初始化為空字串,對 message 欄位執行多項字串替換作業,然後嘗試將訊息剖析為 JSON。如果 JSON 剖析失敗,系統會使用 grok 模式,根據 messageevent_details.original 內容擷取欄位,並根據事件類型和各種條件式檢查,將擷取的欄位對應至 UDM,處理來自各種 Unix 系統程序和服務的不同記錄格式和結構。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • 如果透過 Proxy 執行,防火牆通訊埠已開啟
  • RHEL 伺服器的特殊存取權

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」專區中的客戶 ID

安裝 Bindplane 代理程式

Linux 安裝

  1. 開啟具有根層級或 sudo 權限的終端機。
  2. 執行下列指令:

    sudo sh -c `$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)` install_unix.sh
    

其他安裝資源

如需其他安裝選項,請參閱安裝指南

設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps

  1. 存取設定檔:
    • 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄中。
    • 使用文字編輯器 (例如 nanovi) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

          receivers:
              filelog/linux:
              include:
                - /var/log/messages
                - /var/log/lastlog
                - /var/log/btmp
                - /var/log/wtmp
                - /var/log/secure
                - /var/log/cron
                - /var/log/maillog
                - /var/log/boot
              start_at: end
              poll_interval: 5s
    
          exporters:
              chronicle/linux:
                  # Adjust the path to the credentials file you downloaded in Step 1
                  creds: '/path/to/ingestion-authentication-file.json'
                  # Replace with your actual customer ID from Step 2
                  customer_id: <customer_id>
                  endpoint: malachiteingestion-pa.googleapis.com
                  # Add optional ingestion labels for better organization
                  log_type: 'NIX_SYSTEM'
                  override_log_type: false
                  raw_log_field: body
    
          service:
            pipelines:
              logs/linux:
                receivers:
                - filelog/linux
            exporters: [chronicle/linux]
          ```
    
  1. <customer_id> 替換為實際的客戶 ID。
  2. /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」一節中儲存驗證檔案的路徑。

    啟動 Bindplane 代理程式並套用變更

  3. 啟動 Bindplane 代理程式:

    sudo systemctl start bindplane-agent
    
  4. 啟用 observIQ otel 收集器服務:

    systemctl enable --now bindplane-agent
    
  5. 視需要重新啟動 Bindplane 代理程式:

    sudo systemctl restart bindplane-agent
    

UDM 對應表

記錄欄位 UDM 對應 邏輯
AccessControlRuleAction security_result.action 如果 AccessControlRuleActionAllow,則設為 ALLOW。如果 AccessControlRuleActionBlock,請設為 BLOCK
ACPolicy security_result.rule_labels 鍵:ACPolicy,值:ACPolicy
AccessControlRuleName security_result.rule_name 直接對應。
acct event.idm.read_only_udm.target.user.userid 移除引號和反斜線後的直接對應。
addr event.idm.read_only_udm.target.ipevent.idm.read_only_udm.target.asset.ip 如果不是空白、?UNKNOWN,則直接對應。
ApplicationProtocol event.idm.read_only_udm.network.application_protocol 直接對應。
auid event.idm.read_only_udm.additional.fields 鍵:auid,值:auid
comm event.idm.read_only_udm.target.process.command_line 直接對應。
command event.idm.read_only_udm.target.process.command_line 移除開頭/結尾的空白字元後,直接對應。
Computer event.idm.read_only_udm.principal.hostnameevent.idm.read_only_udm.principal.asset.hostname 直接對應。如果留空,請使用 HostName
ConnectionID security_result.detection_fields 鍵:Connection ID,值:ConnectionID
cwd event.idm.read_only_udm.target.process.file.full_path 移除引號後的直接對應。
data message 用於 grok 模式。
desc security_result.description 直接對應。
description event.idm.read_only_udm.metadata.descriptionsecurity_result.description 直接對應。
descript security_result.description 移除雜湊後直接對應。
DeviceUUID event.idm.read_only_udm.metadata.product_log_id 直接對應。
DNSQuery event.idm.read_only_udm.additional.fields 鍵:DNSQuery,值:DNSQuery
DNSRecordType event.idm.read_only_udm.additional.fields 鍵:DNSRecordType,值:DNSRecordType
DNSResponseType event.idm.read_only_udm.additional.fields 鍵:DNSResponseType,值:DNSResponseType
DNS_TTL event.idm.read_only_udm.additional.fields 鍵:DNS_TTL,值:DNS_TTL
DstIP event.idm.read_only_udm.target.ipevent.idm.read_only_udm.target.asset.ip 直接對應。
DstPort event.idm.read_only_udm.target.port 直接對應,轉換為整數。
dvc event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ipevent.idm.read_only_udm.principal.hostnameevent.idm.read_only_udm.principal.asset.hostnameevent.idm.read_only_udm.intermediary.ipevent.idm.read_only_udm.target.ipevent.idm.read_only_udm.target.asset.ipevent.idm.read_only_udm.target.hostnameevent.idm.read_only_udm.target.asset.hostname 如果是有效 IP,則會對應至主體/目標 IP。如果主機名稱對應至主體/目標主機名稱,如果 IP 位址有效,也會用於中介 IP。
EgressInterface event.idm.read_only_udm.principal.asset.attribute.labels 鍵:EgressInterface,值:EgressInterface
EgressVRF event.idm.read_only_udm.principal.asset.attribute.labels 鍵:EgressVRF,值:EgressVRF
EgressZone event.idm.read_only_udm.target.location.name 直接對應。
eventType event.idm.read_only_udm.metadata.product_event_typeevent.idm.read_only_udm.target.application 直接對應。「SERVICE_START」和「SERVICE_STOP」已對應至「target.application」,然後清除。
EventTime @timestamp 剖析為時間戳記。
exe event.idm.read_only_udm.target.process.command_line 移除引號和反斜線後的直接對應。
extended_description event.idm.read_only_udm.metadata.description 移除連字號和引號後的直接對應。
Facility event.idm.read_only_udm.principal.resource.attribute.labels 鍵:Facility,值:Facility
filepath event.idm.read_only_udm.principal.process.file.full_path 直接對應。
file_path event.idm.read_only_udm.target.file.full_path 直接對應。
file_path_value event.idm.read_only_udm.target.file.full_path 直接對應。
FirstPacketSecond security_result.detection_fields 鍵:FirstPacketSecond,值:FirstPacketSecond
from event.idm.read_only_udm.network.email.from 移除角括號後直接對應。
generic_ip event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 如果 IP 有效且不是 A256:,則直接對應。
gid event.idm.read_only_udm.target.user.group_identifiers 直接對應。
grp event.idm.read_only_udm.target.group.group_display_name 移除引號和反斜線後的直接對應。
hashing_algo security_result.summary 直接對應。
home event.idm.read_only_udm.target.file.full_path 直接對應。
HostName Computer 如果 Computer 為空,則使用這個值。
HostIP event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 系統會擷取 % 前的 HostIP 部分,並對應為 validated_ip
hostname event.idm.read_only_udm.target.hostnameevent.idm.read_only_udm.target.asset.hostnameevent.idm.read_only_udm.principal.hostnameevent.idm.read_only_udm.principal.asset.hostname 如果不是空白或 ?,則直接對應。
host_name event.idm.read_only_udm.target.hostnameevent.idm.read_only_udm.target.asset.hostname 直接對應。
InitiatorBytes event.idm.read_only_udm.network.sent_bytes 直接對應,轉換為無正負號整數。
InitiatorPackets event.idm.read_only_udm.network.sent_packets 直接對應,轉換為整數。
insertId event.idm.read_only_udm.metadata.product_log_id 直接對應。
InstanceID security_result.detection_fields 鍵:Instance ID,值:InstanceID
int_dvc event.idm.read_only_udm.intermediary.hostname 直接對應。
ip event.idm.read_only_udm.target.ipevent.idm.read_only_udm.target.asset.ipevent.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 直接對應。
ip_protocol event.idm.read_only_udm.network.ip_protocol 直接對應。
laddr event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 如果不是空白或 ?,則直接對應。
level security_result.severity 如果 info,請設為 INFORMATIONAL
log.syslog.facility.name event.idm.read_only_udm.target.application 直接對應。
log.syslog.severity.name security_result.severity 如果 Emergency,請設為 HIGH
logName logname 直接對應。
log_description security_result.description 直接對應。
log_level security_result.severity 如果 error,請設為 ERROR
log_summary security_result.summary 直接對應。
logger_name event.idm.read_only_udm.principal.resource.attribute.labels 鍵:logger_name,值:logger_name
log_type event.idm.read_only_udm.metadata.log_type 硬式編碼為 NIX_SYSTEM
lport event.idm.read_only_udm.principal.port 直接對應,轉換為整數。
MG event.idm.read_only_udm.principal.resource.attribute.labels 鍵:MG,值:MG
method event.idm.read_only_udm.network.http.method 直接對應,並轉換為大寫。
msg1 event.idm.read_only_udm.metadata.descriptionevent.idm.read_only_udm.additional.fieldssecurity_result.description 使用 grok 模式剖析。如果 event_typeGENERIC_EVENT,則會對應到 description
msg2 event.idm.read_only_udm.network.received_bytessecurity_result.summary 如果包含數字,則會轉換為不帶正負號的整數,並對應至 received_bytes。否則會對應至 summary
NAPPolicy security_result.rule_labels 鍵:NAPPolicy,值:NAPPolicy
name event.idm.read_only_udm.target.process.file.full_path 移除引號後的直接對應。
outcome security_result.action 如果 Succeeded 包含 success,請設為 ALLOW
p_id event.idm.read_only_udm.target.process.pid 直接對應。
pid event.idm.read_only_udm.target.process.pidevent.idm.read_only_udm.principal.process.pid 直接對應。
principal_hostname event.idm.read_only_udm.principal.hostnameevent.idm.read_only_udm.principal.asset.hostname 直接對應。
principal_ip event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 直接對應。
principal_present event.idm.read_only_udm.metadata.event_type 如果 truehas_targettrue,請將 event_type 設為 NETWORK_UNCATEGORIZED。如果 trueuser_presenttrue,請將 event_type 設為 USER_UNCATEGORIZED
process event.idm.read_only_udm.target.applicationevent.idm.read_only_udm.metadata.product_event_type 直接對應。如果 eventType 為空白,則會做為 target.application 使用。
ProcessID event.idm.read_only_udm.principal.process.pid 直接對應,轉換為字串。
ProcessName event.idm.read_only_udm.principal.resource.attribute.labels 鍵:ProcessName,值:ProcessName
prod_eve_type event.idm.read_only_udm.metadata.product_event_type 直接對應。
product_event_type event.idm.read_only_udm.metadata.product_event_type 直接對應。
Protocol event.idm.read_only_udm.network.ip_protocol 如果相符項目為 icmpudptcp (不區分大小寫),則會對應至大寫值。
proto event.idm.read_only_udm.network.application_protocol 如果 sshssh2,請設為 SSH
pwd event.idm.read_only_udm.target.file.full_path 直接對應。
reason security_result.summarysecurity_result.description actiondesc 搭配使用,即可建立 security_result.description。也對應到「security_result.summary」。
relayHostname event.idm.read_only_udm.intermediary.hostname 直接對應。
relayIp event.idm.read_only_udm.intermediary.ip 直接對應。
res security_result.summary 直接對應。
resource.labels.instance_id event.idm.read_only_udm.target.resource.product_object_id 直接對應。
resource.labels.project_id event.idm.read_only_udm.target.asset.attribute.cloud.project.id 直接對應。
resource.labels.zone event.idm.read_only_udm.target.asset.attribute.cloud.availability_zone 直接對應。
resource.type event.idm.read_only_udm.target.resource.resource_subtype 直接對應。
response_code event.idm.read_only_udm.network.http.response_code 直接對應,轉換為整數。
ResponderBytes event.idm.read_only_udm.network.received_bytes 直接對應,轉換為無正負號整數。
ResponderPackets event.idm.read_only_udm.network.received_packets 直接對應,轉換為整數。
rhost event.idm.read_only_udm.additional.fields 鍵:rhost,值:rhost
ruser srcUser 直接對應。
sec_action security_result.action 根據 actioneventType 對應。
sec_summary security_result.summary 直接對應。
security_action security_result.action 直接對應。
sent_bytes event.idm.read_only_udm.network.sent_bytes 直接對應,轉換為無正負號整數。
ses event.idm.read_only_udm.network.session_idevent.idm.read_only_udm.network.session_duration 如果是數值,則會解析為 UNIX 時間戳記,並對應至 session_duration。否則會對應至 session_id
SeverityLevel security_result.severity 根據值對應至不同嚴重程度 (notice/info -> INFORMATIONAL、warn -> HIGH、error -> ERROR、other -> UNKNOWN_SEVERITY)。
sessionId event.idm.read_only_udm.network.session_id 直接對應。
size event.idm.read_only_udm.network.received_bytes 直接對應,轉換為無正負號整數。
source event.idm.read_only_udm.principal.hostnameevent.idm.read_only_udm.principal.asset.hostname 移除開頭空白字元後直接對應。
SourceSystem event.idm.read_only_udm.principal.resource.attribute.labelsevent.idm.read_only_udm.principal.platform 鍵:SourceSystem,值:SourceSystem。也會對應至 platform (Linux -> LINUX、Windows -> WINDOWS、Mac/iOS -> MAC)。
SrcIP event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 直接對應。
SrcPort event.idm.read_only_udm.principal.port 直接對應,轉換為整數。
srcIp event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 直接對應。
srcPort event.idm.read_only_udm.principal.port 直接對應,轉換為整數。
srcUser event.idm.read_only_udm.principal.user.userid 直接對應。
src_user event.idm.read_only_udm.principal.user.userid 直接對應。
src_user_display_name event.idm.read_only_udm.principal.user.user_display_name 直接對應。
status security_result.action 如果 Deferred,請設為 BLOCK。如果 Sent,請設為 ALLOW
summary security_result.summary 直接對應。
SyslogMessage security_result.description 直接對應。
targetEmail event.idm.read_only_udm.network.email.to 直接對應。
targetEmailfrom event.idm.read_only_udm.network.email.from 直接對應。
targetHostname event.idm.read_only_udm.target.hostnameevent.idm.read_only_udm.target.asset.hostname 直接對應。
target_hostname event.idm.read_only_udm.target.hostnameevent.idm.read_only_udm.target.asset.hostname 直接對應。
target_ip event.idm.read_only_udm.target.ipevent.idm.read_only_udm.target.asset.ip 直接對應。
target_mac event.idm.read_only_udm.target.mac 直接對應。
target_uri event.idm.read_only_udm.target.url 直接對應。
TenantId event.idm.read_only_udm.principal.user.product_object_id 直接對應。
terminal event.idm.read_only_udm.additional.fields 鍵:terminal,值:terminal (如不為空白) 或 ?
TimeGenerated event.idm.read_only_udm.metadata.collected_timestamp 剖析為時間戳記。
timestamp @timestamp 剖析為時間戳記。
tls_cipher event.idm.read_only_udm.network.tls.cipher 直接對應。
Type event.idm.read_only_udm.principal.resource.attribute.labels 鍵:Type,值:Type
uid event.idm.read_only_udm.principal.user.userid 如果 0,請設為 root。否則為直接對應。
uid_2 event.idm.read_only_udm.target.user.userid 如果 uid 為空白,則直接對應。
unit event.idm.read_only_udm.target.application 直接對應。
url event.idm.read_only_udm.target.url 直接對應。
user username 直接對應。
username event.idm.read_only_udm.target.user.useridevent.idm.read_only_udm.principal.user.userid 直接對應。
user_display_name event.idm.read_only_udm.target.user.user_display_name 直接對應。
user_present event.idm.read_only_udm.metadata.event_type 如果 trueprincipal_presenttrue,請將 event_type 設為 USER_UNCATEGORIZED
_Internal_WorkspaceResourceId event.idm.read_only_udm.target.resource.attribute.labelsevent.idm.read_only_udm.target.resource.product_object_id 鍵:_Internal_WorkspaceResourceId,值:_Internal_WorkspaceResourceId。系統會擷取訂閱 ID,並對應至 product_object_id
_ItemId event.idm.read_only_udm.principal.resource.attribute.labels 鍵:_ItemId,值:_ItemId
_ResourceId event.idm.read_only_udm.principal.resource.attribute.labelsevent.idm.read_only_udm.principal.resource.product_object_id 鍵:_ResourceId,值:_ResourceId。系統會擷取訂閱 ID,並對應至 product_object_id
_timestamp @timestamp 剖析為時間戳記。
_timestamp_tz @timestamp 剖析為時間戳記。
  • event.idm.read_only_udm.metadata.event_type:一開始設為 GENERIC_EVENT,然後根據剖析器邏輯覆寫。
  • event.idm.read_only_udm.metadata.product_name:硬式編碼為 Unix System
  • event.idm.read_only_udm.extensions.auth.type:針對特定事件類型設為 MACHINE
  • event.idm.read_only_udm.target.asset.attribute.cloud.environment:設為 GOOGLE_CLOUD_PLATFORM,以取得 Google Cloud 稽核記錄。
  • event.idm.read_only_udm.target.resource.resource_type:設為 VIRTUAL_MACHINE,以取得 Google Cloud 稽核記錄。
  • event.idm.read_only_udm.extensions.auth.mechanism:登入事件請設為 USERNAME_PASSWORD
  • has_target_resource:如果存在 resource.labels.instance_id_Internal_WorkspaceResourceId,請設為 true

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。