Mengumpulkan log WAF FortiWeb

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log firewall aplikasi web (WAF) FortiWeb menggunakan forwarder Google Security Operations.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan penyerapan 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 FORTINET_FORTIWEB.

Mengonfigurasi log WAF FortiWeb

Untuk mengonfigurasi WAF FortiWeb agar mengirim log ke forwarder Google Security Operations, lakukan hal berikut:

Membuat kebijakan syslog

  1. Login ke konsol Fortinet FortiWeb.
  2. Di konsol Fortinet FortiWeb, pilih Log & report > Log policy > Syslog policy.
  3. Klik Buat baru.
  4. Di jendela New syslog policy yang muncul, lakukan hal berikut:

    • Di kolom Policy name, tentukan nama untuk kebijakan yang ingin Anda gunakan dalam konfigurasi.
    • Di kolom Alamat IP, tentukan alamat IP atau nama host untuk server syslog jarak jauh.
    • Di kolom Port, tentukan port untuk server syslog.
    • Hapus centang pada kotak Aktifkan format CSV, jika dicentang.
  5. Klik Oke.

Mengaktifkan jenis syslog dan level log

  1. Di konsol Fortinet FortiWeb, pilih Log & report > Log config > Global log settings.
  2. Di jendela Global log settings yang muncul, centang kotak Syslog, lalu lakukan hal berikut:

    • Dalam daftar Kebijakan syslog, pilih kebijakan syslog yang Anda buat sebelumnya.
    • Dalam daftar Level log, pilih tingkat keparahan minimum untuk log yang akan dikumpulkan.
    • Dalam daftar Fasilitas, pilih fasilitas log.
  3. Klik Terapkan.

Buat pemicu

  1. Di konsol Fortinet FortiWeb, pilih Log & report > Log policy > Trigger policy.
  2. Klik Buat baru.
  3. Di jendela New trigger policy yang muncul, lakukan tindakan berikut:

    • Di kolom Policy name, tentukan nama untuk kebijakan yang ingin Anda gunakan dalam konfigurasi.
    • Dalam daftar Kebijakan syslog, pilih kebijakan syslog yang Anda buat sebelumnya.
  4. Klik Oke.

    Perbarui kebijakan syslog Anda dengan pemicu yang baru dibuat untuk memastikan semua peristiwa yang diperlukan dicatat ke forwarder syslog Google Security Operations.

Mengonfigurasi penerusan Google Security Operations untuk menyerap log WAF FortiWeb

  1. Buka Setelan SIEM > Penerima.
  2. Klik Tambahkan penerusan baru.
  3. Di kolom Forwarder Name, masukkan nama unik untuk pengirim.
  4. Klik Kirim. Pengirim ditambahkan dan jendela Tambahkan konfigurasi kolektor akan muncul.
  5. Di kolom Nama kolektor, ketik nama.
  6. Pilih Fortinet Web Application Firewall sebagai Log type.
  7. Pilih Syslog sebagai Jenis kolektor.
  8. Konfigurasikan parameter input wajib berikut:
    • Protokol: tentukan protokol koneksi yang digunakan kolektor untuk memproses data syslog.
    • Address: tentukan alamat IP atau nama host target tempat kolektor berada dan memproses data syslog.
    • Port: menentukan port target tempat kolektor berada dan memproses data syslog.
  9. 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 ini menangani log dari FORTINET FORTIWEB dalam format nilai kunci (KV), yang mengubahnya menjadi UDM. Proses ini memproses log berformat CEF dan non-CEF, mengekstrak kolom, menormalisasi nilai, dan memetakan kolom tersebut ke kolom UDM yang sesuai berdasarkan format log.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
