Mengumpulkan log APM F5 BIG-IP
Dokumen ini menjelaskan cara menyerap log F5 BIG-IP APM ke Google Security Operations menggunakan Bindplane.
F5 BIG-IP Access Policy Manager (APM) menyediakan akses yang aman dan terpadu ke aplikasi, API, dan data. Solusi ini menyediakan kontrol akses berbasis konteks dan identitas dengan kemampuan SSO, autentikasi multi-faktor, dan SSL VPN untuk jaringan perusahaan. Parser mengekstrak kolom dari log yang diformat syslog F5 BIG-IP APM. Log ini menggunakan grok dan/atau kv untuk mengurai pesan log, lalu memetakan nilai ini ke Model Data Terpadu (UDM). Layanan ini juga menetapkan nilai metadata default untuk sumber dan jenis peristiwa.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Windows Server 2016 atau yang lebih baru, atau host Linux dengan
systemd - Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses istimewa ke antarmuka pengelolaan F5 BIG-IP
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
Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.
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" /quietTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sc query observiq-otel-collector
Layanan akan ditampilkan sebagai RUNNING.
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.shTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sudo systemctl status observiq-otel-collector
Layanan akan ditampilkan sebagai aktif (berjalan).
Referensi penginstalan tambahan
Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.
Mengonfigurasi agen BindPlane untuk menyerap syslog dan mengirimkannya ke Google SecOps
Cari file konfigurasi
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edit file konfigurasi
Ganti seluruh konten
config.yamldengan konfigurasi berikut:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: 'F5_BIGIP_APM' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Parameter konfigurasi
Ganti placeholder berikut:
Konfigurasi penerima:
udplog: Gunakanudploguntuk syslog UDP atautcploguntuk syslog TCP0.0.0.0: Alamat IP yang akan didengarkan (0.0.0.0untuk mendengarkan semua antarmuka)514: Nomor port yang akan diproses (port syslog standar)
Konfigurasi eksportir:
creds_file_path: Jalur lengkap ke file autentikasi penyerapan:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
YOUR_CUSTOMER_ID: ID Pelanggan dari bagian Dapatkan ID pelangganendpoint: URL endpoint regional:- Amerika Serikat:
malachiteingestion-pa.googleapis.com - Eropa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Lihat Endpoint Regional untuk mengetahui daftar lengkapnya
- Amerika Serikat:
log_type: Jenis log persis seperti yang muncul di Chronicle (F5_BIGIP_APM)
Simpan file konfigurasi
- Setelah mengedit, simpan file:
- Linux: Tekan
Ctrl+O, laluEnter, laluCtrl+X - Windows: Klik File > Save
- Linux: Tekan
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart observiq-otel-collectorPastikan layanan sedang berjalan:
sudo systemctl status observiq-otel-collectorPeriksa log untuk mengetahui error:
sudo journalctl -u observiq-otel-collector -f
Untuk memulai ulang agen Bindplane di Windows, pilih salah satu opsi berikut:
Command Prompt atau PowerShell sebagai administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorKonsol layanan:
- Tekan
Win+R, ketikservices.msc, lalu tekan Enter. - Temukan observIQ OpenTelemetry Collector.
Klik kanan, lalu pilih Mulai Ulang.
Pastikan layanan sedang berjalan:
sc query observiq-otel-collectorPeriksa log untuk mengetahui error:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Tekan
Mengonfigurasi penerusan syslog F5 BIG-IP APM
- Login ke antarmuka web F5 BIG-IP (TMUI/Configuration Utility).
- Buka System > Logs > Configuration > Remote Logging.
- Di bagian Remote Logging, berikan detail konfigurasi berikut:
- IP Jarak Jauh: Masukkan alamat IP host agen Bindplane.
- Remote Port: Masukkan
514.
- Klik Tambahkan.
- Klik Perbarui untuk menyimpan konfigurasi.
Untuk mengonfigurasi logging berkecepatan tinggi (HSL) untuk log APM mendetail melalui CLI:
- SSH ke sistem F5 BIG-IP.
Jalankan perintah berikut:
tmsh create ltm pool syslog_pool members add { BINDPLANE_IP:514 } tmsh create sys log-config destination remote-high-speed-log secops_hsl pool-name syslog_pool protocol udp tmsh create sys log-config destination remote-syslog secops_syslog remote-high-speed-log secops_hsl tmsh create sys log-config publisher secops_publisher destinations add { secops_syslog } tmsh save sys config- Ganti
BINDPLANE_IPdengan alamat IP host agen Bindplane.
- Ganti
Tetapkan penayang ke profil akses APM:
- Buka Access > Profiles / Policies > Access Profiles.
- Pilih profil akses target.
- Di tab Setelan Log, pilih penayang yang dibuat.
- Klik Update.
Pastikan pesan syslog dikirim dengan memeriksa log agen Bindplane.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| application | principal.application | Nilai diambil dari kolom aplikasi yang diekstrak oleh filter grok. |
| bytes_in | network.received_bytes | Nilai diambil dari kolom bytes_in yang diekstrak oleh filter grok dan dikonversi menjadi bilangan bulat yang tidak bertanda tangan. |
| bytes_out | network.sent_bytes | Nilai diambil dari kolom bytes_out yang diekstrak oleh filter grok dan dikonversi menjadi bilangan bulat yang tidak bertanda tangan. |
| cmd_data | principal.process.command_line | Nilai diambil dari kolom cmd_data yang diekstrak oleh filter kv. |
| destination_ip | target.ip | Nilai diambil dari kolom destination_ip yang diekstrak oleh filter grok. |
| destination_port | target.port | Nilai diambil dari kolom destination_port yang diekstrak oleh filter grok dan dikonversi menjadi bilangan bulat. |
| folder | principal.process.file.full_path | Nilai diambil dari kolom folder yang diekstrak oleh filter kv. |
| geoCountry | principal.location.country_or_region | Nilai diambil dari kolom geoCountry yang diekstrak oleh filter grok. |
| geoState | principal.location.state | Nilai diambil dari kolom geoState yang diekstrak oleh filter grok. |
| inner_msg | security_result.description | Nilai diambil dari kolom inner_msg yang diekstrak oleh filter grok jika tidak ada deskripsi spesifik lainnya. |
| ip_protocol | network.ip_protocol | Nilai diambil dari kolom ip_protocol yang diekstrak oleh filter grok. |
| principal_hostname | principal.hostname | Nilai diambil dari kolom principal_hostname yang diekstrak oleh filter grok. |
| principal_ip | principal.ip | Nilai diambil dari kolom principal_ip yang diekstrak oleh filter grok. |
| process_id | principal.process.pid | Nilai diambil dari kolom process_id yang diekstrak oleh filter grok. |
| peran | user_role.name | Nilai diambil dari kolom peran yang diekstrak oleh filter grok. Jika kolom peran berisi "admin" (tidak peka huruf besar/kecil), nilai ditetapkan ke "ADMINISTRATOR". |
| tingkat keseriusan, | security_result.severity_details | Nilai asli dari pesan syslog disimpan di sini. Nilai ini berasal dari kolom tingkat keparahan menggunakan logika bersyarat: , CRITICAL -> CRITICAL , ERR -> ERROR , ALERT, EMERGENCY -> HIGH , INFO, NOTICE -> INFORMATIONAL , DEBUG -> LOW , WARN -> MEDIUM |
| source_ip | principal.ip | Nilai diambil dari kolom source_ip yang diekstrak oleh filter grok. |
| source_port | principal.port | Nilai diambil dari kolom source_port yang diekstrak oleh filter grok dan dikonversi menjadi bilangan bulat. |
| status | security_result.summary | Nilai diambil dari kolom status yang diekstrak oleh filter kv. |
| timestamp | metadata.event_timestamp, timestamp | Nilai diambil dari kolom stempel waktu yang diekstrak oleh filter grok dan diuraikan ke dalam objek stempel waktu. Kolom stempel waktu dalam objek peristiwa tingkat teratas juga mendapatkan nilai ini. |
| pengguna | principal.user.userid | Nilai diambil dari kolom pengguna yang diekstrak oleh filter grok, setelah menghapus awalan "id" atau "ID". Nilai diturunkan berdasarkan keberadaan kolom lain: , Jika pengguna ada: USER_UNCATEGORIZED , Jika source_ip dan destination_ip ada: NETWORK_CONNECTION , Jika principal_ip atau principal_hostname ada: STATUS_UPDATE , Jika tidak: GENERIC_EVENT Hardcode ke "BIGIP_APM". Dikodekan secara permanen ke "F5". Jika kolom hasil adalah "failed", nilainya akan ditetapkan ke "BLOCK". |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.