Mengumpulkan log Delinea Secret Server

Didukung di:

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

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Proses Transfer. 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

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
    

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
    

Referensi penginstalan tambahan

Mengonfigurasi Agen Bindplane untuk menyerap Syslog dan mengirimnya ke Google SecOps

  1. 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).
  2. 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
    
  3. Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.

  4. Ganti <customer_id> dengan ID pelanggan yang sebenarnya.

  5. 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

  1. Login ke Delinea Secret Server dengan kredensial administrator.
  2. Buka Admin > Configuration.
  3. Klik Edit.
  4. 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.
  5. 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.