Mengumpulkan log sistem Linux auditd dan AIX
Dokumen ini menjelaskan cara mengumpulkan log audit Linux dari sistem auditd dan AIX, lalu mengubahnya menjadi UDM. Parser menangani pesan log berformat JSON dan teks biasa, mengekstrak kolom menggunakan teknik grok, parsing XML, dan parsing JSON, serta memetakannya ke kolom UDM yang sesuai berdasarkan jenis peristiwa. Parser juga menangani format log audit tertentu dari sistem AIX dan memperkaya UDM dengan kolom tambahan seperti security_result dan detail perantara.
Ada dua metode utama untuk mengumpulkan log auditd: dari file log lokal atau menggunakan syslog. Terlepas dari metode yang digunakan, konfigurasi umum tertentu diperlukan di auditd.
Sebelum memulai
- Pastikan Anda memiliki instance Google Security Operations.
- Pastikan Anda memiliki akses root ke host Auditd.
- Pastikan Anda memiliki host Windows 2012 SP2 atau yang lebih baru atau Linux dengan systemd untuk agen Bindplane.
- Jika beroperasi dari balik proxy, pastikan port firewall terbuka.
- Untuk pengumpulan berbasis syslog, pastikan
rsyslogdiinstal di host Auditd.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka SIEM Settings > Collection Agents.
- Download File Autentikasi Penyerapan.
Mendapatkan ID pelanggan Google SecOps Anda
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal agen Bindplane
Agen Bindplane mengumpulkan log dari berbagai sumber dan mengirimkannya ke Google SecOps. Anda dapat menginstal agen di resource lokal atau di cloud. Agen BindPlane juga dapat disebut sebagai pengumpul BindPlane, agen pengumpulan, pengumpul, atau agen. Untuk mengetahui informasi selengkapnya dan opsi penginstalan tambahan, lihat Menggunakan Bindplane dengan Google SecOps.
- Untuk penginstalan Windows, jalankan skrip berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet - Untuk penginstalan Linux, jalankan skrip berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Konfigurasi AuditD umum
Untuk memastikan bahwa log auditd berisi informasi sumber yang diperlukan, seperti nama host, selesaikan langkah-langkah berikut:
Instal paket yang diperlukan. Instal daemon
auditdan pluginaudispd(diperlukan untuk penerusan syslog di banyak distribusi).- RHEL/CentOS:
bash sudo yum install audit audispd-plugins - Ubuntu/Debian:
bash sudo apt-get install auditd audispd-plugins
- RHEL/CentOS:
Konfigurasi AuditD untuk menyertakan nama host. Edit file konfigurasi daemon Audit di
/etc/audit/auditd.confdan perbarui opsiname_format:# Add or update the following line: name_format = hostnameKonfigurasi aturan audit. Tentukan aturan audit Anda di
/etc/audit/rules.d/audit.rulesagar tetap ada setelah dimulai ulang. Misalnya, untuk mengaudit eksekusi proses untuk arsitektur 32-bit dan 64-bit, tambahkan:-a always,exit -F arch=b64 -S execve -k execve -a always,exit -F arch=b32 -S execve -k execveAnda dapat mengganti aturan ini dengan aturan Anda sendiri.
Mulai Ulang AuditD. Mulai ulang layanan untuk menerapkan perubahan:
sudo systemctl restart auditd
Metode pengumpulan 1: Penyerapan berbasis file
Metode ini melibatkan penggunaan agen Bindplane lokal untuk membaca file log audit mentah secara langsung dari /var/log/audit/audit.log di disk.
Untuk mengonfigurasi agen Bindplane untuk penyerapan file, lakukan hal berikut:
Edit file
config.yamldi komputer tempat BindPlane diinstal untuk memantau file log AuditD:receivers: filelog/auditd: include: [ "/var/log/audit/audit.log" ] start_at: end read_batch_size: 65536 poll_interval: 1s exporters: chronicle/auditd_file: compression: gzip # Adjust the creds location below according to the placement of the credentials file you downloaded. creds: '{ json file for creds }' # Replace CUSTOMER_ID 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: AUDITD namespace: auditd raw_log_field: body service: pipelines: logs/auditd_file_to_chronicle: receivers: - filelog/auditd exporters: - chronicle/auditd_fileMulai ulang agen Bindplane:
sudo systemctl restart bindplane
Metode pengumpulan 2: Penyerapan berbasis Syslog
Metode ini menggunakan pengirim Audit (audispd) untuk mengirim log ke daemon rsyslog lokal, yang kemudian meneruskan peristiwa. Agen BindPlane dikonfigurasi untuk menerima pesan syslog ini.
Langkah 1: Konfigurasi plugin syslog AuditD
Anda harus mengaktifkan plugin syslog untuk merutekan log audit ke fasilitas syslog. Bergantung pada distribusi Linux dan versi Audit Anda, edit /etc/audisp/plugins.d/syslog.conf (sistem lama) atau /etc/audit/plugins.d/syslog.conf (Audit 3.0 dan yang lebih baru):
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_LOCAL6
format = string
Langkah 2: Konfigurasi penerusan rsyslog
Buat file konfigurasi rsyslog khusus di /etc/rsyslog.d/50-auditd.conf (atau perbarui file yang ada seperti 50-default.conf) untuk mengalihkan fasilitas LOCAL6.
Opsi A: Teruskan ke agen Bindplane jarak jauh
Jika agen Bindplane Anda dihosting dari jarak jauh, tentukan alamat IP-nya (REMOTE_BINDPLANE_IP) dan port pendengarannya (misalnya, port 11655):
local6.* @@REMOTE_BINDPLANE_IP:11655
Opsi B: Teruskan ke pemroses lokal
Jika Anda menjalankan agen pengumpulan lokal yang memproses traffic syslog di port tertentu pada host yang sama, tentukan LOCAL_LISTENER_PORT:
local6.* @@127.0.0.1:LOCAL_LISTENER_PORT
Langkah 3: Konfigurasi agen Bindplane untuk penyerapan syslog
Edit file config.yaml di mesin tempat BindPlane diinstal untuk memproses pesan syslog. Konfigurasi ini mengasumsikan Anda menggunakan TCP di port 11655, yang cocok dengan contoh di Langkah 2.
receivers:
tcplog:
listen_address: "0.0.0.0:11655"
exporters:
chronicle/auditd_syslog:
compression: gzip
# Adjust the creds location below according to 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/auditd_syslog_to_chronicle:
receivers:
- tcplog
exporters:
- chronicle/auditd_syslog
Langkah 4: Mulai ulang layanan yang diperlukan
Mulai ulang layanan berikut agar konfigurasi Bindplane dan perutean syslog diterapkan:
sudo systemctl restart auditd
sudo systemctl restart rsyslog
sudo systemctl restart bindplane
Anda dapat menggunakan alat seperti tail untuk memantau syslog dan memverifikasi bahwa log Auditd sedang dikirim:
tail -f /var/log/syslog | grep auditd
# Follow syslog and filter for auditd messages (the path may vary depending on your system).
Contoh log Sistem Audit Linux (AuditD) yang didukung
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 (Umum)
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 Logging atau 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 (Peristiwa 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" } ] } } } } } }
Tabel pemetaan UDM
| Kolom log | Pemetaan UDM | Keterangan |
|---|---|---|
acct |
target.user.user_display_name |
Nilai acct dari log mentah dipetakan ke kolom target.user.user_display_name di UDM. Ini mewakili akun yang terkait dengan peristiwa. |
addr |
principal.ip |
Nilai addr dari log mentah dipetakan ke kolom principal.ip di UDM. Ini mewakili alamat IP principal yang terlibat dalam peristiwa. |
additional.fields |
additional.fields |
Kolom tambahan dari pasangan nilai kunci atau label yang diuraikan ditambahkan ke array additional.fields di UDM. |
agent.googleapis.com/log_file_path |
(Tidak Dipetakan) | Label ini ada di beberapa log mentah, tetapi tidak dipetakan ke objek IDM di UDM. |
algo |
(Tidak digunakan dalam contoh ini) | Meskipun ada di parser dan beberapa log mentah, kolom ini tidak digunakan dalam contoh yang diberikan dan tidak muncul di UDM akhir. |
application |
principal.application |
Diperoleh dari kolom terminal dalam log mentah atau kolom lain seperti exe, bergantung pada jenis log. Mewakili aplikasi yang terlibat. |
arch |
security_result.about.platform_version |
Arsitektur dari kolom arch log mentah dipetakan ke security_result.about.platform_version. |
auid |
about.user.userid, security_result.detection_fields.auid |
ID pengguna audit (auid) dipetakan ke about.user.userid dan ditambahkan sebagai kolom deteksi di security_result. |
cmd |
target.process.command_line |
Perintah dari kolom cmd log mentah dipetakan ke target.process.command_line. |
collection_time |
(Tidak Dipetakan) | Kolom ini adalah waktu pengumpulan log dan tidak dipetakan ke objek IDM di UDM. |
comm |
principal.application |
Nama perintah (comm) dipetakan ke principal.application. |
COMMAND |
target.process.command_line |
|
compute.googleapis.com/resource_name |
principal.hostname |
Nama resource dari label ini dipetakan ke principal.hostname. |
create_time |
(Tidak Dipetakan) | Kolom ini tidak dipetakan ke objek IDM di UDM. |
cwd |
security_result.detection_fields.cwd |
Direktori kerja saat ini (cwd) ditambahkan sebagai kolom deteksi di security_result. |
data |
(Diproses) | Kolom data berisi pesan log utama dan diproses oleh parser untuk mengekstrak berbagai kolom. Kolom ini tidak dipetakan langsung ke satu kolom UDM. |
exe |
target.process.file.full_path |
Jalur yang dapat dieksekusi (exe) dipetakan ke target.process.file.full_path. |
extensions.auth.type |
extensions.auth.type |
Jenis autentikasi ditetapkan oleh logika parser berdasarkan jenis peristiwa. Sering disetel ke MACHINE atau AUTHTYPE_UNSPECIFIED. |
fp |
network.tls.client.certificate.sha256 |
Sidik jari (fp) diuraikan untuk mengekstrak hash SHA256 dan dipetakan ke network.tls.client.certificate.sha256. |
_Item_Id |
metadata.product_log_id |
|
insertId |
(Tidak Dipetakan) | Kolom ini tidak dipetakan ke objek IDM di UDM. |
jsonPayload.message |
(Diproses) | Kolom ini berisi pesan log utama dalam format JSON dan diproses oleh parser. |
key |
security_result.about.registry.registry_key |
Kolom kunci dipetakan ke security_result.about.registry.registry_key. |
labels |
(Diproses) | Label dari log mentah diproses dan dipetakan ke berbagai kolom UDM atau ditambahkan ke additional.fields. |
logName |
(Tidak Dipetakan) | Kolom ini tidak dipetakan ke objek IDM di UDM. |
metadata.product_event_type |
SECCOMP | Kurva pertukaran kunci diekstrak dari log mentah dan dipetakan ke kolom ini. |
msg |
security_result.summary |
Pesan (msg) sering digunakan untuk mengisi kolom security_result.summary. |
network.application_protocol |
network.application_protocol |
Ditetapkan oleh logika parser berdasarkan jenis peristiwa (misalnya, SSH, HTTP). |
network.direction |
network.direction |
Ditetapkan oleh logika parser berdasarkan jenis peristiwa (misalnya, INBOUND, OUTBOUND). |
network.ip_protocol |
network.ip_protocol |
Ditetapkan oleh logika parser, biasanya ke TCP untuk peristiwa SSH. |
network.session_id |
network.session_id |
Dipetakan dari kolom ses atau berasal dari kolom lain. |
network.tls.cipher |
network.tls.cipher |
Informasi sandi diekstrak dari log mentah dan dipetakan ke kolom ini. |
network.tls.curve |
network.tls.curve |
Kurva pertukaran kunci diekstrak dari log mentah dan dipetakan ke kolom ini. |
pid |
principal.process.pid, target.process.pid |
ID proses (pid) dipetakan ke principal.process.pid atau target.process.pid, bergantung pada konteksnya. |
ppid |
principal.process.parent_process.pid, target.process.parent_process.pid |
ID proses induk (ppid) dipetakan ke principal.process.parent_process.pid atau target.process.parent_process.pid, bergantung pada konteksnya. |
principal.asset.hostname |
principal.asset.hostname |
Disalin dari principal.hostname. |
principal.asset.ip |
principal.asset.ip |
Disalin dari principal.ip. |
principal.platform |
principal.platform |
Ditetapkan oleh logika parser berdasarkan sistem operasi (misalnya, LINUX). |
principal.port |
principal.port |
Nomor port yang terkait dengan prinsipal. |
principal.user.group_identifiers |
principal.user.group_identifiers |
ID grup yang terkait dengan pengguna utama. |
process.name |
target.process.file.full_path |
|
receiveTimestamp |
(Tidak Dipetakan) | Kolom ini adalah stempel waktu penerimaan log dan tidak dipetakan ke objek IDM di UDM. |
res |
security_result.action_details |
Hasil (res) dipetakan ke security_result.action_details. |
_Resource_Id |
target.resource.product_object_id |
|
resource.labels |
(Tidak Dipetakan) | Label ini ada di beberapa log mentah, tetapi tidak dipetakan ke objek IDM di UDM. |
resource.type |
(Tidak Dipetakan) | Kolom ini ada di beberapa log mentah, tetapi tidak dipetakan ke objek IDM di UDM. |
security_result.action |
security_result.action |
Ditetapkan oleh logika parser berdasarkan kolom res (misalnya, ALLOW, BLOCK). |
security_result.detection_fields |
security_result.detection_fields |
Berbagai kolom dari log mentah ditambahkan sebagai pasangan nilai kunci ke array ini untuk konteks. |
security_result.rule_id |
security_result.rule_id |
Ditetapkan oleh logika parser, sering kali ke type_name untuk peristiwa syscall. |
security_result.severity |
security_result.severity |
Ditetapkan oleh logika parser berdasarkan tingkat keparahan dalam log mentah. |
security_result.summary |
security_result.summary |
Ringkasan acara, sering kali berasal dari kolom msg atau kolom relevan lainnya. |
ses |
network.session_id |
ID sesi (ses) dipetakan ke network.session_id. |
source |
(Tidak Dipetakan) | Kolom ini berisi metadata tentang sumber log dan tidak dipetakan ke objek IDM di UDM. |
subj |
(Diproses) | Kolom subjek (subj) diproses untuk mengekstrak informasi konteks pengguna dan keamanan. |
syscall |
security_result.about.labels.Syscall |
Nomor syscall ditambahkan sebagai label dalam security_result.about. |
target.administrative_domain |
target.administrative_domain |
Domain pengguna target. |
target.group.group_display_name |
target.group.group_display_name |
Nama grup target. |
target.ip |
target.ip |
Alamat IP target. |
target.port |
target.port |
Nomor port yang terkait dengan target. |
target.process.command_line |
target.process.command_line |
Command line dari proses target. |
target.resource.type |
target.resource.type |
Jenis resource target, ditetapkan oleh logika parser (misalnya, CREDENTIAL, SETTING). |
target.user.attribute.permissions |
target.user.attribute.permissions |
Izin yang terkait dengan pengguna target. |
target.user.group_identifiers |
target.user.group_identifiers |
ID grup yang terkait dengan pengguna target. |
target.user.userid |
target.user.userid |
ID pengguna target. |
TenantId |
metadata.product_deployment_id |
|
textPayload |
(Diproses) | Payload teks log, yang diproses oleh parser untuk mengekstrak berbagai kolom. |
timestamp |
metadata.event_timestamp |
Stempel waktu peristiwa. |
tty |
security_result.about.labels.tty |
tty ditambahkan sebagai label dalam security_result.about. |
type |
metadata.product_event_type |
Jenis acara (type) dipetakan ke metadata.product_event_type. |
uid |
target.user.userid |
ID pengguna (uid) dipetakan ke target.user.userid. |
Referensi delta pemetaan UDM
Pada 23 September 2025, Google SecOps merilis versi baru parser Okta, yang mencakup perubahan signifikan pada pemetaan kolom log Okta ke kolom UDM dan perubahan pada pemetaan jenis peristiwa.
Delta pemetaan kolom log
Tabel berikut mencantumkan perbedaan pemetaan untuk kolom log Okta ke UDM yang diekspos sebelum 23 September 2025 dan setelahnya (masing-masing tercantum dalam kolom Pemetaan lama dan Pemetaan saat ini).
| Kolom log | Pemetaan lama | Pemetaan saat ini | Contoh log referensi |
|---|---|---|---|
1.1.1.1 (alamat 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 (alamat IP) |
principal.ip |
target.ip |
"<29>Oct 5 08:37:16 abc ProxySG: E0000 Access Log HTTP (main): Connecting to server 1.1.1.1 on port 4433.(0) NORMAL_EVENT alog_stream_http.cpp 261" |
abc (pengguna) |
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 (pengguna) |
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)" |
Delta pemetaan jenis peristiwa
Beberapa peristiwa yang sebelumnya diklasifikasikan sebagai peristiwa umum kini diklasifikasikan dengan benar menggunakan jenis peristiwa yang bermakna.
Tabel berikut mencantumkan perbedaan penanganan jenis peristiwa Okta sebelum 23 September 2025 dan setelahnya (masing-masing tercantum dalam kolom Old event_type dan Current event-type).
| eventType dari log | event_type lama | event_type saat ini |
|---|---|---|
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 |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.