Mengumpulkan log Streaming CrowdStrike Falcon

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log CrowdStrike Falcon Stream menggunakan Bindplane. Parser mengekstrak pasangan nilai kunci dan memetakan ke Unified Data Model (UDM), menangani pemisah yang berbeda, dan memperkaya data dengan konteks tambahan seperti tingkat keparahan dan jenis peristiwa. Alat ini juga melakukan transformasi tertentu untuk jenis dan kolom peristiwa tertentu, seperti login pengguna dan hasil keamanan.

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 konsol CrowdStrike Falcon.
  • Dapatkan kredensial API untuk Falcon Stream (Client ID dan Client Secret).

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:

    • Temukan 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:54525"
    
    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: SYSLOG
                namespace: cs_stream
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                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 dan mendapatkan Kunci API CrowdStrike

  1. Login ke CrowdStrike Falcon dengan akun yang memiliki hak istimewa.
  2. Buka Menu > Dukungan.
  3. Klik API Clients > KeysSelect.
  4. Klik Tambahkan klien API baru.
  5. Di bagian Cakupan API, pilih Aliran peristiwa, lalu aktifkan opsi Baca.
  6. Klik Tambahkan.
  7. Salin dan simpan Client ID, Client Secret, dan Base URL.

Menginstal Konektor Falcon SIEM

  1. Download paket penginstal RPM untuk sistem operasi Anda.
  2. Penginstalan paket:

    • Sistem operasi CentOS:

      sudo rpm -Uvh <installer package>
      
    • Sistem operasi Ubuntu:

      sudo dpkg -i <installer package>
      
  3. Direktori penginstalan default:

    • Konektor Falcon SIEM - /opt/crowdstrike/.
    • Layanan - /etc/init.d/cs.falconhoseclientd/.

