Mengumpulkan log APM F5 BIG-IP
Dokumen ini menjelaskan cara mengumpulkan log F5 BIG-IP Access Policy Manager (APM) menggunakan forwarder Google Security Operations.
Untuk mengetahui informasi selengkapnya, lihat Penambahan data ke Google Security Operations.
Label penyerapan mengidentifikasi parser yang menormalisasi data log mentah ke
format UDM terstruktur. Informasi dalam dokumen ini berlaku untuk parser
dengan label transfer F5_BIGIP_APM
.
Mengonfigurasi APM F5 BIG-IP
- Login ke portal utilitas konfigurasi BIG-IP menggunakan kredensial administrator.
- Pilih Main > System > Logs > Configuration > Remote logging.
Di bagian Properties, lakukan tindakan berikut:
- Di kolom Remote IP, masukkan alamat IP penerusan Google Security Operations.
- Di kolom Port jarak jauh, masukkan nomor port yang tinggi.
Klik Tambahkan.
Klik Perbarui.
Untuk log dari APM, hanya format syslog Berkeley Software Distribution (BSD) yang didukung.
Berdasarkan tanda tangan di APM, kolektor hanya memproses log APM. Pengumpul peristiwa APM F5 BIG-IP juga mendukung log multi-threading dari perangkat LTM 11.6 hingga 12.1.1.
Jika Anda menggunakan iRule, gunakan format iRule yang direkomendasikan. Google Security Operations hanya mendukung format iRule berikut:
# log_header_requests ################################################################################### ################################################# # Purpose: logs header information to Local Traffic log # # # # Update-Log Date By Description # Created 02/07/2020 E01961 Initial implementation # # ################################################################################### ################################################ when HTTP_REQUEST { set LogString "Client [IP::client_addr]:[TCP::client_port] -> [HTTP::host] [HTTP::uri]" log local5. "=================" log local5. "$LogString (request)" foreach aHeader [HTTP::header names] { log local5. "$aHeader: [HTTP::header value $aHeader]" } # set UserID [URI::query "?[HTTP::payload]" "UserID"] # log local0. "User $UserID attempted login from [IP::client_addr] and referer: [HTTP::header "Referer"]" # log local0. "=============================================" } when HTTP_RESPONSE { log local5. "==================" log local5. "$LogString (response) - status: [HTTP::status]" foreach aHeader [HTTP::header names] { log local5. "$aHeader: [HTTP::header value $aHeader]" } # log local0. "============================================="
Mengonfigurasi DNS F5 BIG-IP
Untuk mengonfigurasi DNS F5 BIG-IP, lakukan tugas berikut:
- Membuat kumpulan server logging jarak jauh.
- Membuat tujuan log berkecepatan tinggi jarak jauh.
- Buat tujuan log kecepatan tinggi jarak jauh yang diformat.
- Buat penayang.
- Buat profil logging DNS kustom.
- Tambahkan profil logging DNS ke pemroses.
Membuat kumpulan server logging jarak jauh
- Di tab Main, pilih DNS > Delivery > Load balancing > Pools or local traffic > Pools.
- Di jendela Daftar kumpulan yang muncul, klik Buat.
- Di jendela New pool yang muncul, di kolom Name, berikan nama unik untuk kumpulan.
- Di bagian Anggota baru, tambahkan alamat IP untuk setiap server logging jarak jauh yang ingin Anda sertakan dalam kumpulan:
- Di kolom Alamat, masukkan alamat IP forwarder Operasi Keamanan Google atau pilih alamat node dari daftar node.
- Di kolom Service port, ketik nomor layanan atau pilih nama layanan dari daftar. Pastikan Anda telah mengonfigurasi port logging jarak jauh yang benar.
- Klik Tambahkan, lalu klik Selesai.
Membuat tujuan log berkecepatan tinggi jarak jauh
- Di tab Main, pilih System > Logs > Configuration > Log destinations.
- Di jendela Tujuan log yang muncul, klik Buat.
- Di kolom Name, berikan nama unik dan mudah dikenali untuk tujuan ini.
- Di daftar Type, pilih Remote high-speed log.
- Dalam daftar Pool name, pilih kumpulan server log jarak jauh yang ingin Anda kirimkan pesan log oleh sistem BIG-IP.
- Di daftar Protokol, pilih protokol yang digunakan oleh anggota kumpulan logging kecepatan tinggi.
- Klik Selesai.
Membuat tujuan log kecepatan tinggi jarak jauh yang diformat
- Di tab Main, pilih System > Logs > Configuration > Log Destinations.
- Di jendela Tujuan log yang muncul, klik Buat.
- Di kolom Name, berikan nama unik dan mudah dikenali untuk tujuan ini.
- Di daftar Type, pilih tujuan logging berformat sebagai Remote syslog. Sistem BIG-IP kini dikonfigurasi untuk mengirim string teks berformat ke server log.
- Dalam daftar Type, pilih format untuk log.
- Di tab Forward To, pilih daftar High-speed log destination, lalu pilih tujuan yang mengarah ke kumpulan server syslog jarak jauh yang ingin Anda kirim pesan log ke sistem BIG-IP.
- Klik Selesai.
Membuat penayang
- Di tab Main, pilih System > Logs > Configuration > Log publishers.
- Di jendela Log publishers yang muncul, klik Create.
- Di kolom Nama, berikan nama unik dan dapat diidentifikasi untuk penayang.
- Dalam daftar Log publisher, dari daftar yang tersedia, pilih tujuan yang dibuat sebelumnya.
- Untuk memindahkan tujuan ke daftar yang dipilih, klik << Pindahkan.
- Jika Anda menggunakan tujuan yang diformat, pilih tujuan yang baru dibuat yang cocok dengan server log Anda, seperti Remote syslog, Splunk, atau ArcSight.
- Klik Selesai.
Membuat profil logging DNS kustom
- Di tab Main, pilih DNS > Delivery > Profiles > Other DNS Logging atau Local traffic > Profiles > Others > DNS logging.
- Di jendela Daftar profil DNS Logging yang muncul, klik Buat.
- Di kolom Name, berikan nama unik untuk profil.
- Dalam daftar Log publisher, pilih tujuan tempat sistem BIG-IP mengirim entri log DNS.
- Jika Anda menginginkan sistem BIG-IP:
- Untuk mencatat semua kueri DNS, dari setelan Log queries, pastikan kotak centang enabled dipilih.
- Untuk mencatat semua respons DNS, dari setelan Log responses, pilih kotak centang yang diaktifkan.
- Untuk menyertakan ID kueri yang dikirim oleh klien dalam pesan log, dari setelan Sertakan ID kueri, pilih kotak centang yang diaktifkan.
- Klik Selesai.
Menambahkan profil logging DNS ke pemroses
- Di tab Main, pilih DNS > Delivery > Listeners > DNS listener.
- Di bagian Service, dari daftar DNS profile, pilih profil DNS yang sebelumnya Anda konfigurasi.
- Klik Perbarui.
Mengonfigurasi forwarder Google Security Operations untuk menyerap log APM F5 BIG-IP
- Buka Setelan SIEM > Penerima.
- Klik Tambahkan penerusan baru.
- Di kolom Forwarder Name, masukkan nama unik untuk pengirim.
- Klik Kirim. Pengirim ditambahkan dan jendela Tambahkan konfigurasi kolektor akan muncul.
- Di kolom Nama kolektor, ketik nama.
- Pilih F5 BIGIP Access Policy Manager sebagai Jenis log.
- Pilih Syslog sebagai Jenis kolektor.
- Konfigurasikan parameter input wajib berikut:
- Protocol: menentukan protokol.
- Address: menentukan alamat IP atau nama host target tempat kolektor berada dan alamat ke data syslog.
- Port: menentukan port target tempat kolektor berada dan memproses data syslog.
- Klik Kirim.
Untuk informasi selengkapnya tentang forwarder Google Security Operations, lihat Mengelola konfigurasi forwarder melalui UI Google Security Operations.
Jika Anda mengalami masalah saat membuat penerusan, hubungi dukungan Google Security Operations.
Referensi pemetaan kolom
Parser APM F5 BIG-IP ini mengekstrak kolom dari pesan syslog, yang dikategorikan berdasarkan sumber aplikasi (tmsh, tmm, apmd, httpd, atau lainnya). Kemudian, alat ini memetakan kolom yang diekstrak ini ke UDM, menangani berbagai format log, dan memperkaya data dengan metadata seperti tingkat keparahan, lokasi, dan informasi pengguna.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
application | principal.application | Nilai diambil dari kolom application 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 tanpa tanda tangan. |
bytes_out | network.sent_bytes | Nilai diambil dari kolom bytes_out yang diekstrak oleh filter grok dan dikonversi menjadi bilangan bulat tanpa tanda 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 yang tersedia. |
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 role yang diekstrak oleh filter grok. Jika kolom role berisi "admin" (tidak peka huruf besar/kecil), nilainya ditetapkan ke "ADMINISTRATOR". |
tingkat keseriusan, | security_result.severity_details | Nilai asli dari pesan syslog disimpan di sini. Nilai ini berasal dari kolom severity 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 timestamp yang diekstrak oleh filter grok dan diuraikan menjadi objek stempel waktu. Kolom timestamp di objek event tingkat teratas juga mendapatkan nilai ini. |
pengguna | principal.user.userid | Nilai diambil dari kolom user yang diekstrak oleh filter grok, setelah menghapus awalan "id\" atau "ID\". Nilai ini berasal dari keberadaan kolom lain: Jika user 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". Di-hardcode ke "F5". Jika kolom result "gagal", nilainya akan ditetapkan ke "BLOCK". |
Perubahan
2023-06-06
- Parser yang baru dibuat.