Linux 監査ログと AIX システムログを収集する
このパーサーは、SYSLOG 形式の Linux 監査ログを処理し、UDM に変換します。JSON 形式と書式なしテキストの両方のログメッセージを処理し、grok、XML 解析、JSON 解析の手法を使用してフィールドを抽出して、イベントタイプに基づいて適切な UDM フィールドにマッピングします。また、パーサーは AIX システムの特定の監査ログ形式を処理し、security_result や仲介者の詳細などの追加フィールドで UDM を拡充します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Auditd ホストに対する root 権限があることを確認します。
- Auditd ホストに rsyslog がインストールされていることを確認します。
- Windows 2012 SP2 以降または systemd を使用する Linux ホストがあることを確認します。
- プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM Settings] > [Collection Agents] に移動します。
- Ingestion Authentication File をダウンロードします。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
- Windows へのインストールの場合は、次のスクリプトを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet - Linux へのインストールの場合は、次のスクリプトを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh - その他のインストール オプションについては、インストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane Agent を構成する
- Bindplane がインストールされているマシンにアクセスします。
config.yamlファイルを次のように編集します。receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: auditd raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels次のコマンドを使用して Bindplane Agent を再起動し、変更を適用します。
sudo systemctl bindplane restart
Auditd から Syslog をエクスポートする
- 監査ログをエクスポートするマシンにアクセスします。
Auditd 構成ファイル(通常は
/etc/audit/auditd.confにあります)を開きます。sudo vi /etc/audit/auditd.conf次の行を見つけるか追加して、auditd を構成します。
active = yes output = syslog log_format = ENRICHED dispatcher = /sbin/audispd
省略可: Syslog Facility を指定します。auditd.conf に次の行を追加または変更します。
```none
syslog_facility = LOG_AUTHPRIV
```
audispd 構成ファイル(通常は
/etc/audisp/plugins.d/syslog.confにあります)を開きます。sudo vi /etc/audisp/plugins.d/syslog.conf次の行を見つけるか追加して、audispd を構成します。
active = yes direction = out path = builtin_syslog type = builtin args = LOG_INFO format = stringAuditd サービスを再起動して変更を適用します。
sudo systemctl restart auditdtailなどのツールを使用して syslog をモニタリングし、Auditd ログが送信されていることを確認します。tail -f /var/log/syslog | grep auditd # Follow syslog and filter for auditd messages (path may vary depending on your system)rsyslog.confを編集するか、カスタム構成を作成します。sudo vi /etc/rsyslog.d/50-audit-forwarding.confログを転送するルールを追加します。
if $programname == 'auditd' then @@<Bindplane_Agent>:<Bindplane_Port>- UDP には
@、TCP には@@を使用します。 <BindPlane_Agent>は、サーバーの IP/ホスト名に置き換えます。<BindPlane_Port>は、サーバーのポートに置き換えます。
rsyslog サービスを再起動して変更を適用します。
sudo systemctl restart rsyslog
サポートされている Linux 監査システム(AuditD)のログの例
SYSLOG + KV(Linux AuditD)
events_for_log_entry: { events: { timestamp: { seconds: 1718778607 nanos: 898000000 } idm: { read_only_udm: { metadata: { product_log_id: "5512409" event_timestamp: { seconds: 1718778607 nanos: 898000000 } event_type: USER_LOGIN vendor_name: "Linux" product_name: "AuditD" product_event_type: "USER_AUTH" } principal: { hostname: "sec-dev-01.internal" user: { userid: "0" user_display_name: "secuser" } process: { pid: "3306219" } asset: { hostname: "sec-dev-01.internal" ip: "192.168.1.5" } ip: "192.168.1.5" application: "ssh" platform: LINUX } target: { user: { userid: "0" user_display_name: "secuser" } process: { file: { full_path: "/usr/sbin/secure_shell" } } } intermediary: { hostname: "sec-dev-01.internal" } about: { user: { userid: "sysadmin" user_display_name: "unset" } } security_result: { detection_fields: { key: "AUID0" value: "unset" } detection_fields: { key: "UID0" value: "sysadmin" } detection_fields: { key: "acct0" value: "secuser" } detection_fields: { key: "addr0" value: "192.168.1.5" } detection_fields: { key: "auid0" value: "sysadmin" } detection_fields: { key: "exe0" value: "/usr/sbin/secure_shell" } detection_fields: { key: "grantors0" value: "pam_unix" } detection_fields: { key: "hostname0" value: "192.168.1.5" } detection_fields: { key: "msg0" value: "op=PAM:authentication" } detection_fields: { key: "pid0" value: "3306219" } detection_fields: { key: "res0" value: "success" } detection_fields: { key: "ses0" value: "4294967295" } detection_fields: { key: "terminal0" value: "ssh" } detection_fields: { key: "uid0" value: "0" } detection_fields: { key: "AUID_kv0" value: "AUID0:unset" } detection_fields: { key: "UID_kv0" value: "UID0:sysadmin" } detection_fields: { key: "acct_kv0" value: "acct0:secuser" } detection_fields: { key: "addr_kv0" value: "addr0:192.168.1.5" } detection_fields: { key: "auid_kv0" value: "auid0:sysadmin" } detection_fields: { key: "exe_kv0" value: "exe0:/usr/sbin/secure_shell" } detection_fields: { key: "grantors_kv0" value: "grantors0:pam_unix" } detection_fields: { key: "hostname_kv0" value: "hostname0:192.168.1.5" } detection_fields: { key: "msg_kv0" value: "msg0:op=PAM:authentication" } detection_fields: { key: "pid_kv0" value: "pid0:3306219" } detection_fields: { key: "res_kv0" value: "res0:success" } detection_fields: { key: "ses_kv0" value: "ses0:4294967295" } detection_fields: { key: "terminal_kv0" value: "terminal0:ssh" } detection_fields: { key: "uid_kv0" value: "uid0:0" } summary: "authentication secuser" action: ALLOW action_details: "success" } network: { session_id: "4294967295" application_protocol: SSH } extensions: { auth: {} } } } } }SYSLOG(汎用)
events_for_log_entry: { events: { timestamp: { seconds: 1754848621 } idm: { read_only_udm: { metadata: { event_timestamp: { seconds: 1754848621 } event_type: PROCESS_LAUNCH vendor_name: "Linux" product_name: "AuditD" product_event_type: "CROND" description: "(monitorsvc) CMD (/opt/monitor/bin/scheduler -j /opt/monitor/cache/jobs/check.jx)" } principal: { hostname: "log-host-05" user: { userid: "monitorsvc" } process: { pid: "124662" } asset: { hostname: "log-host-05" } platform: LINUX } target: { process: { command_line: "/opt/monitor/bin/scheduler -j /opt/monitor/cache/jobs/check.jx" } } intermediary: { hostname: "log-host-05" } } } } }JSON(Cloud Storage ロギングまたは Auditbeat)
events_for_log_entry: { events: { timestamp: { seconds: 1611615589 nanos: 212000000 } idm: { read_only_udm: { metadata: { product_log_id: "32946" event_timestamp: { seconds: 1611615589 nanos: 212000000 } collected_timestamp: { seconds: 1609752843 nanos: 349722230 } event_type: SERVICE_START vendor_name: "Linux" product_name: "AuditD" product_event_type: "SERVICE_START" } additional: { fields: { key: "insertId" value: { string_value: "tf9cuofcnbn6i" } } fields: { key: "logName" value: { string_value: "projects/prj-secops-dev/logs/auditd" } } } principal: { hostname: "gce-test-web" user: { userid: "0" } process: { pid: "1" } asset: { hostname: "gce-test-web" } application: "sysmgr" platform: LINUX } target: { process: { file: { full_path: "/usr/bin/sysmgr" } } cloud: { project: { name: "prj-secops-dev" } } resource: { resource_subtype: "gce_instance" product_object_id: "1000000000000000001" attribute: { cloud: { availability_zone: "us-east4-a" } } } } about: { user: { userid: "9001" user_display_name: "unset" } } security_result: { detection_fields: { key: "AUID0" value: "unset" } detection_fields: { key: "UID0" value: "secsvc" } detection_fields: { key: "auid0" value: "9001" } detection_fields: { key: "comm0" value: "sysmgr" } detection_fields: { key: "exe0" value: "/usr/bin/sysmgr" } detection_fields: { key: "msg0" value: "unit=gce-cert-renew" } detection_fields: { key: "pid0" value: "1" } detection_fields: { key: "res0" value: "success" } detection_fields: { key: "ses0" value: "4294967295" } detection_fields: { key: "subj0" value: "system_u:system_r:init_t:s0" } detection_fields: { key: "uid0" value: "0" } detection_fields: { key: "AUID_kv0" value: "AUID0:unset" } detection_fields: { key: "UID_kv0" value: "UID0:secsvc" } detection_fields: { key: "auid_kv0" value: "auid0:9001" } detection_fields: { key: "comm_kv0" value: "comm0:sysmgr" } detection_fields: { key: "exe_kv0" value: "exe0:/usr/bin/sysmgr" } detection_fields: { key: "msg_kv0" value: "msg0:unit=gce-cert-renew" } detection_fields: { key: "pid_kv0" value: "pid0:1" } detection_fields: { key: "res_kv0" value: "res0:success" } detection_fields: { key: "ses_kv0" value: "ses0:4294967295" } detection_fields: { key: "subj_kv0" value: "subj0:system_u:system_r:init_t:s0" } detection_fields: { key: "uid_kv0" value: "uid0:0" } summary: "unit=gce-cert-renew success" action: ALLOW action_details: "success" } network: { session_id: "4294967295" } } } } }JSON(Windows イベント)
JSON (Windows Event) events_for_log_entry: { events: { timestamp: { seconds: 1711012395 nanos: 723000000 } idm: { read_only_udm: { metadata: { event_timestamp: { seconds: 1711012395 nanos: 723000000 } event_type: USER_LOGIN vendor_name: "Microsoft" product_name: "Microsoft-Windows-Security-Auditing" product_event_type: "4624" description: "An account was successfully logged on" } additional: { fields: { key: "Message" value: { string_value: "An account was successfully logged on." "Subject:Security ID:S-1-0-0" "Account Name:-... (omitted for brevity) ..." "New Logon:Security ID:S-1-5-21-1234567890-123456789-1234567890-2001" "Account Name:svc_log_collector" "Account Domain:SEC_LAB... (omitted for brevity) ..." "Network Information:" "Workstation Name:DEV-WS-42" "Source Network Address:172.16.1.100" "Source Port:53856..." } } fields: { key: "Workstation Name" value: { string_value: "DEV-WS-42" } } } principal: { hostname: "DEV-WS-42" process: {} asset: { hostname: "DEV-WS-42" ip: "172.16.1.100" } ip: "172.16.1.100" port: 53856 labels: { key: "Workstation Name" value: "DEV-WS-42" } } target: { user: { userid: "svc_log_collector" windows_sid: "S-1-5-21-1234567890-123456789-1234567890-2001" } administrative_domain: "SEC_LAB" } intermediary: { hostname: "win-server-01" } security_result: { rule_name: "EventID: 4624" action: ALLOW } extensions: { auth: { mechanism: MECHANISM_UNSPECIFIED } } } } } }SYSLOG + XML(Solaris AuditD)
{ "events_for_log_entry": { "events": { "timestamp": { "seconds": 1735824379 }, "idm": { "read_only_udm": { "metadata": { "product_log_id": "1638473100678580410", "event_timestamp": { "seconds": 1735824379 }, "event_type": "PROCESS_LAUNCH", "vendor_name": "Linux", "product_name": "AuditD", "product_version": "2", "product_event_type": "AUE_EXECVE", "description": "<record version=\"2\" event=\"23\" host=\"192.0.2.1\" iso8601=\"1638473100678580410\">\n" " <ntrs hostname=\"sanitized-host-01\" eventstring=\"AUE_EXECVE\" timestamp=\"1638473100.678580410\" ppid=\"2853\"></ntrs>\n" " <path>/usr/bin/find</path>\n" " <attribute mode=\"100555\" uid=\"0\" gid=\"2\" fsid=\"256\" nodeid=\"722\" device=\"18446744073709551615\"/>\n" " <exec_args>\n" " <arg>find</arg>\n" " <arg>/var/log/secure</arg>\n" " <arg>-type</arg>\n" " <arg>f</arg>\n" " <arg>-xdev</arg>\n" " <arg>-prune</arg>\n" " <arg>-name</arg>\n" " <arg>secure_data_file.txt</arg>\n" " <arg>-mtime</arg>\n" " <arg>+3</arg>\n" " <arg>-exec</arg>\n" " <arg>rm</arg>\n" " <arg>-f</arg>\n" " <arg>{}</arg>\n" " <arg>;</arg>\n" " </exec_args>\n" " <path>/lib/ld.so.1</path>\n" " <attribute mode=\"100755\" uid=\"0\" gid=\"2\" fsid=\"256\" nodeid=\"449952\" device=\"18446744073709551615\"/>\n" " <subject audit-uid=\"99999\" uid=\"0\" gid=\"0\" ruid=\"0\" rgid=\"0\" pid=\"2871\" sid=\"1898719819\" tid=\"9307 196630 192.0.2.10\"/>\n" " <return errval=\"0\" retval=\"0\"/>\n" " <sequence seq-num=\"6849431\"/>\n" "</record>" }, "principal": { "hostname": "sanitized-host-01", "user": { "userid": "99999" }, "asset": { "hostname": "sanitized-host-01", "ip": "192.0.2.1" }, "ip": "192.0.2.1", "platform": "LINUX" }, "target": { "process": { "parent_process": { "pid": "2853" }, "command_line": "find /var/log/secure -type f -xdev -prune -name secure_data_file.txt -mtime +3 -exec rm -f {} ;" } }, "intermediary": { "hostname": "internal-proxy.local" }, "security_result": { "detection_fields": [ { "key": "event", "value": "event: 23" }, { "key": "uid", "value": "uid: 0" }, { "key": "gid", "value": "gid: 0" }, { "key": "ruid", "value": "ruid: 0" }, { "key": "rgid", "value": "rgid: 0" }, { "key": "pid", "value": "pid: 2871" }, { "key": "sid", "value": "sid: 1898719819" }, { "key": "tid", "value": "tid: 9307 196630 192.0.2.10" }, { "key": "seq_num", "value": "seq_num: 6849431" }, { "key": "errval", "value": "errval: 0" }, { "key": "retval", "value": "retval: 0" }, { "key": "path", "value": "path: /usr/bin/find" }, { "key": "device", "value": "device: 18446744073709551615" }, { "key": "mode", "value": "mode: 100555" }, { "key": "fsid", "value": "fsid: 256" }, { "key": "nodeid", "value": "nodeid: 722" } ] } } } } } }
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 備考 |
|---|---|---|
acct |
target.user.user_display_name |
未加工ログの acct の値は、UDM の target.user.user_display_name フィールドにマッピングされます。これは、イベントに関連付けられているアカウントを表します。 |
addr |
principal.ip |
未加工ログの addr の値は、UDM の principal.ip フィールドにマッピングされます。これは、イベントに関与したプリンシパルの IP アドレスを表します。 |
additional.fields |
additional.fields |
解析された Key-Value ペアまたはラベルの追加フィールドは、UDM の additional.fields 配列に追加されます。 |
agent.googleapis.com/log_file_path |
(マッピングされていません) | このラベルは一部のログに存在しますが、UDM の IDM オブジェクトにはマッピングされません。 |
algo |
(この例では使用されていません) | このフィールドはパーサーと一部のロギングデータに存在しますが、提供されている例では使用されておらず、最終的な UDM には表示されません。 |
application |
principal.application |
ログタイプに応じて、未加工ログの terminal フィールドまたは exe などの他のフィールドから派生します。関連するアプリケーションを表します。 |
arch |
security_result.about.platform_version |
未加工ログの arch フィールドのアーキテクチャは security_result.about.platform_version にマッピングされます。 |
auid |
about.user.userid、security_result.detection_fields.auid |
監査ユーザー ID(auid)が about.user.userid にマッピングされ、security_result の検出フィールドとして追加されます。 |
cmd |
target.process.command_line |
未加工ログの cmd フィールドのコマンドは target.process.command_line にマッピングされます。 |
collection_time |
(マッピングされていません) | このフィールドはログ収集時間であり、UDM の IDM オブジェクトにはマッピングされません。 |
comm |
principal.application |
コマンド名(comm)は principal.application にマッピングされます。 |
COMMAND |
target.process.command_line |
|
compute.googleapis.com/resource_name |
principal.hostname |
このラベルのリソース名は principal.hostname にマッピングされます。 |
create_time |
(マッピングされていません) | このフィールドは、UDM の IDM オブジェクトにマッピングされません。 |
cwd |
security_result.detection_fields.cwd |
現在の作業ディレクトリ(cwd)が security_result の検出フィールドとして追加されます。 |
data |
(処理済み) | data フィールドにはメインのログメッセージが含まれ、パーサーによって処理されてさまざまなフィールドが抽出されます。単一の UDM フィールドに直接マッピングされません。 |
exe |
target.process.file.full_path |
実行可能ファイルのパス(exe)が target.process.file.full_path にマッピングされます。 |
extensions.auth.type |
extensions.auth.type |
認証タイプは、イベントタイプに基づいてパーサー ロジックによって設定されます。多くの場合、MACHINE または AUTHTYPE_UNSPECIFIED に設定されます。 |
fp |
network.tls.client.certificate.sha256 |
フィンガープリント(fp)が解析されて SHA256 ハッシュが抽出され、network.tls.client.certificate.sha256 にマッピングされます。 |
_Item_Id |
metadata.product_log_id |
|
insertId |
(マッピングされていません) | このフィールドは、UDM の IDM オブジェクトにマッピングされません。 |
jsonPayload.message |
(処理済み) | このフィールドには、メインのログメッセージが JSON 形式で含まれ、パーサーによって処理されます。 |
key |
security_result.about.registry.registry_key |
キーフィールドは security_result.about.registry.registry_key にマッピングされます。 |
labels |
(処理済み) | 未加工ログのラベルが処理され、さまざまな UDM フィールドにマッピングされるか、additional.fields に追加されます。 |
logName |
(マッピングされていません) | このフィールドは、UDM の IDM オブジェクトにマッピングされません。 |
metadata.product_event_type |
SECCOMP | 鍵交換曲線が未加工ログから抽出され、このフィールドにマッピングされます。 |
msg |
security_result.summary |
メッセージ(msg)は、security_result.summary フィールドへの入力によく使用されます。 |
network.application_protocol |
network.application_protocol |
イベントタイプ(SSH、HTTP)。 |
network.direction |
network.direction |
イベントタイプに基づいてパーサー ロジックによって設定されます(例: INBOUND、OUTBOUND)。 |
network.ip_protocol |
network.ip_protocol |
通常は SSH イベントの TCP に、パーサー ロジックによって設定されます。 |
network.session_id |
network.session_id |
ses フィールドからマッピングされるか、他のフィールドから派生します。 |
network.tls.cipher |
network.tls.cipher |
暗号情報は未加工ログから抽出され、このフィールドにマッピングされます。 |
network.tls.curve |
network.tls.curve |
鍵交換曲線が未加工ログから抽出され、このフィールドにマッピングされます。 |
pid |
principal.process.pid、target.process.pid |
プロセス ID(pid)は、コンテキストに応じて principal.process.pid または target.process.pid にマッピングされます。 |
ppid |
principal.process.parent_process.pid、target.process.parent_process.pid |
親プロセス ID(ppid)は、コンテキストに応じて principal.process.parent_process.pid または target.process.parent_process.pid にマッピングされます。 |
principal.asset.hostname |
principal.asset.hostname |
principal.hostname からコピーされます。 |
principal.asset.ip |
principal.asset.ip |
principal.ip からコピーされます。 |
principal.platform |
principal.platform |
オペレーティング システムに基づいてパーサー ロジックによって設定されます(Linux)。 |
principal.port |
principal.port |
プリンシパルに関連付けられているポート番号。 |
principal.user.group_identifiers |
principal.user.group_identifiers |
プリンシパル ユーザーに関連付けられたグループ ID。 |
process.name |
target.process.file.full_path |
|
receiveTimestamp |
(マッピングされていません) | このフィールドはログ受信タイムスタンプであり、UDM の IDM オブジェクトにマッピングされません。 |
res |
security_result.action_details |
結果(res)は security_result.action_details にマッピングされます。 |
_Resource_Id |
target.resource.product_object_id |
|
resource.labels |
(マッピングされていません) | これらのラベルは一部のロギングデータに存在しますが、UDM 内の IDM オブジェクトにはマッピングされません。 |
resource.type |
(マッピングされていません) | このフィールドは一部のロギングデータに存在しますが、UDM の IDM オブジェクトにはマッピングされません。 |
security_result.action |
security_result.action |
res フィールドに基づいてパーサー ロジックによって設定されます(例: ALLOW、BLOCK)。 |
security_result.detection_fields |
security_result.detection_fields |
未加工ログのさまざまなフィールドが、コンテキストの Key-Value ペアとしてこの配列に追加されます。 |
security_result.rule_id |
security_result.rule_id |
パーサー ロジックによって設定されます。多くの場合、syscall イベントの type_name に設定されます。 |
security_result.severity |
security_result.severity |
未加工ログの重大度レベルに基づいて、パーサー ロジックによって設定されます。 |
security_result.summary |
security_result.summary |
イベントの概要。多くの場合、msg フィールドやその他の関連フィールドから取得されます。 |
ses |
network.session_id |
セッション ID(ses)は network.session_id にマッピングされます。 |
source |
(マッピングされていません) | このフィールドにはログソースに関するメタデータが含まれますが、UDM の IDM オブジェクトにはマッピングされません。 |
subj |
(処理済み) | サブジェクト フィールド(subj)が処理され、ユーザーとセキュリティのコンテキスト情報が抽出されます。 |
syscall |
security_result.about.labels.Syscall |
syscall 番号は security_result.about 内のラベルとして追加されます。 |
target.administrative_domain |
target.administrative_domain |
ターゲット ユーザーのドメイン。 |
target.group.group_display_name |
target.group.group_display_name |
ターゲット グループの名前。 |
target.ip |
target.ip |
ターゲットの IP アドレス。 |
target.port |
target.port |
ターゲットに関連付けられているポート番号。 |
target.process.command_line |
target.process.command_line |
ターゲット プロセスのコマンドライン。 |
target.resource.type |
target.resource.type |
パーサー ロジックによって設定されるターゲット リソースのタイプ(例: CREDENTIAL、SETTING)。 |
target.user.attribute.permissions |
target.user.attribute.permissions |
ターゲット ユーザーに関連する権限。 |
target.user.group_identifiers |
target.user.group_identifiers |
ターゲット ユーザーに関連付けられたグループ ID。 |
target.user.userid |
target.user.userid |
ターゲットのユーザー ID。 |
TenantId |
metadata.product_deployment_id |
|
textPayload |
(処理済み) | ログのテキスト ペイロード。パーサーによって処理され、さまざまなフィールドが抽出されます。 |
timestamp |
metadata.event_timestamp |
イベントのタイムスタンプ。 |
tty |
security_result.about.labels.tty |
tty は security_result.about 内のラベルとして追加されます。 |
type |
metadata.product_event_type |
イベントタイプ(type)は metadata.product_event_type にマッピングされます。 |
uid |
target.user.userid |
ユーザー ID(uid)は target.user.userid にマッピングされます。 |
UDM マッピング デルタ リファレンス
2025 年 9 月 23 日、Google SecOps は Okta パーサーの新しいバージョンをリリースしました。このバージョンには、Okta ログフィールドから UDM フィールドへのマッピングの大きな変更と、イベントタイプのマッピングの変更が含まれています。
ログフィールド マッピングの差分
次の表に、2025 年 9 月 23 日より前とそれ以降に公開された Okta ログから UDM へのフィールドのマッピングの差分を示します(それぞれ [以前のマッピング] 列と [現在のマッピング] 列に記載されています)。
| ログフィールド | 以前のマッピング | 現在のマッピング | リファレンス ログのサンプル |
|---|---|---|---|
1.1.1.1(IP アドレス) |
src.ip |
principal.ip |
「<163>Apr 10 09:00:05 hostname.com sshd[3318513]: Accepted password for abc from 1.1.1.1 port 33988 ssh2」 |
1.1.1.1(IP アドレス) |
principal.ip |
target.ip |
"<29>Oct 5 08:37:16 abc ProxySG: E0000 アクセスログ HTTP(メイン): ポート 4433 でサーバー 1.1.1.1 に接続しています。(0) NORMAL_EVENT alog_stream_http.cpp 261" |
abc(ユーザー) |
principal.user.userid |
target.user.userid |
"<85>Feb 27 08:26:55 offozcav login: FAILED LOGIN 1 FROM ::ffff:1.1.1.1 FOR abc, Authentication failure\r\n\r\n" |
abc.abc(ユーザー) |
principal.user.userid |
target.user.userid |
"<86>Feb 27 08:29:19 offozcav login: LOGIN ON pts/43 BY abc.abc FROM\r\n\r\n::ffff:1.1.1.1" |
COMMAND |
principal.process.command_line |
target.process.command_line |
"<85>Sep 24 14:33:59 abc sudo: abc : \r\nTTY=unknown ; PWD=/abc ; USER=abc ; COMMAND=/sbin/iptables -t nat -nL \r\n--line-number" |
exe |
target.process.file.full_path |
principal.process.file.full_path |
|
_ItemId |
additional.fields |
metadata.product_log_id |
|
metadata.product_event_type |
PATH |
SECCOMP |
|
process.name |
principal.process.file.full_path |
target.process.file.full_path |
|
_ResourceId |
additional.fields |
target.resource.product_object_id |
|
TenantId |
additional.fields |
metadata.product_deployment_id |
|
uid |
principal.user.userid |
target.user.userid |
|
USER |
principal.user.user_display_name |
target.user.userid |
"<85>Sep 24 14:33:59 abc sudo: abc : \r\nTTY=unknown ; PWD=/abc ; USER=abc ; COMMAND=/sbin/iptables -t nat -nL \r\n--line-number" |
user |
principal.user.userid |
target.user.userid |
「29>Jan 16 11:28:00 san-auth-1-irl2 tac_plus[17329]: login failure: user 1.1.1.1 (1.1.1.1) vty0」 |
user |
principal.user.userid |
target.user.userid |
「<87>Jul 15 10:27:01 xpgjrconfdb01 crond[1045]: pam_unix(crond:account): expired password for user root (password aged)」 |
イベントタイプ マッピングの差分
以前は汎用イベントとして分類されていた複数のイベントが、意味のあるイベントタイプで適切に分類されるようになりました。
次の表に、2025 年 9 月 23 日より前と以降の Okta イベントタイプの処理の差分を示します(それぞれ [以前の event_type] 列と [現在のイベントタイプ] 列に記載)。
| ログの eventType | 以前の event_type | 現在の event_type |
|---|---|---|
aix_event_type=CRON_Start |
USER_LOGIN |
PROCESS_LAUNCH |
CRYPTO_KEY_USER |
NETWORK_CONNECTION |
USER_LOGIN |
FILE_Mknod |
USER_LOGIN |
FILE_CREATION |
FILE_Rename |
USER_LOGIN |
FILE_MODIFICATION |
FILE_Stat |
USER_LOGIN |
FILE_OPEN |
FILE_Unlink |
USER_LOGIN |
FILE_DELETION |
FS_Chabc |
USER_LOGIN |
PROCESS_UNCATEGORIZED |
FS_Mkdir |
USER_LOGIN |
FILE_CREATION |
FS_Rmdir |
USER_LOGIN |
FILE_DELETION |
PROC_Execute |
USER_LOGIN |
PROCESS_LAUNCH |
type=ANOM_ABEND |
STATUS_UPDATE |
PROCESS_TERMINATION |
type=ANOM_PROMISCUOUS |
SETTING_MODIFICATION |
|
type=CRED_REFR |
USER_LOGIN |
USER_CHANGE_PERMISSIONS |
type=PROCTILE |
PROCESS_UNCATEGORIZED |
PROCESS_LAUNCH |
type=SERVICE_START |
USER_RESOURCE_ACCESS |
SERVICE_START |
type=SERVICE_STOP |
USER_RESOURCE_ACCESS |
SERVICE_STOP |
type=USER_ACCT |
USER_LOGIN/SETTING_MODIFICTION |
USER_LOGIN |
type=USER_MGMT |
SETTING_MODIFICATION/GROUP_MODIFICATION |
GROUP_MODIFICATION |
USER_ERR |
USER_LOGOUT |
USER_LOGIN |
その他の変更
security_result.descriptionからresの重複するマッピングを削除しました。security_result.action_detailsで取得されます。- 追加フィールドから不要な
auditd_msg_dataを削除しました。 security_result.summaryから不要なauditd_msg_dataを削除しました。type=ADD_USERの場合、acctからtarget.user.display_nameへの重複マッピングを削除しました。target.user.useridにすでにマッピングされています。principal.process.command_lineとprincipal.process.file.namesからcommの重複マッピングを削除しました。principal.applicationで取得されます。principalに値がある場合に、target.hostnameの重複マッピングを削除しました。target.resource.typeからSETTINGへの不要なハードコード マッピングを削除しました。- 非推奨になったため、ラベルのマッピングに関する情報を削除しました。
- マッピングを修正しました。IP は
principal.hostnameではなくprincipal.ipにルーティングされるようになりました。 - イベントの繰り返し生成を修正しました。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。