Mengumpulkan log CyberArk
Dokumen ini menjelaskan cara menyerap log CyberArk ke Google Security Operations menggunakan agen Bindplane.
CyberArk Privileged Access Manager (PAM) adalah solusi keamanan akses istimewa tingkat perusahaan yang mengamankan, mengelola, dan memantau akun dan kredensial istimewa di seluruh lingkungan cloud dan lokal. Solusi ini menyediakan penyimpanan kredensial, isolasi dan pemantauan sesi, deteksi ancaman melalui Privileged Threat Analytics (PTA), dan pencatatan audit yang komprehensif untuk semua aktivitas istimewa.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Windows Server 2016 atau yang lebih baru, atau host Linux dengan
systemd - Konektivitas jaringan antara agen Bindplane dan CyberArk Vault Server
- Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses administratif ke CyberArk Vault Server (akses ke folder penginstalan
Server\Conf) - CyberArk Vault versi 10.0 atau yang lebih baru
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 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
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" /quietTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sc query observiq-otel-collectorStatus layanan harus RUNNING.
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.shTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sudo systemctl status observiq-otel-collectorStatus layanan harus aktif (berjalan).
Referensi penginstalan tambahan
Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.
Konfigurasi agen BindPlane untuk menyerap syslog dan mengirimkannya ke Google SecOps
Cari file konfigurasi
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edit file konfigurasi
Ganti seluruh konten
config.yamldengan konfigurasi berikut:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/cyberark: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'your-customer-id' endpoint: malachiteingestion-pa.googleapis.com log_type: CYBERARK raw_log_field: body service: pipelines: logs/cyberark_to_chronicle: receivers: - udplog exporters: - chronicle/cyberarkGanti placeholder berikut:
Konfigurasi penerima:
listen_address: Alamat IP dan port yang akan diproses:0.0.0.0:514untuk memproses semua antarmuka di port 514 (memerlukan akses root di Linux)0.0.0.0:1514untuk memproses port yang tidak memiliki hak istimewa (direkomendasikan untuk non-root Linux)
Opsi jenis penerima:
udploguntuk syslog UDP (default untuk CyberArk Vault)tcploguntuk syslog TCP- Gunakan
tcplogjika CyberArk Vault dikonfigurasi denganSyslogServerProtocol=TCP
Konfigurasi pengekspor:
creds_file_path: Jalur lengkap ke file autentikasi penyerapan Google SecOps:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: ID pelanggan Google SecOpsendpoint: URL endpoint regional:- Amerika Serikat:
malachiteingestion-pa.googleapis.com - Eropa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Lihat Endpoint Regional untuk mengetahui daftar lengkapnya
- Amerika Serikat:
Simpan file konfigurasi
Setelah mengedit, simpan file:
- Linux: Tekan
Ctrl+O, laluEnter, laluCtrl+X - Windows: Klik File > Save
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux:
Jalankan perintah berikut:
sudo systemctl restart observiq-otel-collectorPastikan layanan sedang berjalan:
sudo systemctl status observiq-otel-collectorPeriksa log untuk mengetahui error:
sudo journalctl -u observiq-otel-collector -f
Untuk memulai ulang agen Bindplane di Windows:
Pilih salah satu opsi berikut:
Command Prompt atau PowerShell sebagai administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorKonsol layanan:
- Tekan
Win+R, ketikservices.msc, lalu tekan Enter. - Temukan observIQ OpenTelemetry Collector.
- Klik kanan, lalu pilih Mulai Ulang.
- Tekan
Pastikan layanan sedang berjalan:
sc query observiq-otel-collectorPeriksa log untuk mengetahui error:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Mengonfigurasi penerusan syslog CyberArk
CyberArk Vault mengirim peristiwa audit dalam CEF (Common Event Format) melalui syslog. Server Vault mengonversi catatan audit XML menjadi pesan CEF menggunakan file penerjemah XSL, lalu meneruskannya ke agen Bindplane.
Mengonfigurasi Server Vault untuk mengirim syslog
- Login ke mesin host CyberArk Vault Server dengan hak istimewa administrator.
- Buka folder penginstalan CyberArk Vault Server (misalnya, `C:\Program Files (x86)\PrivateArk\Server\Conf`).
- Buka file
DBParm.inidi editor teks. - Salin bagian
[SYSLOG]dari fileDBParm.sample.ini(berada di folder yang sama) dan tempel di bagian bawahDBParm.ini. Konfigurasi parameter syslog berikut di bagian
[SYSLOG]:[SYSLOG] SyslogServerIP=<BINDPLANE_AGENT_IP> SyslogServerPort=514 SyslogServerProtocol=UDP UseLegacySyslogFormat=No SyslogTranslatorFile=Syslog\Arcsight.sample.xsl SyslogMessageCodeFilter=0-999Ganti nilai berikut:
- SyslogServerIP: Masukkan alamat IP host agen Bindplane (misalnya,
192.168.1.100). - SyslogServerPort: Masukkan port yang cocok dengan agen Bindplane
listen_address(misalnya,514). SyslogServerProtocol: Pilih protokol:
UDPuntuk syslog UDP (default)TCPuntuk syslog TCP
SyslogTranslatorFile: Masukkan file penerjemah XSL untuk format CEF:
Syslog\Arcsight.sample.xsluntuk output CEF standar (direkomendasikan)
SyslogMessageCodeFilter: Masukkan kode pesan yang akan diteruskan:
0-999untuk meneruskan semua acara- Tentukan kode atau rentang individual (misalnya,
1,2,3,5-10,30) untuk memfilter acara tertentu
UseLegacySyslogFormat: Setel ke
Nountuk format RFC 5424.
- SyslogServerIP: Masukkan alamat IP host agen Bindplane (misalnya,
Simpan file
DBParm.ini.Mulai ulang layanan PrivateArk Server:
- Buka Windows Services (
services.msc). - Temukan layanan CyberArk Vault Disaster Recovery dan hentikan (jika sedang berjalan).
- Cari layanan PrivateArk Server.
- Klik kanan, lalu pilih Mulai Ulang.
- Mulai ulang layanan CyberArk Vault Disaster Recovery (jika berlaku).
- Buka Windows Services (
Meneruskan syslog ke beberapa tujuan
Untuk meneruskan peristiwa syslog Vault ke agen Bindplane dan tujuan lain (misalnya, PTA), tentukan beberapa alamat IP dan file penerjemah yang dipisahkan dengan koma:
SyslogServerIP=<BINDPLANE_AGENT_IP>,<PTA_SERVER_IP> SyslogTranslatorFile=Syslog\Arcsight.sample.xsl,Syslog\PTA.xsl
Mengonfigurasi penerusan syslog Privileged Threat Analytics (PTA) (opsional)
Jika Anda juga ingin meneruskan pemberitahuan keamanan PTA ke Google SecOps, konfigurasikan integrasi SIEM PTA:
- Login ke konsol PVWA (Password Vault Web Access).
- Buka Administrasi > Opsi Konfigurasi > Privileged Threat Analytics.
- Di bagian SIEM, konfigurasi hal berikut:
- IP Server Syslog: Masukkan alamat IP host agen Bindplane.
- Syslog Server Port: Masukkan port yang cocok dengan konfigurasi agen Bindplane (misalnya,
514). - Protocol: Pilih UDP atau TCP agar sesuai dengan penerima agen Bindplane.
- Format: Pilih CEF.
- Klik Simpan.
File penerjemah XSL yang tersedia
Subfolder
Syslogdi folder penginstalan CyberArk Server berisi file penerjemah XSL contoh:File Penerjemah Format Deskripsi Arcsight.sample.xslCEF Format CEF standar (direkomendasikan untuk Google SecOps) SplunkCIM.xslCIM Format Splunk Common Information Model PTA.xslKustom Format untuk meneruskan ke CyberArk PTA XSIAM.xslCEF Format Palo Alto Cortex XSIAM
Memverifikasi penerusan syslog
- Setelah memulai ulang layanan PrivateArk Server, lakukan tindakan pengujian di Vault (misalnya, ambil sandi atau login ke PVWA).
- Periksa log agen Bindplane untuk pesan syslog masuk:
- Linux:
sudo journalctl -u observiq-otel-collector -f - Windows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Linux:
Pastikan pesan berformat CEF muncul di log, misalnya:
CEF:0|Cyber-Ark|Vault|10.0|22|CPM password retrieved|5|suser=Administrator src=10.0.0.1 fname=Root\operating system-server1-admin
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| RequestId_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| Category_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| ExtraDetails_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| CAPolicy_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| line_number_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| pasvc_action_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| control_socket_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| data_socket_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| timeout_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| vault_name_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| class_name_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| status_label | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| Publisher_Event | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| Last_Event | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| Total_Events | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| cs1_var | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| cs3_var | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| app_var | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| reason_var | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| cs5_var | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| cs4_var | additional.fields | Dipetakan sebagai pasangan nilai kunci |
| _auth_mechanism | extensions.auth.mechanism | Digabungkan secara langsung |
| dvc | intermediary.ip | Jika nilai cocok dengan pola alamat IP |
| EventName | metadata.description | Jika proses tidak cocok dengan pola exe |
| act | metadata.description | Jika fname kosong |
| EventMessage | metadata.description | Jika act kosong |
| LastEventDate | metadata.event_timestamp | Dikonversi menggunakan format ISO8601 atau yyyy-MM-ddTHH:mm:ss |
| _temp_datetime | metadata.event_timestamp | Dikonversi menggunakan format dd/MM/yyyy HH:mm:ss |
| datetime | metadata.event_timestamp | Dikonversi menggunakan format ISO8601 atau MMM d HH:mm:ss |
| _event_type | metadata.event_type | Diganti namanya secara langsung |
| nama | metadata.event_type | Ditetapkan berdasarkan kondisi: FILE_CREATION untuk "Simpan File", USER_LOGIN untuk "Login", NETWORK_CONNECTION jika has_principal dan has_target, FILE_UNCATEGORIZED jika has_target_file_details, PROCESS_UNCATEGORIZED jika has_target_process_details, STATUS_UPDATE jika hanya has_principal, NETWORK_UNCATEGORIZED jika app_error dan has_principal dan has_target, jika tidak, GENERIC_EVENT |
| EventType | metadata.product_event_type | Dipetakan secara langsung |
| signature_id, name | metadata.product_event_type | Digabungkan dari signature_id dan name |
| LastEventID | metadata.product_log_id | Dikonversi ke string |
| tid | metadata.product_log_id | Dipetakan secara langsung |
| produk | metadata.product_name | Diganti namanya secara langsung |
| versi | metadata.product_version | Diganti namanya secara langsung |
| vendor | metadata.vendor_name | Diganti namanya secara langsung |
| host | observer.hostname | Dipetakan secara langsung |
| LastEventUserName | principal.administrative_domain | Diekstrak menggunakan pola grok domain\pengguna |
| ApplicationType | principal.application | Dipetakan secara langsung |
| shost | principal.asset.hostname | Jika nilai tidak cocok dengan pola alamat IP |
| shost | principal.asset.hostname | Penggantian jika dhost kosong |
| shost | principal.asset.ip | Jika nilai cocok dengan pola alamat IP |
| src | principal.asset.ip | Dipetakan secara langsung |
| ip_address | principal.asset.ip | Dipetakan secara langsung |
| shost | principal.asset.ip | Penggantian jika dhost kosong |
| shost | principal.ip | Jika nilai cocok dengan pola alamat IP, digabungkan |
| src | principal.ip | Digabungkan secara langsung |
| ip_address | principal.ip | Digabungkan secara langsung |
| Lokasi | principal.location.name | Dipetakan secara langsung |
| LastEventSourceName | principal.platform | Ditetapkan ke WINDOWS jika nilai cocok dengan pola Windows |
| EventName | principal.process.command_line | Jika proses cocok dengan pola exe |
| LastEventPackageName | principal.resource.name | Jika nilai bukan EventName |
| ApplicationType | principal.user.attribute.roles | Tetapkan ke ADMINISTRATOR jika nilai sama dengan AdminTask |
| LastEventUserName | principal.user.user_display_name | Bagian pengguna diekstrak menggunakan pola grok domain\pengguna |
| user_name | principal.user.user_display_name | Dipetakan secara langsung |
| SourceUser | principal.user.userid | Dipetakan secara langsung |
| suser | principal.user.userid | Jika peristiwa bukan jenis USER_ |
| usrName | principal.user.userid | Dipetakan secara langsung |
| _action | security_result.action | Digabungkan secara langsung |
| nama | security_result.action | Disetel ke BLOCK jika nilai dimulai dengan "Failure" atau "Failed", jika tidak ALLOW |
| msg | security_result.description | Dipetakan secara langsung |
| msg, reason | security_result.description | Digabungkan dari msg dan reason jika kondisi gagal |
| _sec_result_description | security_result.description | Dipetakan secara langsung |
| PolicyName | security_result.rule_name | Dipetakan secara langsung |
| cs2 | security_result.rule_name | Dipetakan secara langsung |
| tingkat keseriusan, | security_result.severity | Tetapkan ke RENDAH jika nilai <= 5, SEDANG jika nilai <= 8, TINGGI jika tidak |
| sev | security_result.severity | Dipetakan secara langsung |
| sev | security_result.severity_details | Dipetakan secara langsung |
| Alasan | security_result.summary | Dipetakan secara langsung |
| nama | security_result.summary | Dipetakan secara langsung |
| dhost | target.asset.hostname | Jika nilai tidak cocok dengan pola alamat IP |
| shost | target.asset.hostname | Penggantian jika dhost kosong |
| dhost | target.asset.ip | Jika nilai cocok dengan pola alamat IP |
| GatewayStation | target.asset.ip | Dipetakan secara langsung |
| shost | target.asset.ip | Penggantian jika dhost kosong |
| FileQualifier | target.asset_id | Diawali dengan "ID ASET:" dan dikonversi menjadi string |
| File | target.file.full_path | Dipetakan secara langsung |
| file_path | target.file.full_path | Dipetakan secara langsung |
| LastEventSourceName | target.file.full_path | Jika nilai dimulai dengan "C:" |
| fname | target.file.full_path | Dipetakan secara langsung |
| Hash | target.file.sha1 | Awalan "SHA1##" dihapus dan nilai diubah menjadi huruf kecil, jika jenis SHA1 |
| GatewayStation | target.ip | Digabungkan secara langsung |
| pid | target.process.pid | Dikonversi ke string |
| Aman | target.resource.name | Dipetakan secara langsung |
| user_name | target.user.user_display_name | Dipetakan secara langsung |
| TargetUser | target.user.userid | Dipetakan secara langsung |
| duser | target.user.userid | Dipetakan secara langsung |
| suser | target.user.userid | Jika peristiwa berjenis USER_ |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.