Mengumpulkan log Delinea Secret Server
Dokumen ini menjelaskan cara mengumpulkan log Secret Server Delinea (sebelumnya Thycotic). Parser mengubah log mentah menjadi format terstruktur yang sesuai dengan UDM Google Security Operations. Pertama, alat ini mengekstrak kolom utama seperti stempel waktu, jenis peristiwa, dan informasi pengguna, lalu menggunakan logika kondisional 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 memiliki instance Google Security Operations.
- Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
. - Jika berjalan di balik proxy, pastikan port firewall terbuka.
- Pastikan Anda memiliki akses dengan hak istimewa ke Delinea.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer. Simpan file dengan aman di sistem tempat Agen Bindplane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal Agen Bindplane
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 ini.
Mengonfigurasi Agen Bindplane untuk menyerap Syslog dan mengirimnya 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 with your specific IP and port listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Path to the ingestion authentication file creds: '/path/to/your/ingestion-auth.json' # Your Chronicle customer ID customer_id: 'your_customer_id' endpoint: malachiteingestion-pa.googleapis.com ingestion_labels: log_type: SYSLOG namespace: thycotic raw_log_field: body 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 Mendapatkan 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 Delinea Secret Server untuk Mengirim Log menggunakan Syslog
- Login ke Delinea Secret Server dengan kredensial administrator.
- Buka Admin > Configuration.
- Klik Edit.
- Centang kotak Aktifkan logging Syslog/CEF dan tentukan detail berikut:
- Server Syslog/CEF: masukkan alamat IP Bindplane Anda.
- Protokol Syslog/CEF: pilih UDP atau TCP (bergantung pada konfigurasi Bindplane Anda).
- Port Syslog/CEF: masukkan nomor port yang dikonfigurasi Bindplane untuk diproses.
- Klik Simpan.
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" dari log mentah. |
Menurut Pengguna | event1.idm.read_only_udm.principal.user.userid | Nilai diambil dari kolom "By User" di kolom "msg" dari log mentah. |
ID Penampung | event1.idm.read_only_udm.principal.asset.asset_id | Nilai diambil dari kolom "Container Id" di kolom "msg" dari log mentah dan diawali dengan "container_id:". |
Nama container | event1.idm.read_only_udm.principal.resource.name | Nilai diambil dari kolom "Nama penampung" di kolom "msg" dari log mentah. |
cs2 | event1.idm.read_only_udm.additional.fields[].value.string_value | Nilai diambil dari kolom "cs2" di kolom "msg" dari log mentah. |
cs3 | event1.idm.read_only_udm.target.file.full_path | Nilai diambil dari kolom "cs3" di kolom "msg" dari log mentah. |
cs4 | event1.idm.read_only_udm.principal.user.user_display_name | Nilai diambil dari kolom "cs4" di kolom "msg" dari log mentah. |
Detail | event1.idm.read_only_udm.additional.fields[].value.string_value | Nilai diambil dari kolom "Details" di kolom "msg" dari log mentah. |
fname | event1.idm.read_only_udm.target.file.full_path | Nilai diambil dari kolom "fname" di kolom "msg" dari 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" dari log mentah. |
Nama Item | event1.idm.read_only_udm.target.user.userid | Nilai diambil dari kolom "Item Name" di kolom "msg" dari log mentah. |
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode ke "fname". | |
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode ke "Grup atau Pengguna". | |
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode ke "Details". | |
event1.idm.read_only_udm.additional.fields[].key | Nilai di-hardcode ke "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 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 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, nilainya di-hardcode ke "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 ini di-hardcode ke "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, jika tidak, nilai tersebut 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, jika tidak, 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", jika tidak, nilai akan ditetapkan ke nilai huruf besar 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" dari log mentah. | |
event1.idm.read_only_udm.principal.user.userid | Nilai diambil dari kolom "suser" di kolom "msg" dari 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" dari 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 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 akan 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" dari log mentah, atau dari kolom "Item Name" jika "thycotic_event" adalah "USER - LOGIN", "USER - LOGOUT", "USER - LOGINFAILURE", atau "USER - EDIT". | |
events.timestamp.seconds | Nilai 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" dari 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. |
Perubahan
2024-06-04
- Penguraian yang ditingkatkan untuk log yang tidak diuraikan.
- Memetakan kolom "Host" dan "server" ke kolom UDM yang terkait dengan nama host.
- Memetakan "Container_Id" dan "Container_name" ke kolom UDM yang terkait dengan nama aset dan resource.
2023-09-22
- Menyesuaikan logika penguraian untuk menangani log yang tidak diuraikan dengan lebih baik.
- Menambahkan penanganan error untuk kolom "rt" dan "ts".
2023-06-12
- Memperbarui logika penguraian untuk mendukung format log baru.
- Memetakan kolom "fname", "cs2", dan "details" ke kolom UDM untuk informasi tambahan dan ringkasan hasil keamanan.
2022-08-01
- Menambahkan dukungan untuk mengurai log dalam format JSON.
- Memetakan banyak kolom dari log JSON ke kolom UDM yang sesuai, termasuk kolom yang terkait dengan informasi perangkat dan agen, alamat IP, detail host, informasi platform, dan tingkat keparahan keamanan.
- Menambahkan penguraian untuk log dengan jenis "SECRET - SECRETPASSWORDCHANGEFAILURE".
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.