Mengumpulkan log Imperva FlexProtect
Dokumen ini menjelaskan cara menyerap log Imperva FlexProtect ke Google Security Operations menggunakan Bindplane. Parser terlebih dahulu membersihkan dan memproses awal log yang masuk, lalu mencoba mengekstrak data Common Event Format (CEF). Bergantung pada keberadaan kolom tertentu seperti "src" dan "sip", alat ini menetapkan jenis peristiwa UDM dan memetakan kolom CEF yang relevan ke skema UDM, lalu memperkaya output dengan kolom kustom tambahan. Imperva FlexProtect menyediakan deployment fleksibel solusi keamanan Imperva (SecureSphere, Cloud WAF, Bot Protection) di seluruh lingkungan hybrid cloud.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd - Jika berjalan di belakang proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses istimewa ke konsol pengelolaan Imperva FlexProtect atau konsol produk individual
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal agen Bindplane
Penginstalan Windows
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
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 ini.
Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps
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).
- Cari file
Edit file
config.yamlsebagai 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: 'IMPERVA_FLEXPROTECT' 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.jsonke jalur tempat file autentikasi disimpan di bagian Dapatkan 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-agentUntuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi penerusan Syslog di Imperva FlexProtect
Untuk Komponen SecureSphere (Lokal/Cloud)
- Login ke Konsol Pengelolaan Imperva SecureSphere.
- Buka Configuration > Action Sets.
- Klik Tambahkan untuk membuat Set Tindakan baru.
Klik Tambahkan Tindakan, lalu berikan detail konfigurasi berikut:
- Nama: Masukkan nama deskriptif (misalnya,
Google SecOps Syslog). - Jenis Tindakan: Pilih Syslog.
- Host: Masukkan alamat IP agen Bindplane.
- Port: Masukkan nomor port agen Bindplane (default
514). - Protocol: Pilih UDP atau TCP.
- Level Log Syslog: Pilih DEBUG.
- Fasilitas Syslog: Pilih LOCAL0.
- Format: Pilih CEF (Common Event Format).
- Nama: Masukkan nama deskriptif (misalnya,
Simpan konfigurasi tindakan dan terapkan ke kebijakan keamanan yang relevan.
Untuk Komponen Cloud WAF/Incapsula
- Login ke Konsol Cloud Imperva.
- Buka Log > Penyiapan Log.
- Konfigurasi tujuan syslog:
- Host: Masukkan alamat IP agen Bindplane.
- Port: Masukkan nomor port agen Bindplane (default
514). - Protocol: Pilih UDP atau TCP.
- Format: Pilih CEF.
Tabel Pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| bertindak | read_only_udm.security_result.action_details | Dipetakan langsung dari kolom act. |
| aplikasi | read_only_udm.network.application_protocol | Dipetakan langsung dari kolom app. |
| ccode | read_only_udm.principal.location.country_or_region | Dipetakan langsung dari kolom ccode. |
| cicode | read_only_udm.principal.location.city | Dipetakan langsung dari kolom cicode. |
| cn1 | read_only_udm.network.http.response_code | Dipetakan langsung dari kolom cn1 setelah dikonversi menjadi bilangan bulat. |
| cs1 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs1. |
| cs2 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs2. |
| cs3 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs3. |
| cs4 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs4. |
| cs5 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs5. |
| cs6 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs6. |
| cs7 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs7. |
| cs8 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs8. |
| cs9 | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom cs9. |
| cpt | read_only_udm.principal.port | Dipetakan langsung dari kolom cpt setelah dikonversi menjadi bilangan bulat. |
| Pelanggan | read_only_udm.principal.user.user_display_name | Dipetakan langsung dari kolom Customer. |
| deviceExternalId | read_only_udm.about.asset.asset_id | Nilai ini diperoleh dengan menggabungkan "Incapsula.SIEMintegration:" dengan kolom deviceExternalId. |
| deviceFacility | read_only_udm.principal.location.city | Dipetakan langsung dari kolom deviceFacility. |
| dproc | read_only_udm.target.process.command_line | Dipetakan langsung dari kolom dproc. |
| selesai | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom end. |
| fileId | read_only_udm.network.session_id | Dipetakan langsung dari kolom fileId. |
| filePermission | read_only_udm.about.resource.attribute.permissions.name | Dipetakan langsung dari kolom filePermission. |
| di | read_only_udm.network.received_bytes | Dipetakan langsung dari kolom in. |
| qstr | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom qstr. |
| permintaan | read_only_udm.target.url | Dipetakan langsung dari kolom request. |
| requestClientApplication | read_only_udm.network.http.user_agent | Dipetakan langsung dari kolom requestClientApplication. |
| requestMethod | read_only_udm.network.http.method | Dipetakan langsung dari kolom requestMethod. |
| siteid | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom siteid. |
| sip | read_only_udm.target.ip | Dipetakan langsung dari kolom sip. |
| sourceServiceName | read_only_udm.principal.application | Dipetakan langsung dari kolom sourceServiceName. |
| spt | read_only_udm.target.port | Dipetakan langsung dari kolom spt setelah dikonversi menjadi bilangan bulat. |
| src | read_only_udm.principal.ip | Dipetakan langsung dari kolom src. |
| mulai | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom start. |
| suid | read_only_udm.principal.user.userid | Dipetakan langsung dari kolom suid. |
| ver | read_only_udm.network.tls.version | Dipetakan langsung dari kolom ver. |
| read_only_udm.about.asset.asset_id | Nilai ini diperoleh dengan menggabungkan "Incapsula.SIEMintegration:" dengan kolom deviceExternalId. |
|
| read_only_udm.additional.fields.key | Nilai ditentukan oleh logika parser berdasarkan label kolom, misalnya: - cs1Label dipetakan ke "Cap Support" - cs2Label dipetakan ke "Javascript Support" - cs3Label dipetakan ke "CO Support" - cs4Label dipetakan ke "VID" - cs5Label dipetakan ke "clappsig" - cs6Label dipetakan ke "clapp" - cs7Label dipetakan ke "latitude" - cs8Label dipetakan ke "longitude" - cs9Label dipetakan ke "Rule name" |
|
| read_only_udm.metadata.event_timestamp.nanos | Dipetakan langsung dari kolom collection_time.nanos. |
|
| read_only_udm.metadata.event_timestamp.seconds | Dipetakan langsung dari kolom collection_time.seconds. |
|
| read_only_udm.metadata.event_type | Nilai ditentukan berdasarkan keberadaan kolom src dan sip: - Jika keduanya ada, nilai ditetapkan ke "NETWORK_HTTP". - Jika hanya src yang ada, nilai ditetapkan ke "USER_UNCATEGORIZED". - Jika tidak, nilai ditetapkan ke "GENERIC_EVENT". |
|
| read_only_udm.metadata.product_event_type | Nilai ini diperoleh dengan menggabungkan "[", nilai numerik dari kolom header CEF pada indeks 4, "] - ", dan deskripsi teks dari kolom header CEF pada indeks 4. | |
| read_only_udm.metadata.product_name | Nilai ditetapkan secara statis ke "SIEMintegration". | |
| read_only_udm.metadata.product_version | Nilai ditetapkan secara statis ke "1". | |
| read_only_udm.metadata.vendor_name | Nilai ditetapkan secara statis ke "Incapsula". | |
| read_only_udm.security_result.detection_fields.key | Nilai ditetapkan secara statis ke "siteid", "event_start_time", "event_end_time", atau "qstr" berdasarkan kolom terkait yang sedang diproses. | |
| read_only_udm.security_result.severity | Nilai ditetapkan secara statis ke "LOW". | |
| read_only_udm.target.port | Dipetakan langsung dari kolom spt setelah dikonversi menjadi bilangan bulat. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.