action additional.fields[].value.string_value Nilai dipetakan secara langsung.
action security_result.action_details Jika action adalah "Izinkan" atau "terima", security_result.action_details akan disetel ke "Izinkan". Jika action adalah "Ditolak", "tolak", "blokir", atau "Blokir", security_result.action_details akan disetel ke "BLOCK".
app network.application_protocol Nilai dipetakan langsung setelah diubah menjadi huruf besar. Hanya jika nilainya adalah salah satu dari HTTPS, HTTP, DNS, DHCP, SMB.
app_name additional.fields[].key Kunci ditetapkan ke "appName".
app_name additional.fields[].value.string_value Nilai dipetakan secara langsung.
backend_service additional.fields[].key Kunci ditetapkan ke "backend_service".
backend_service additional.fields[].value.string_value Nilai dipetakan secara langsung.
cat security_result.category_details Nilai dipetakan secara langsung.
client_level security_result.category Jika client_level adalah "Malicious", security_result.category ditetapkan ke "NETWORK_MALICIOUS".
cn1 additional.fields[].value.string_value Dipetakan ke kolom threatWeight.
cn1Label additional.fields[].key Kunci ditetapkan ke nilai cn1Label.
cn2 additional.fields[].value.string_value Dipetakan ke kolom panjang.
cn2Label additional.fields[].key Kunci ditetapkan ke nilai cn2Label.
cn3 additional.fields[].value.string_value Dipetakan ke kolom signatureID.
cn3Label additional.fields[].key Kunci ditetapkan ke nilai cn3Label.
cs1 additional.fields[].value.string_value Nilai dipetakan secara langsung.
cs1Label additional.fields[].key Kunci ditetapkan ke nilai cs1Label.
cs1 principal.user.product_object_id Nilai dipetakan secara langsung saat cs1Label cocok dengan "userID" (tidak peka huruf besar/kecil).
cs2 additional.fields[].value.string_value Nilai dipetakan secara langsung.
cs2Label additional.fields[].key Kunci ditetapkan ke nilai cs2Label.
cs2 principal.user.userid Nilai dipetakan secara langsung saat cs2Label cocok dengan "userName" (tidak peka huruf besar/kecil) dan suid kosong.
cs3 additional.fields[].value.string_value Nilai dipetakan secara langsung.
cs3Label additional.fields[].key Kunci ditetapkan ke nilai cs3Label.
cs3 metadata.severity Nilai dipetakan secara langsung jika cs3Label adalah "level" dan cs3 tidak kosong.
cs4 additional.fields[].value.string_value Dipetakan ke kolom subType.
cs4Label additional.fields[].key Kunci ditetapkan ke nilai cs4Label.
cs5 additional.fields[].value.string_value Dipetakan ke kolom threatLevel.
cs5Label additional.fields[].key Kunci ditetapkan ke nilai cs5Label.
cs6 additional.fields[].value.string_value Dipetakan ke kolom owaspTop10.
cs6Label additional.fields[].key Kunci ditetapkan ke nilai cs6Label.
date metadata.event_timestamp.seconds Digabungkan dengan time dan diuraikan untuk menghasilkan detik epoch.
dev_id principal.resource.id Nilai dipetakan secara langsung.
devname principal.resource.name Nilai dipetakan secara langsung.
device_event_class_id metadata.product_event_type Digunakan dalam penguraian CEF.
device_product metadata.product_name Digunakan dalam penguraian CEF.
device_vendor metadata.vendor_name Digunakan dalam penguraian CEF.
device_version metadata.product_version Digunakan dalam penguraian CEF.
dhost target.hostname Nilai dipetakan secara langsung.
dpt target.port Nilai dipetakan dan dikonversi langsung menjadi bilangan bulat.
dst target.ip Nilai dipetakan secara langsung.
dst_port target.port Nilai dipetakan dan dikonversi langsung menjadi bilangan bulat.
dstepid target.process.pid Nilai dipetakan secara langsung.
dsteuid target.user.userid Nilai dipetakan secara langsung.
event_name metadata.product_event_type Digunakan dalam penguraian CEF.
http_agent network.http.parsed_user_agent Nilai diuraikan sebagai string agen pengguna.
http_method network.http.method Nilai dipetakan secara langsung.
http_refer network.http.referral_url Nilai dipetakan secara langsung.
http_session_id network.session_id Nilai dipetakan secara langsung.
http_url target.url Nilai dipetakan secara langsung.
http_version metadata.product_version Nilai dipetakan secara langsung.
length additional.fields[].key Kunci ditetapkan ke "length".
length additional.fields[].value.string_value Nilai dipetakan secara langsung.
log_type metadata.log_type Di-hardcode ke "FORTINET_FORTIWEB".
main_type additional.fields[].key Kunci ditetapkan ke "mainType".
main_type additional.fields[].value.string_value Nilai dipetakan secara langsung.
message Berbagai kolom Diurai menggunakan filter grok dan kv untuk mengekstrak berbagai kolom.
ml_allow_method additional.fields[].key Kunci ditetapkan ke "ml_allow_method".
ml_allow_method additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_arg_dbid additional.fields[].key Kunci ditetapkan ke "ml_arg_dbid".
ml_arg_dbid additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_domain_index additional.fields[].key Kunci ditetapkan ke "ml_domain_index".
ml_domain_index additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_log_arglen additional.fields[].key Kunci ditetapkan ke "ml_log_arglen".
ml_log_arglen additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_log_hmm_probability additional.fields[].key Kunci ditetapkan ke "ml_log_hmm_probability".
ml_log_hmm_probability additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_log_sample_arglen_mean additional.fields[].key Kunci ditetapkan ke "ml_log_sample_arglen_mean".
ml_log_sample_arglen_mean additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_log_sample_prob_mean additional.fields[].key Kunci ditetapkan ke "ml_log_sample_prob_mean".
ml_log_sample_prob_mean additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_svm_accuracy additional.fields[].key Kunci ditetapkan ke "ml_svm_accuracy".
ml_svm_accuracy additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_svm_log_main_types additional.fields[].key Kunci ditetapkan ke "ml_svm_log_main_types".
ml_svm_log_main_types additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_svm_log_match_types additional.fields[].key Kunci ditetapkan ke "ml_svm_log_match_types".
ml_svm_log_match_types additional.fields[].value.string_value Nilai dipetakan secara langsung.
ml_url_dbid additional.fields[].key Kunci ditetapkan ke "ml_url_dbid".
ml_url_dbid additional.fields[].value.string_value Nilai dipetakan secara langsung.
monitor_status additional.fields[].key Kunci ditetapkan ke "monitor_status".
monitor_status additional.fields[].value.string_value Nilai dipetakan secara langsung.
msg metadata.description Nilai dipetakan secara langsung.
owasp_top10 additional.fields[].key Kunci ditetapkan ke "owaspTop10".
owasp_top10 additional.fields[].value.string_value Nilai dipetakan secara langsung.
principal_app principal.application Nilai dipetakan secara langsung.
principal_host principal.hostname Nilai dipetakan secara langsung.
proto network.ip_protocol Nilai dipetakan langsung setelah diubah menjadi huruf besar.
request target.url Nilai dipetakan secara langsung.
requestMethod network.http.method Nilai dipetakan secara langsung.
rt metadata.event_timestamp.seconds Diurai sebagai milidetik sejak epoch dan dikonversi ke detik.
security_result.severity security_result.severity Berasal dari severity_level. Dipetakan ke nilai keparahan UDM yang berbeda berdasarkan nilai log mentah. Secara default ke UNKNOWN_SEVERITY jika tidak ditemukan kecocokan.
server_pool_name additional.fields[].key Kunci ditetapkan ke "server_pool_name".
server_pool_name additional.fields[].value.string_value Nilai dipetakan secara langsung.
service network.application_protocol Nilai dipetakan langsung setelah diubah menjadi huruf besar.
service target.application Nilai dipetakan langsung setelah diubah menjadi huruf besar jika bukan salah satu dari HTTPS, HTTP, DNS, DHCP, atau SMB.
severity security_result.severity Jika severity kosong dan cs3Label adalah "level", nilai cs3 akan digunakan. Kemudian dipetakan ke nilai keparahan UDM (RENDAH, TINGGI, dll.).
signature_id security_result.rule_id Nilai dipetakan secara langsung.
signature_subclass security_result.detection_fields[].key Kunci ditetapkan ke "signature_subclass".
signature_subclass security_result.detection_fields[].value Nilai dipetakan secara langsung.
src principal.ip Nilai dipetakan secara langsung.
src_country principal.location.country_or_region Nilai dipetakan secara langsung.
src_ip principal.ip Nilai dipetakan secara langsung.
src_port principal.port Nilai dipetakan dan dikonversi langsung menjadi bilangan bulat.
srccountry principal.location.country_or_region Nilai dipetakan secara langsung.
sub_type additional.fields[].key Kunci ditetapkan ke "subType".
sub_type additional.fields[].value.string_value Nilai dipetakan secara langsung.
subtype target.resource.resource_subtype Nilai dipetakan secara langsung.
suid principal.user.userid Nilai dipetakan secara langsung.
threat_level additional.fields[].key Kunci ditetapkan ke "threatLevel".
threat_level additional.fields[].value.string_value Nilai dipetakan secara langsung.
threat_weight security_result.detection_fields[].key Kunci ditetapkan ke "threat_weight".
threat_weight security_result.detection_fields[].value Nilai dipetakan secara langsung.
time metadata.event_timestamp.seconds Digabungkan dengan date dan diuraikan untuk menghasilkan detik epoch.
user_id principal.user.product_object_id Nilai dipetakan secara langsung.
user_name additional.fields[].key Kunci ditetapkan ke "userName".
user_name additional.fields[].value.string_value Nilai dipetakan secara langsung.
user_name principal.user.userid Nilai dipetakan secara langsung.
T/A metadata.event_type Tetapkan ke "NETWORK_CONNECTION" jika principal.ip dan target.ip ada. Tetapkan ke "USER_UNCATEGORIZED" jika principal.ip dan principal.user ada. Tetapkan ke "STATUS_UPDATE" jika hanya principal.ip yang ada. Jika tidak, tetapkan ke "GENERIC_EVENT".
T/A metadata.log_type Di-hardcode ke "FORTINET_FORTIWEB".
T/A metadata.product_name Di-hardcode ke "FORTINET FORTIWEB" atau "FortiWEB Cloud" berdasarkan format log.
T/A metadata.vendor_name Di-hardcode ke "FORTINET" atau "Fortinet" berdasarkan format log.
T/A principal.resource.resource_type Di-hardcode ke "DEVICE" jika dev_id ada.

Perubahan

2024-01-09

  • Menambahkan dukungan untuk log format CEF.
  • Menambahkan pola Grok agar cocok dengan format baru log CEF.
  • Memetakan "principal_hostnamne" ke "principal.hostname".
  • Memetakan "principal.app" ke "principal.application".

2023-05-18

  • Parser yang baru dibuat.