Mengumpulkan log CrowdStrike Falcon Stream

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Crowdstrike Falcon Stream menggunakan BindPlane. Parser mengekstrak pasangan nilai kunci dan memetakannya ke Model Data Terpadu (UDM), menangani berbagai pembatas, dan memperkaya data dengan konteks tambahan seperti tingkat keparahan dan jenis peristiwa. Selain itu, alat ini melakukan transformasi khusus untuk jenis dan kolom peristiwa tertentu, seperti login pengguna dan hasil keamanan.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google Security Operations
  • Windows 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika berjalan di belakang proxy, pastikan port firewall terbuka
  • Akses istimewa ke konsol CrowdStrike Falcon
  • Mendapatkan kredensial API untuk Falcon Stream (Client ID dan Rahasia Klien)

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

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

Untuk opsi penginstalan tambahan, lihat panduan penginstalan.

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya 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 the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/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
            log_type: 'CS_STREAM'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                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 Dapatkan file autentikasi penyerapan Google SecOps.

Mulai ulang agen Bindplane untuk menerapkan perubahan

  1. Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:

    sudo systemctl restart bindplane-agent
    
  2. 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 istimewa.
  2. Buka Menu > Dukungan.
  3. Klik API Clients > KeysSelect.
  4. Klik Tambahkan klien API baru.
  5. Di bagian API Scopes, pilih Event streams, lalu aktifkan opsi Read.
  6. Klik Tambahkan.
  7. Salin dan simpan Client ID, Client Secret, dan Base URL.

Menginstal Falcon SIEM Connector

  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. Ganti 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 - Aktifkan push ke server Syslog.
    • host: - IP atau nama host Agen BindPlane.
    • port: - Port Agen BindPlane.
  5. Simpan file cs.falconhoseclient.cfg.
  6. Mulai layanan SIEM Connector:

    • 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 SIEM Connector:

    • 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 SIEM Connector:

    • 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 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 dalam security_result.detection_fields saat 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 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 saat cs4 bukan falconHostLink.
description metadata.description Nilai kolom description dipetakan langsung ke kolom metadata.description. Jika kosong, incidentDescription atau msg atau serviceName akan digunakan sebagai gantinya.
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 menggantikan kolom usrName dan kemudian 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 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 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 adalah "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 dipetakan ke principal.user.userid atau target.user.userid, bergantung pada eventType. Jika berupa alamat email, alamat tersebut juga ditambahkan ke kolom email_addresses yang sesuai.
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 Disetel 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 Disetel ke "GROUP" jika eventType adalah "remove_group", "update_group", atau "delete_group".

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