Mengumpulkan log WAF Cloudflare

Versi Parser: 6.0

Didukung di:

Parser ini mengekstrak kolom dari log JSON Cloudflare firewall aplikasi web (WAF), mengubah, dan memetakannya ke Unified Data Model (UDM). Parser ini menangani berbagai tindakan Cloudflare, memperkaya data dengan metadata dan informasi jaringan sebelum menyusun output ke dalam format UDM.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps.
  • Akses istimewa ke Google Cloud.
  • Paket Cloudflare Enterprise.
  • Akses istimewa ke Cloudflare. Untuk mengetahui detailnya, lihat Cloudflare.

Membuat Bucket Penyimpanan Google Cloud

  1. Login ke konsol Google Cloud .
  2. Buka halaman Cloud Storage Buckets.

    Buka Bucket

  3. Klik Create.

  4. Konfigurasikan bucket:

    • Name: masukkan nama unik yang memenuhi persyaratan nama bucket (misalnya, cloudflare-waf).
    • Choose where to store your data: pilih lokasi.
    • Pilih kelas penyimpanan untuk data Anda: pilih kelas penyimpanan default untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis.
    • Choose how to control access to objects: pilih not untuk menerapkan public access prevention, dan pilih access control model untuk objek bucket Anda.
    • Storage class: Pilih berdasarkan kebutuhan Anda (misalnya, Standard).
  5. Klik Create.

Memberikan izin bucket kepada pengguna IAM Cloudflare

  1. Di Google Cloud, buka Storage > Browser > Bucket > Permissions.
  2. Tambahkan akun logpush@cloudflare-data.iam.gserviceaccount.com dengan izin Storage Object Admin.

Membuat Tugas Logpush untuk Log WAF menggunakan UI Cloudflare

  1. Login ke Cloudflare.
  2. Buka Analytics & Logs > Logpush.
  3. Pilih Create a Logpush job.
  4. Di Select a destination, pilih Google Cloud Storage.
  5. Masukkan detail tujuan berikut:
    • Bucket: Google Cloud Nama bucket penyimpanan
    • Jalur: Lokasi bucket dalam container penyimpanan
    • Pilih Atur log ke dalam subfolder harian
  6. Klik Lanjutkan.
  1. Pilih set data Security (WAF) untuk dikirim ke penyimpanan.
  2. Konfigurasi tugas logpush:
    • Masukkan Job name.
    • Di bagian Jika log cocok, Anda dapat memilih peristiwa yang akan disertakan atau dihapus dari log. Baca Filter untuk mengetahui informasi selengkapnya. Tidak semua set data memiliki opsi ini.
    • Di kolom Send the following, Anda dapat memilih untuk mengirim semua log ke tujuan penyimpanan atau memilih log yang ingin dikirim secara selektif.
  3. Klik Kirim.

Menyiapkan feed

Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:

  1. Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
  2. Klik Tambahkan Feed Berita Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Feed name, masukkan nama untuk feed (misalnya, Cloudflare WAF Logs).
  5. Pilih Google Cloud Storage V2 sebagai Source type.
  6. Pilih Cloudflare WAF sebagai Log type.
  7. Klik Get Service Account.
  8. Klik Berikutnya.
  9. Tentukan nilai untuk parameter input berikut:

    • Storage Bucket URI: URL Cloud Storage.
    • Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
  10. Klik Berikutnya.

  11. Tinjau konfigurasi feed berita baru Anda di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
Action security_result.action_details Nilai Action dari log mentah langsung ditetapkan ke kolom UDM ini.
Action security_result.action Nilai kolom ini berasal dari kolom Action di log mentah. Jika Action adalah "allow", kolom UDM ditetapkan ke ALLOW. Jika Action adalah "challengeSolved", "jschallengeSolved", "managedchallengenoninteractivesolved", atau "managedchallengeinteractivesolved", kolom UDM ditetapkan ke ALLOW_WITH_MODIFICATION. Jika Action adalah "drop", "block", atau "connectionclose", kolom UDM ditetapkan ke BLOCK. Jika Action adalah "challengefailed" atau "jschallengefailed", kolom UDM ditetapkan ke FAIL. Jika tidak, nilai ini akan ditetapkan ke UNKNOWN_ACTION.
ClientASN network.asn Nilai ClientASN dari log mentah langsung ditetapkan ke kolom UDM ini setelah dikonversi menjadi string.
ClientASNDescription additional.fields.key Kunci ditetapkan secara statis ke "ClientASNDescription".
ClientASNDescription additional.fields.value.string_value Nilai ClientASNDescription dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientCountry principal.location.country_or_region Nilai ClientCountry dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientIP principal.ip Nilai ClientIP dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientRefererHost intermediary.hostname Nilai ClientRefererHost dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientRefererPath network.http.referral_url Nilai ClientRefererPath dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientRequestHost target.hostname Nilai ClientRequestHost dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientRequestMethod network.http.method Nilai ClientRequestMethod dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientRequestPath target.file.full_path Nilai ClientRequestPath dari log mentah langsung ditetapkan ke kolom UDM ini.
ClientRequestProtocol network.application_protocol Bagian protokol ClientRequestProtocol (misalnya, "HTTP" dari "HTTP/1.1") diekstrak menggunakan grok, dikonversi menjadi huruf besar, dan ditetapkan ke kolom UDM ini.
ClientRequestUserAgent network.http.user_agent Nilai ClientRequestUserAgent dari log mentah langsung ditetapkan ke kolom UDM ini.
Datetime metadata.event_timestamp Nilai Datetime dari log mentah diuraikan sebagai stempel waktu RFC 3339 dan ditetapkan ke kolom UDM ini.
EdgeColoCode additional.fields.key Kunci ditetapkan secara statis ke "EdgeColoCode".
EdgeColoCode additional.fields.value.string_value Nilai EdgeColoCode dari log mentah langsung ditetapkan ke kolom UDM ini.
EdgeResponseStatus network.http.response_code Nilai EdgeResponseStatus dari log mentah langsung ditetapkan ke kolom UDM ini dan dikonversi menjadi bilangan bulat.
Kind metadata.product_event_type Nilai Kind dari log mentah langsung ditetapkan ke kolom UDM ini.
Metadata.filter target.resource.attribute.labels.value Nilai Metadata.filter dari log mentah ditetapkan ke kolom value label dalam target.resource.attribute.labels. key untuk label ini ditetapkan secara statis ke "Metadata filter".
Metadata.type target.resource.attribute.labels.value Nilai Metadata.type dari log mentah ditetapkan ke kolom value label dalam target.resource.attribute.labels. key untuk label ini ditetapkan secara statis ke "Jenis metadata". Nilai kolom ini diperoleh berdasarkan ada tidaknya dan nilai ClientIP, ClientRequestHost, dan app_protocol. Lihat kode parser untuk logika tertentu. Ditetapkan secara statis ke "Cloudflare". Secara statis ditetapkan ke "Cloudflare log Aggregator". Secara statis disetel ke "CLOUDFLARE_WAF".
RayID metadata.product_log_id Nilai RayID dari log mentah langsung ditetapkan ke kolom UDM ini.
RuleID security_result.rule_id Nilai RuleID dari log mentah langsung ditetapkan ke kolom UDM ini.
Source security_result.rule_name Nilai Source dari log mentah langsung ditetapkan ke kolom UDM ini.
timestamp metadata.event_timestamp, events.timestamp Nilai timestamp dari log mentah langsung ditetapkan ke kolom UDM ini.

Log Perubahan

Melihat Log Perubahan untuk parser ini

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