Mengumpulkan log Carbon Black App Control

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Carbon Black App Control. Parser mendukung format CEF dan JSON. Pertama, CEF mencoba mengurai input sebagai JSON; jika gagal, CEF akan memperlakukan input sebagai CEF, melakukan penggantian teks, mengekstrak kolom CEF, memetakan kolom tersebut ke UDM, dan menetapkan jenis peristiwa ke "GENERIC_EVENT". Jika tidak, file ini akan menggunakan file penyertaan pemetaan UDM khusus JSON yang terpisah.

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.
  • Server Carbon Black App Control (CB Protection) (Direkomendasikan versi 8.x atau yang lebih baru).
  • Pastikan Anda memiliki akses dengan hak istimewa ke Carbon Black App Control.

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 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:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:11592"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/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
            ingestion_labels:
                log_type: JSON
                namespace: cb_app_control
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                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 Kontrol Aplikasi CB untuk Mengirim Log Syslog

  1. Login ke konsol Kontrol Aplikasi CB dengan akun Administrator.
  2. Buka Admin > Konfigurasi Sistem > Logging Eksternal
  3. Di bagian External Event Logging:
    • Aktifkan Logging Syslog: centang kotak Syslog Enabled.
    • Alamat Server: <Bindplane Server IP>.
    • Port: <Bindplane Server PORT>.
    • Protocol: pilih TCP.
    • Format Syslog: pilih JSON.
  4. Di bagian Opsi Logging Peristiwa, pilih jenis log yang akan dikirim:
    • Pelanggaran Kebijakan
    • Peristiwa Pemantauan Integritas File (FIM)
    • Peristiwa Autentikasi Pengguna
    • Data Threat Intelligence
  5. Klik Simpan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