Mengonfigurasi Konektor SIEM untuk meneruskan peristiwa ke Bindplane

  1. Login ke komputer dengan SIEM Connector yang terinstal sebagai pengguna sudo.
  2. Buka direktori /opt/crowdstrike/etc/.
  3. Mengganti nama cs.falconhoseclient.leef.cfg menjadi cs.falconhoseclient.cfg.
    • Konektor SIEM menggunakan konfigurasi cs.falconhoseclient.cfg secara default.
  4. Edit file cs.falconhoseclient.cfg dan ubah atau tetapkan parameter berikut:
    • api_url: - URL Dasar CrowdStrike Falcon Anda yang disalin dari langkah sebelumnya.
    • app_id: - String apa pun sebagai ID untuk terhubung ke Falcon Streaming API; misalnya, ditetapkan ke app_id: SECOPS-LEEF.
    • client_id: - Nilai client_id yang disalin dari langkah sebelumnya.
    • client_secret: - Nilai client_secret yang disalin dari langkah sebelumnya.
    • send_to_syslog_server: true - Mengaktifkan push ke server Syslog.
    • host: - IP atau nama host agen Bindplane.
    • port: - Port agen Bindplane.
  5. Simpan file cs.falconhoseclient.cfg.
  6. Mulai layanan Konektor SIEM:

    • Sistem operasi CentOS:

      sudo service cs.falconhoseclientd start
      
    • Sistem operasi Ubuntu 16.04 atau yang lebih baru:

      sudo systemctl start cs.falconhoseclientd.service
      
  7. Opsional: hentikan layanan Konektor SIEM:

    • Sistem operasi CentOS:

      sudo service cs.falconhoseclientd stop
      
    • Sistem operasi Ubuntu 16.04 atau yang lebih baru:

      sudo systemctl stop cs.falconhoseclientd.service
      
  8. Opsional: mulai ulang layanan Konektor SIEM:

    • Sistem operasi CentOS:

      sudo service cs.falconhoseclientd restart
      
    • Sistem operasi Ubuntu 16.04 atau yang lebih baru:

      sudo systemctl restart cs.falconhoseclientd.service
      

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
cat security_result.category_details Nilai kolom cat dipetakan langsung ke kolom security_result.category_details.
commandLine target.process.command_line Nilai kolom commandLine dipetakan langsung ke kolom target.process.command_line.
cs1 security_result.summary Jika cs1Label adalah "incidentType", nilai cs1 akan dipetakan ke security_result.summary. Jika tidak, nilai akan dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci dari cs1Label dan nilai dari cs1.
cs1Label security_result.detection_fields.key Digunakan sebagai kunci di security_result.detection_fields jika cs1 bukan jenis insiden.
cs2 security_result.detection_fields.value Dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci dari cs2Label dan nilai dari cs2.
cs2Label security_result.detection_fields.key Digunakan sebagai kunci di security_result.detection_fields bersama dengan cs2.
cs3 security_result.detection_fields.value Dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci dari cs3Label dan nilai dari cs3.
cs3Label security_result.detection_fields.key Digunakan sebagai kunci di security_result.detection_fields bersama dengan cs3.
cs4 security_result.about.url Jika cs4Label adalah "falconHostLink", nilai cs4 akan dipetakan ke security_result.about.url. Jika tidak, nilai akan dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci dari cs4Label dan nilai dari cs4.
cs4Label security_result.detection_fields.key Digunakan sebagai kunci di security_result.detection_fields jika cs4 bukan falconHostLink.
description metadata.description Nilai kolom description dipetakan langsung ke kolom metadata.description. Jika kosong, incidentDescription atau msg atau serviceName akan digunakan.
devTime metadata.event_timestamp Nilai kolom devTime diuraikan dan dipetakan ke kolom metadata.event_timestamp.
deviceCustomDate1 metadata.event_timestamp Jika devTime tidak ada, nilai kolom deviceCustomDate1 akan diuraikan dan dipetakan ke kolom metadata.event_timestamp.
domain principal.administrative_domain Diekstrak dari kolom userName menggunakan ekspresi reguler dan dipetakan ke principal.administrative_domain.
duser principal.user.userid Jika ada, nilai duser akan menimpa kolom usrName, lalu digunakan untuk mengisi kolom pengguna.
endpointName security_result.detection_fields.value Dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci "endpointName".
eventType metadata.product_event_type Nilai kolom eventType dipetakan langsung ke kolom metadata.product_event_type.
falconHostLink security_result.about.url Nilai kolom falconHostLink dipetakan langsung ke kolom security_result.about.url.
filePath target.process.file.full_path Nilai kolom filePath dipetakan langsung ke kolom target.process.file.full_path.
identityProtectionIncidentId security_result.detection_fields.value Dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci "identityProtectionIncidentId".
incidentDescription metadata.description Jika description kosong, nilai kolom incidentDescription akan dipetakan ke kolom metadata.description.
incidentType security_result.summary Nilai kolom incidentType dipetakan langsung ke kolom security_result.summary.
log_type metadata.log_type Nilai kolom log_type dipetakan langsung ke kolom metadata.log_type.
msg metadata.description Jika description dan incidentDescription kosong, nilai kolom msg akan dipetakan ke kolom metadata.description.
numbersOfAlerts security_result.detection_fields.value Dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci "numbersOfAlerts".
numberOfCompromisedEntities security_result.detection_fields.value Dipetakan sebagai key-value pair di security_result.detection_fields dengan kunci "numberOfCompromisedEntities".
product metadata.product_name Nilai kolom product dipetakan langsung ke kolom metadata.product_name.
resource target.resource.name Nilai kolom resource dipetakan langsung ke kolom target.resource.name.
serviceName target.application Nilai kolom serviceName dipetakan langsung ke kolom target.application. Juga digunakan sebagai penggantian untuk metadata.description.
severityName security_result.severity Nilai kolom severityName dipetakan ke kolom security_result.severity setelah diubah menjadi huruf besar. Logika pemetaan mencakup konversi tertentu untuk nama tingkat keparahan yang berbeda.
sha256 target.file.sha256 Nilai kolom sha256 dipetakan langsung ke kolom target.file.sha256.
src principal.ip Nilai kolom src dipetakan langsung ke kolom principal.ip.
srcMAC principal.mac Nilai kolom srcMAC dipetakan langsung ke kolom principal.mac setelah mengganti tanda hubung dengan titik dua.
state security_result.detection_fields.value Dipetakan sebagai pasangan nilai kunci di security_result.detection_fields dengan kunci "state".
success security_result.action Jika success "true", security_result.action ditetapkan ke "ALLOW". Jika success adalah "false", security_result.action ditetapkan ke "BLOCK".
userName principal.user.userid Jika usrName tidak ada, nilai kolom userName akan digunakan untuk mengisi kolom pengguna. Domain diekstrak jika ada.
usrName principal.user.userid/target.user.userid Jika ada, nilai kolom usrName akan dipetakan ke principal.user.userid atau target.user.userid, bergantung pada eventType. Jika berupa alamat email, alamat tersebut juga akan ditambahkan ke kolom email_addresses masing-masing.
vendor metadata.vendor_name Nilai kolom vendor dipetakan langsung ke kolom metadata.vendor_name.
version metadata.product_version Nilai kolom version dipetakan langsung ke kolom metadata.product_version.
(Logika Parser) extensions.auth.mechanism Tetapkan ke "USERNAME_PASSWORD" jika eventType adalah "saml2Assert" atau "twoFactorAuthenticate".
(Logika Parser) extensions.auth.type Tetapkan ke "AUTHTYPE_UNSPECIFIED" jika eventType adalah "assert" atau "userAuthenticate".
(Logika Parser) metadata.event_timestamp Stempel waktu dari kolom collection_time atau timestamp log mentah digunakan sebagai stempel waktu peristiwa.
(Logika Parser) metadata.event_type Ditentukan berdasarkan eventType dan kolom lainnya. Default-nya adalah "GENERIC_EVENT" dan dapat diubah menjadi "USER_LOGIN", "GROUP_MODIFICATION", "GROUP_DELETION", "SERVICE_STOP", "SERVICE_START", atau "USER_UNCATEGORIZED".
(Logika Parser) target.resource.type Tetapkan ke "GROUP" jika eventType adalah "remove_group", "update_group", atau "delete_group".

