Mengumpulkan log Delinea Secret Server
Dokumen ini menjelaskan cara mengumpulkan log Delinea (sebelumnya Thycotic) Secret Server. Parser mengubah log mentah menjadi format terstruktur yang sesuai dengan Model Data Terpadu (UDM) Google Security Operations. Pertama-tama, data ini mengekstrak kolom utama seperti stempel waktu, jenis peristiwa, dan informasi pengguna, lalu menggunakan logika bersyarat berdasarkan jenis peristiwa tertentu untuk memetakan data ke kolom UDM yang sesuai, yang pada akhirnya memperkaya data untuk analisis di Google SecOps.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google Security Operations
- Windows 2016 atau yang lebih baru atau host Linux dengan
systemd
- Jika berjalan di belakang proxy, pastikan port firewall terbuka
- Akses istimewa ke Delinea Secrets Server
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Penyerapan.
- Simpan file dengan aman di sistem tempat BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google Security Operations.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal agen Bindplane
Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.
Penginstalan Windows
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
Jalankan perintah berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Referensi penginstalan tambahan
Untuk opsi penginstalan tambahan, lihat panduan penginstalan.
Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps
- Akses file konfigurasi:
- Cari file
config.yaml
. Biasanya, file ini berada di direktori/etc/bindplane-agent/
di Linux atau di direktori penginstalan di Windows. - Buka file menggunakan editor teks (misalnya,
nano
,vi
, atau Notepad).
- Cari file
Edit file
config.yaml
sebagai berikut:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/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: 'THYCOTIC' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
- Ganti
<customer_id>
dengan ID pelanggan yang sebenarnya. - Perbarui '/path/to/ingestion-authentication-file.json' ke jalur tempat file autentikasi disimpan di bagian Dapatkan file autentikasi penyerapan Google SecOps.
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart bindplane-agent
Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi Thycotic Secret Server untuk mengirim log menggunakan Syslog
- Login ke Thycotic Secret Server dengan kredensial administrator.
- Buka Admin > Configuration.
- Klik Edit.
- Pilih kotak centang Aktifkan logging Syslog/CEF dan tentukan detail berikut:
- Server Syslog/CEF: Masukkan alamat IP server Syslog/Bindplane Anda.
- Protokol Syslog/CEF Pilih UDP atau TCP (bergantung pada konfigurasi Bindplane atau server Syslog Anda).
- Port Syslog/CEF: Masukkan nomor port yang dikonfigurasi untuk diproses oleh server Syslog atau Bindplane.
- Klik Simpan.
Tabel pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
Account_Domain | event1.idm.read_only_udm.principal.domain | Nilai diambil dari kolom Account_Domain di kolom msg log mentah. |
Oleh Pengguna | event1.idm.read_only_udm.principal.user.userid | Nilai diambil dari kolom By User di kolom msg log mentah. |
ID Penampung | event1.idm.read_only_udm.principal.asset.asset_id | Nilai diambil dari kolom Container Id di kolom msg pada log mentah dan diberi awalan container_id: . |
Nama container | event1.idm.read_only_udm.principal.resource.name | Nilai diambil dari kolom Container name di kolom msg log mentah. |
cs2 | event1.idm.read_only_udm.additional.fields[].value.string_value | Nilai diambil dari kolom cs2 di kolom msg log mentah. |
cs3 | event1.idm.read_only_udm.target.file.full_path | Nilai diambil dari kolom cs3 di kolom msg log mentah. |
cs4 | event1.idm.read_only_udm.principal.user.user_display_name | Nilai diambil dari kolom cs4 di kolom msg log mentah. |
Detail | event1.idm.read_only_udm.additional.fields[].value.string_value | Nilai diambil dari kolom Details di kolom msg log mentah. |
fname | event1.idm.read_only_udm.target.file.full_path | Nilai diambil dari kolom fname di kolom msg log mentah. |
Host | event1.idm.read_only_udm.principal.hostname, event1.idm.read_only_udm.principal.asset.hostname | Nilai diambil dari kolom Host di kolom msg log mentah. |
Nama Item | event1.idm.read_only_udm.target.user.userid | Nilai diambil dari kolom Item Name di kolom msg log mentah. |
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode menjadi fname . |
|
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode menjadi Group or User . |
|
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode menjadi Details . |
|
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode menjadi type_id . |
|
event1.idm.read_only_udm.extensions.auth.type | Nilai di-hardcode menjadi MACHINE . |
|
event1.idm.read_only_udm.metadata.description | Nilai diambil dari kolom thycotic_event , yang diekstrak dari log mentah menggunakan pola grok. |
|
event1.idm.read_only_udm.metadata.event_timestamp.seconds | Nilai ini berasal dari kolom rt jika ada, atau dari kolom ts . Kedua kolom diekstrak dari log mentah menggunakan pola grok. |
|
event1.idm.read_only_udm.metadata.event_type | Nilai ditentukan berdasarkan kolom thycotic_event dan kondisi lainnya. Misalnya, jika thycotic_event adalah USER - LOGIN , jenis peristiwa akan ditetapkan ke USER_LOGIN . |
|
event1.idm.read_only_udm.metadata.log_type | Nilai di-hardcode menjadi THYCOTIC . |
|
event1.idm.read_only_udm.metadata.product_event_type | Nilai diambil dari kolom thycotic_event , yang diekstrak dari log mentah menggunakan pola grok. |
|
event1.idm.read_only_udm.metadata.product_log_id | Nilai diambil dari kolom action_id , yang diekstrak dari log mentah menggunakan pola grok. |
|
event1.idm.read_only_udm.metadata.product_name | Nilai diambil dari kolom device_product , yang diekstrak dari log mentah menggunakan pola grok. Jika kolom kosong, nilai akan dikodekan secara permanen menjadi Secret Server . |
|
event1.idm.read_only_udm.metadata.product_version | Nilai diambil dari kolom device_version , yang diekstrak dari log mentah menggunakan pola grok. |
|
event1.idm.read_only_udm.metadata.vendor_name | Nilai di-hardcode menjadi Thycotic . |
|
event1.idm.read_only_udm.network.ip_protocol | Nilai ditetapkan ke TCP jika kolom input.type adalah tcp . |
|
event1.idm.read_only_udm.observer.application | Nilai diambil dari kolom agent.type jika ada, atau di-hardcode ke Secret Server . |
|
event1.idm.read_only_udm.observer.asset_id | Nilai ditetapkan ke Agent ID: yang digabungkan dengan kolom agent.id . |
|
event1.idm.read_only_udm.observer.hostname | Nilai diambil dari kolom agent.hostname jika ada, atau dari kolom server . |
|
event1.idm.read_only_udm.observer.platform_version | Nilai diambil dari kolom agent.version . |
|
event1.idm.read_only_udm.observer.user.userid | Nilai diambil dari kolom agent.name . |
|
event1.idm.read_only_udm.principal.asset.asset_id | Nilai ditetapkan ke ID: yang digabungkan dengan kolom host.id . |
|
event1.idm.read_only_udm.principal.asset.hardware.cpu_platform | Nilai diambil dari kolom host.architecture . |
|
event1.idm.read_only_udm.principal.asset.hostname | Nilai diambil dari kolom server jika ada, atau dari kolom host.hostname . |
|
event1.idm.read_only_udm.principal.asset.ip | Nilai diambil dari kolom src jika ada, atau dari kolom src_ip . |
|
event1.idm.read_only_udm.principal.hostname | Nilai diambil dari kolom host.hostname jika ada, atau dari kolom server . |
|
event1.idm.read_only_udm.principal.ip | Nilai diambil dari kolom src jika ada, atau dari kolom src_ip atau dari kolom host.ip . |
|
event1.idm.read_only_udm.principal.mac | Nilai diambil dari kolom host.mac . |
|
event1.idm.read_only_udm.principal.platform | Nilai ditetapkan ke LINUX jika kolom host_os_platform adalah centos , atau ditetapkan ke nilai huruf besar dari kolom host_os_platform . |
|
event1.idm.read_only_udm.principal.platform_patch_level | Nilai diambil dari kolom host.os.kernel . |
|
event1.idm.read_only_udm.principal.platform_version | Nilai diambil dari kolom host.os.version . |
|
event1.idm.read_only_udm.principal.port | Nilai diambil dari kolom src_port , yang diekstrak dari kolom log.source.address menggunakan pola grok. |
|
event1.idm.read_only_udm.principal.user.user_display_name | Nilai diambil dari kolom cs4 di kolom msg log mentah. |
|
event1.idm.read_only_udm.principal.user.userid | Nilai diambil dari kolom suser di kolom msg pada log mentah, atau dari kolom By User jika thycotic_event adalah USER - LOGIN , USER - LOGOUT , USER - LOGINFAILURE , atau USER - EDIT . |
|
event1.idm.read_only_udm.security_result.action | Nilai diambil dari kolom Action di kolom msg log mentah. Nilai ini juga dapat disetel ke ALLOW atau BLOCK berdasarkan nilai thycotic_event . |
|
event1.idm.read_only_udm.security_result.description | Nilai diambil dari kolom temp_message , yang berisi bagian yang tersisa dari kolom msg setelah mengekstrak kolom lain. |
|
event1.idm.read_only_udm.security_result.severity | Nilai ditentukan berdasarkan kolom syslog_severity . Misalnya, jika syslog_severity berisi error atau warning , tingkat keparahan ditetapkan ke HIGH . Jika thycotic_event adalah System Log , tingkat keparahan akan ditetapkan ke INFORMATIONAL . |
|
event1.idm.read_only_udm.security_result.severity_details | Nilai diambil dari kolom syslog_severity . |
|
event1.idm.read_only_udm.target.file.full_path | Nilai dibuat dengan menggabungkan kolom cs3 dan fname dengan pemisah / jika kedua kolom ada. Jika hanya ada satu kolom, nilai diambil dari kolom tersebut. |
|
event1.idm.read_only_udm.target.resource.product_object_id | Nilai diambil dari kolom type_id . |
|
event1.idm.read_only_udm.target.user.userid | Nilai diambil dari kolom item_name di kolom msg pada log mentah, atau dari kolom Item Name jika thycotic_event adalah USER - LOGIN , USER - LOGOUT , USER - LOGINFAILURE , atau USER - EDIT . |
|
events.timestamp.seconds | Nilai ini berasal dari kolom rt jika ada, atau dari kolom ts . Kedua kolom diekstrak dari log mentah menggunakan pola grok. |
|
rt | event1.idm.read_only_udm.metadata.event_timestamp.seconds | Nilai diambil dari kolom rt di kolom msg log mentah dan digunakan untuk menetapkan stempel waktu peristiwa. |
src | event1.idm.read_only_udm.principal.asset.ip, event1.idm.read_only_udm.principal.ip | Nilai diambil dari kolom src di kolom msg log mentah. |
src_ip | event1.idm.read_only_udm.principal.asset.ip, event1.idm.read_only_udm.principal.ip | Nilai diambil dari kolom src_ip , yang diekstrak dari kolom log.source.address menggunakan pola grok. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.