ABId principal.asset.asset_id ABId dari log JSON digunakan sebagai bagian dari ID aset dalam format PRODUCT_SPECIFIC_ID:{ABId}-{Bit9Server}.
Bit9Server principal.asset.asset_id Digunakan sebagai bagian dari ID aset akun utama, yang digabungkan dengan ABId. Juga digunakan untuk membuat kolom metadata.url_back_to_product.
CommandLine about.process.command_line Dipetakan secara langsung.
EventType metadata.product_event_type Dipetakan dengan EventTypeId yang sesuai dalam tanda kurung siku (mis., "[5] - Discovery").
EventTypeId metadata.product_event_type Digunakan dengan EventType untuk mengisi metadata.product_event_type.
EventSubType metadata.description Ditambahkan ke kolom metadata.description.
EventSubTypeId metadata.description Tidak dipetakan secara eksplisit, tetapi berpotensi berkontribusi pada deskripsi berdasarkan logika internal parser.
externalId metadata.product_log_id Dipetakan secara langsung.
FileHash about.file.sha256 Dipetakan secara langsung.
FileName additional.fields (dengan kunci "FileName") Ditambahkan sebagai kolom tambahan. Juga digunakan sebagai bagian dari informasi file di metadata.description untuk beberapa peristiwa.
FilePath about.file.full_path Dipetakan secara langsung.
FileThreat additional.fields (dengan kunci "fileThreat") Ditambahkan sebagai kolom tambahan.
FileTrust additional.fields (dengan kunci "fileTrust") Ditambahkan sebagai kolom tambahan.
HostId principal.asset.asset_id Digunakan untuk membuat URL kembali ke produk di metadata.url_back_to_product.
HostName target.hostname Dipetakan secara langsung.
HostIP target.ip Dipetakan secara langsung.
Message metadata.description Dipetakan secara langsung.
PathName about.file.full_path Dipetakan secara langsung.
Platform target.platform Dipetakan ke nilai enum WINDOWS.
Policy additional.fields (dengan kunci "Kebijakan") Ditambahkan sebagai kolom tambahan.
PolicyId additional.fields (dengan kunci "PolicyId") Ditambahkan sebagai kolom tambahan.
ProcessKey additional.fields (dengan kunci "ProcessKey") Ditambahkan sebagai kolom tambahan.
ProcessPath about.process.command_line Dipetakan secara langsung.
ProcessPathName about.process.command_line Dipetakan secara langsung.
ProcessThreat additional.fields (dengan kunci "ProcessThreat") Ditambahkan sebagai kolom tambahan.
ProcessTrust additional.fields (dengan kunci "ProcessTrust") Ditambahkan sebagai kolom tambahan.
RuleName additional.fields (dengan kunci "ruleName") Ditambahkan sebagai kolom tambahan.
Timestamp metadata.event_timestamp Dipetakan secara langsung.
UserName target.user.user_display_name Dipetakan secara langsung.
UserSid principal.user.userid Dipetakan secara langsung.
agent.ephemeral_id observer.labels (dengan kunci "ephemeral_id") Ditambahkan sebagai label observer.
agent.name principal.hostname, observer.hostname, observer.user.userid Dipetakan ke beberapa kolom.
agent.type observer.application Dipetakan secara langsung.
agent.version metadata.product_version Dipetakan langsung untuk log JSON. Untuk log CEF, diekstrak dari pesan CEF.
cat security_result.category_details Dipetakan secara langsung.
cs1 additional.fields (dengan kunci "rootHash" atau cs1Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs1Label.
cs1Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs1.
cs2 additional.fields (dengan kunci "installerFilename" atau cs2Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs2Label.
cs2Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs2.
cs3 additional.fields (dengan kunci "Kebijakan" atau cs3Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs3Label.
cs3Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs3.
cs5 additional.fields (dengan kunci "ruleName" atau cs5Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs5Label.
cs5Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs5.
cfp1 additional.fields (dengan kunci "fileTrust" atau cfp1Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cfp1Label.
cfp1Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cfp1.
cfp2 additional.fields (dengan kunci "processTrust" atau cfp2Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cfp2Label.
cfp2Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cfp2.
deviceProcessName about.process.command_line Dipetakan secara langsung.
dhost target.hostname Dipetakan secara langsung.
dst target.ip Dipetakan secara langsung.
duser target.user.user_display_name Dipetakan secara langsung.
dvchost about.hostname Dipetakan secara langsung.
eventId additional.fields (dengan kunci "eventId") Ditambahkan sebagai kolom tambahan.
fileHash about.file.sha256 Dipetakan secara langsung.
flexString1 additional.fields (dengan kunci "fileThreat" atau flexString1Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh flexString1Label.
flexString1Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh flexString1.
flexString2 additional.fields (dengan kunci "processThreat" atau flexString2Label lainnya) Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh flexString2Label.
flexString2Label additional.fields Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh flexString2.
fname additional.fields (dengan kunci "fname") Ditambahkan sebagai kolom tambahan. Juga digunakan sebagai bagian dari informasi file di metadata.description untuk beberapa peristiwa.
host.architecture target.asset.hardware.cpu_platform Dipetakan secara langsung.
host.hostname target.asset.asset_id Digunakan sebagai bagian dari ID aset target ("ID Host: {host.hostname}"). Juga dipetakan ke target.hostname.
host.id target.asset.asset_id Digunakan sebagai bagian dari ID aset target ("ID Host: {host.id}").
host.ip target.asset.ip Dipetakan secara langsung.
host.mac target.mac Dipetakan secara langsung.
host.name target.hostname Dipetakan secara langsung.
host.os.build target.platform_patch_level Dipetakan secara langsung.
host.os.kernel target.platform_patch_level Ditambahkan ke target.platform_patch_level.
host.os.platform target.platform Dipetakan ke nilai enum WINDOWS.
host.os.type target.platform Dipetakan ke nilai enum WINDOWS.
host.os.version target.platform_version Dipetakan secara langsung.
log.file.path target.file.full_path Dipetakan secara langsung.
metadata.event_type metadata.event_type Tetapkan ke "GENERIC_EVENT" untuk log CEF, "SYSTEM_AUDIT_LOG_UNCATEGORIZED" untuk log JSON.
metadata.log_type metadata.log_type Tetapkan ke "CB_EDR".
metadata.product_log_id metadata.product_log_id Dipetakan dari externalId untuk log CEF. Tidak berlaku untuk log JSON.
metadata.product_name metadata.product_name Tetapkan ke "Kontrol Aplikasi" untuk log CEF, "CB_APP_CONTROL" untuk log JSON.
metadata.product_version metadata.product_version Diekstrak dari pesan CEF untuk log CEF. Dipetakan dari agent.version untuk log JSON.
metadata.vendor_name metadata.vendor_name Tetapkan ke "Carbon Black".
msg metadata.description, additional.fields Digunakan untuk mengisi metadata.description dan berpotensi kolom tambahan berdasarkan logika parser.
sproc principal.process.command_line Dipetakan secara langsung.
metadata.url_back_to_product metadata.url_back_to_product Dibuat menggunakan kolom Bit9Server dan HostId untuk log JSON. Tidak berlaku untuk log CEF.
security_result.severity security_result.severity Tetapkan ke MEDIUM.
timestamp events.timestamp Dipetakan langsung untuk log JSON. Untuk log CEF, logika parser menentukan stempel waktu berdasarkan kolom rt log mentah jika tersedia, atau collection_time jika rt tidak ada.

Perubahan

2022-07-01

  • Penyempurnaan
  • Memetakan kolom 'agent.type' ke 'observer.application'.
  • Memetakan kolom 'agent.name' ke 'observer.user.userid'.
  • Memetakan kolom 'host.name' ke 'observer.hostname'.
  • Memetakan kolom 'agent.type' dan 'agent.name' ke 'observer.asset_id'.
  • Memetakan kolom 'agent.ephemeral_id' ke 'observer.labels'.
  • Memetakan kolom 'host.os.platform' ke 'target.platform'.
  • Memetakan kolom 'host.os.version' ke 'target.platform_version'.
  • Memetakan kolom 'host.os.kernel' ke 'target.platform_patch_level'.
  • Memetakan kolom 'cloud.instance.id' ke 'principal.resource.product_object_id'.
  • Memetakan kolom 'cloud.instance.name' ke 'principal.resource.name'.
  • Memetakan kolom 'host.mac' ke 'target.mac'.
  • Memetakan kolom 'host.ip' ke 'target.asset.ip'.
  • Memetakan kolom 'host.id' ke 'target.asset.asset_id'.
  • Memetakan kolom 'host.architecture' ke 'target.asset.hardware'.
  • Memetakan kolom 'message.UserSID' ke 'principal.user.userid'.
  • Memetakan kolom 'message.ProcessPath' ke 'about.process.command_line'.
  • Memetakan kolom 'cloud.machine.type' dan 'cloud.provider' ke 'principal.resource.attribute.labels'.
  • Menambahkan pemeriksaan bersyarat untuk 'message.Bit9Server' dan 'message.HostId' yang dipetakan ke 'metadata.url_back_to_product'.

2022-06-22

  • Perbaikan Bug
  • Memetakan hostId ke principal.asset_id
  • Mengatribusikan kombinasi Bit9Server dan HostId ke metadata.url_back_to_product

2022-05-19

  • Perbaikan Bug
  • log yang diminta dan diuraikan dalam bug
  • log gagal API yang diuraikan

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.