Perubahan

2025-01-10

Peningkatan:

  • Jika "OperationBlocked" adalah "true", pemetaan "security_result.action" ke "BLOCK".
  • Jika "OperationBlocked" adalah "false", pemeta "security_result.action" ke "ALLOW".
  • Jika "event_type" adalah "IdentityProtectionEvent", maka petakan "event_data.IncidentDescription" ke "security_result.summary".
  • Jika "event_type" adalah "IdentityProtectionEvent", petakan "event_data.SeverityName" ke "security_result.severity".

2025-01-09

Peningkatan:

  • Memetakan "event_data.Technique" ke "security_result.rule_name".
  • Memetakan "event_data.CommandLine" ke "target.process.command_line".
  • Jika "event_data.IOCType" adalah "ipv4", petakan "event_data.IOCValue" ke "target.ip" dan "target.asset.ip".
  • Jika "event_data.IOCType" adalah "hash_sha256", maka pemetakan "event_data.IOCValue" ke "target.file.sha256".

2024-12-12

Peningkatan:

  • Memetakan "event.SeverityName" ke "security_result.severity".
  • Memetakan "event.Description" ke "security_result.summary".
  • Memetakan "security_result.action" berdasarkan "event.PatternDispositionFlags.OperationBlocked".

2024-10-29

Peningkatan:

  • Menambahkan dukungan untuk format log JSON.
  • Memetakan "request" ke "network.http.referral_url".
  • Memetakan "networkDetectionType" ke "security_result.detection_fields".

2022-07-18

Peningkatan:

  • Menambahkan pemetaan berikut untuk log format LEEF:
  • Kolom "version" dipetakan ke "metadata.product_version".
  • Kolom "usrName" dan "userName" ke "principal.user.email_addresses" jika merupakan email, atau dipetakan ke "principal.user.userid".
  • Kolom "severityName" dipetakan ke "security_result.severity".
  • Kolom "cat" dipetakan ke "security_result.category_details".
  • Kolom "incidentType" dipetakan ke "security_result.summary".
  • Kolom "falconHostLink" dipetakan ke "security_result.about.url".
  • Kolom "numberOfCompromisedEntities" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "identityProtectionIncidentId" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "numbersOfAlerts" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "state" dipetakan ke "security_result.detection_fields[n]".
  • Menambahkan pemetaan berikut untuk log format CEF:
  • Kolom "version" dipetakan ke "metadata.product_version".
  • Kolom "deviceCustomDate1" dipetakan ke "metadata.event_type".
  • Kolom "msg" dipetakan ke "metadata.description".
  • Kolom "cs1" dipetakan ke "security_result.summary" jika nilai "cs1Label" adalah "incidentType", jika tidak, dipetakan ke "security_result.detection_fields[n]".
  • Kolom "cs2" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "cs3" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "cs1" dipetakan ke "security_result.about.url" jika nilai "cs4Label" adalah "falconHostLink", jika tidak, dipetakan ke "security_result.detection_fields[n]".
  • Kolom "cn1" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "cn2" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "cn3" dipetakan ke "security_result.detection_fields[n]".
  • Kolom "duser" ke "principal.user.email_addresses" jika berupa email, atau dipetakan ke "principal.user.userid".

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