Mengumpulkan log CyberArk

Didukung di:

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

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat agen BindPlane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. 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

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sc query observiq-otel-collector
    

    Status layanan harus RUNNING.

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. Jalankan perintah berikut:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sudo systemctl status observiq-otel-collector
    

    Status 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.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edit file konfigurasi

  1. Ganti seluruh konten config.yaml dengan 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/cyberark
    
  2. Ganti placeholder berikut:

    • Konfigurasi penerima:

      • listen_address: Alamat IP dan port yang akan diproses:

        • 0.0.0.0:514 untuk memproses semua antarmuka di port 514 (memerlukan akses root di Linux)
        • 0.0.0.0:1514 untuk memproses port yang tidak memiliki hak istimewa (direkomendasikan untuk non-root Linux)
      • Opsi jenis penerima:

        • udplog untuk syslog UDP (default untuk CyberArk Vault)
        • tcplog untuk syslog TCP
        • Gunakan tcplog jika CyberArk Vault dikonfigurasi dengan SyslogServerProtocol=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
      • customer_id: ID pelanggan Google SecOps

      • endpoint: 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

Simpan file konfigurasi

Setelah mengedit, simpan file:

  • Linux: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X
  • Windows: Klik File > Save

Mulai ulang agen Bindplane untuk menerapkan perubahan

  • Untuk memulai ulang agen Bindplane di Linux:

    1. Jalankan perintah berikut:

      sudo systemctl restart observiq-otel-collector
      
    2. Pastikan layanan sedang berjalan:

      sudo systemctl status observiq-otel-collector
      
    3. Periksa log untuk mengetahui error:

      sudo journalctl -u observiq-otel-collector -f
      
  • Untuk memulai ulang agen Bindplane di Windows:

    1. Pilih salah satu opsi berikut:

      • Command Prompt atau PowerShell sebagai administrator:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • Konsol layanan:

        1. Tekan Win+R, ketik services.msc, lalu tekan Enter.
        2. Temukan observIQ OpenTelemetry Collector.
        3. Klik kanan, lalu pilih Mulai Ulang.
    2. Pastikan layanan sedang berjalan:

      sc query observiq-otel-collector
      
    3. Periksa 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

  1. Login ke mesin host CyberArk Vault Server dengan hak istimewa administrator.
  2. Buka folder penginstalan CyberArk Vault Server (misalnya, `C:\Program Files (x86)\PrivateArk\Server\Conf`).
  3. Buka file DBParm.ini di editor teks.
  4. Salin bagian [SYSLOG] dari file DBParm.sample.ini (berada di folder yang sama) dan tempel di bagian bawah DBParm.ini.
  5. 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-999
    
  6. Ganti 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:

      • UDP untuk syslog UDP (default)
      • TCP untuk syslog TCP
    • SyslogTranslatorFile: Masukkan file penerjemah XSL untuk format CEF:

      • Syslog\Arcsight.sample.xsl untuk output CEF standar (direkomendasikan)
    • SyslogMessageCodeFilter: Masukkan kode pesan yang akan diteruskan:

      • 0-999 untuk meneruskan semua acara
      • Tentukan kode atau rentang individual (misalnya, 1,2,3,5-10,30) untuk memfilter acara tertentu
    • UseLegacySyslogFormat: Setel ke No untuk format RFC 5424.

  7. Simpan file DBParm.ini.

  8. Mulai ulang layanan PrivateArk Server:

    1. Buka Windows Services (services.msc).
    2. Temukan layanan CyberArk Vault Disaster Recovery dan hentikan (jika sedang berjalan).
    3. Cari layanan PrivateArk Server.
    4. Klik kanan, lalu pilih Mulai Ulang.
    5. Mulai ulang layanan CyberArk Vault Disaster Recovery (jika berlaku).

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:

  1. Login ke konsol PVWA (Password Vault Web Access).
  2. Buka Administrasi > Opsi Konfigurasi > Privileged Threat Analytics.
  3. 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.
  4. Klik Simpan.

File penerjemah XSL yang tersedia

  • Subfolder Syslog di folder penginstalan CyberArk Server berisi file penerjemah XSL contoh:

    File Penerjemah Format Deskripsi
    Arcsight.sample.xsl CEF Format CEF standar (direkomendasikan untuk Google SecOps)
    SplunkCIM.xsl CIM Format Splunk Common Information Model
    PTA.xsl Kustom Format untuk meneruskan ke CyberArk PTA
    XSIAM.xsl CEF Format Palo Alto Cortex XSIAM

Memverifikasi penerusan syslog

  1. Setelah memulai ulang layanan PrivateArk Server, lakukan tindakan pengujian di Vault (misalnya, ambil sandi atau login ke PVWA).
  2. 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"
  3. 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.