Mengumpulkan log Cloudflare WAF
Dokumen ini menjelaskan cara mengumpulkan log Cloudflare WAF dengan menyiapkan feed 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 CLOUDFLARE_WAF
.
Mengonfigurasi Cloudflare WAF menggunakan API
Setelah mengaktifkan log Cloudflare, gunakan parameter berikut untuk mengaktifkan integrasi:
Email autentikasi - alamat email akun Cloudflare.
Kunci autentikasi - token Cloudflare API.
ID Zona - ID zona Cloudflare.
Untuk mendapatkan ID Zona dan Kunci Autentikasi, lakukan langkah-langkah berikut:
- Login ke dasbor Cloudflare.
- Klik situs yang perlu dipantau.
- Klik Dapatkan kunci API Anda untuk mendapatkan Kunci Autentikasi.
- Pilih API Token.
- Klik Create Token.
- Berikan nilai berikut di halaman Create Token:
- Di kolom Token name, berikan nama token.
- Di bagian Permissions, lakukan tindakan berikut:
- Pilih Zone, Logs, dan Read di daftar pertama, kedua, dan ketiga.
- Klik Tambahkan lainnya. Pilih Zone, Analytics, dan Read di daftar pertama, kedua, dan ketiga.
- Klik Tambahkan lainnya. Pilih Zone, Firewall Services, dan Read di daftar pertama, kedua, dan ketiga.
- Di bagian Zone Resources, pilih Include dan All zones di daftar pertama dan kedua.
- Klik Lanjutkan ke Ringkasan.
- Klik Create Token.
- Salin token yang ditampilkan, yang diperlukan untuk mengonfigurasi feed Google Security Operations.
Mengonfigurasi Cloudflare WAF menggunakan dasbor Cloudflare
- Login ke dasbor Cloudflare.
- Klik situs yang perlu dipantau.
- Buka Analytics & Logs > Logpush.
- Pilih Buat tugas Logpush.
- Di Pilih tujuan, pilih Google Cloud Storage.
- Masukkan atau pilih detail tujuan berikut:
- Bucket - Nama bucket Google Cloud
- Jalur - lokasi bucket dalam penampung penyimpanan
- Mengatur log ke dalam subfolder harian (direkomendasikan)
- Untuk Memberi Cloudflare akses untuk mengupload file ke bucket Anda, pastikan bucket Anda telah menambahkan Cloudflare IAM sebagai pengguna dengan peran Storage Object Admin.
- Setelah selesai memasukkan detail tujuan, pilih Lanjutkan.
- Untuk membuktikan kepemilikan, Cloudflare akan mengirimkan file ke tujuan yang Anda tentukan. Untuk menemukan token, pilih tombol Buka di tab Ringkasan pada file verifikasi kepemilikan, lalu tempelkan ke dasbor Cloudflare untuk memverifikasi akses Anda ke bucket. Masukkan Token Kepemilikan, lalu pilih Lanjutkan.
- Pilih set data yang akan dikirim ke layanan penyimpanan.
- Konfigurasi tugas Logpush Anda:
- Masukkan Nama tugas.
- Di bagian Jika log cocok, pilih peristiwa yang akan disertakan atau dihapus dari log Anda. Tidak semua set data memiliki opsi ini.
- Di Kirim kolom berikut, pilih untuk mengirim semua log ke tujuan penyimpanan atau memilih log yang ingin Anda kirim secara selektif.
- Pilih Submit setelah selesai mengonfigurasi tugas Logpush.
Mengonfigurasi feed di Google Security Operations untuk menyerap log Cloudflare WAF
- Pilih Setelan SIEM > Feed.
- Klik Tambahkan baru.
- Masukkan nama unik untuk Nama feed.
- Pilih Google Cloud Storage sebagai Source Type.
- Pilih Cloudflare WAF sebagai Jenis Log.
- Klik Get Service Account. Google Security Operations menyediakan akun layanan unik yang digunakan Google Security Operations untuk menyerap data.
- Konfigurasikan akses untuk akun layanan guna mengakses objek Cloud Storage. Untuk mengetahui informasi selengkapnya, lihat Memberikan akses ke akun layanan Google Security Operations.
- Klik Berikutnya.
- Konfigurasikan parameter input berikut:
- URI bucket penyimpanan
- URI adalah
- Opsi penghapusan sumber
- Klik Berikutnya, lalu klik Kirim.
Untuk informasi selengkapnya tentang feed Google Security Operations, lihat dokumentasi feed Google Security Operations. Untuk mengetahui informasi tentang persyaratan untuk setiap jenis feed, lihat Konfigurasi feed menurut jenis.
Jika Anda mengalami masalah saat membuat feed, hubungi dukungan Google Security Operations.
Referensi pemetaan kolom
Parser ini mengekstrak kolom dari log JSON Web Application Firewall (WAF) Cloudflare, yang mengubahnya menjadi Unified Data Model (UDM). Alat ini menangani berbagai kolom log, termasuk informasi jaringan, detail HTTP, hasil keamanan, dan metadata, dengan memetakan kolom tersebut ke kolom UDM yang sesuai untuk representasi dan analisis yang konsisten dalam Google Security Operations.
Tabel pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
Tindakan | security_result.action_details | Nilai kolom "Action" log mentah dipetakan ke security_result.action_details . |
Tindakan | security_result.action | Kolom security_result.action berasal dari nilai kolom "Action". "allow" memetakan ke ALLOW. "challengeSolved", "jschallengeSolved", "managedchallengenoninteractivesolved", dan "managedchallengeinteractivesolved" dipetakan ke ALLOW_WITH_MODIFICATION. "drop", "block", dan "connectionclose" dipetakan ke BLOCK. "challengefailed" dan "jschallengefailed" dipetakan ke FAIL. Nilai lain yang tidak kosong atau "tidak diketahui" akan dipetakan ke UNKNOWN_ACTION. |
ClientASN | network.asn | Nilai kolom "ClientASN" log mentah dikonversi menjadi string dan dipetakan ke network.asn . |
ClientASNDescription | additional.fields.key | Tetapkan ke "ClientASNDescription". |
ClientASNDescription | additional.fields.value.string_value | Nilai kolom "ClientASNDescription" log mentah dipetakan ke additional.fields.value.string_value . |
ClientCountry | principal.location.country_or_region | Nilai kolom "ClientCountry" log mentah dipetakan ke principal.location.country_or_region . |
ClientIP | principal.ip | Nilai kolom "ClientIP" log mentah dipetakan ke principal.ip . |
ClientRefererHost | intermediary.hostname | Nilai kolom "ClientRefererHost" log mentah dipetakan ke intermediary.hostname . |
ClientRefererPath | network.http.referral_url | Nilai kolom "ClientRefererPath" log mentah dipetakan ke network.http.referral_url . |
ClientRequestMethod | network.http.method | Nilai kolom "ClientRequestMethod" log mentah dipetakan ke network.http.method . |
ClientRequestHost | target.hostname | Nilai kolom "ClientRequestHost" log mentah dipetakan ke target.hostname . |
ClientRequestPath | target.file.full_path | Nilai kolom "ClientRequestPath" log mentah dipetakan ke target.file.full_path jika tidak kosong atau "/". |
ClientRequestProtocol | network.application_protocol | Bagian protokol dari nilai kolom "ClientRequestProtocol" (mis., "HTTP" dari "HTTP/1.1") diekstrak, dikonversi ke huruf besar, dan dipetakan ke network.application_protocol . |
ClientRequestUserAgent | network.http.user_agent | Nilai kolom "ClientRequestUserAgent" log mentah dipetakan ke network.http.user_agent . |
Datetime | metadata.event_timestamp | Nilai kolom "Datetime" log mentah diuraikan sebagai stempel waktu RFC 3339 dan dipetakan ke metadata.event_timestamp . |
EdgeColoCode | additional.fields.key | Tetapkan ke "EdgeColoCode". |
EdgeColoCode | additional.fields.value.string_value | Nilai kolom "EdgeColoCode" log mentah dipetakan ke additional.fields.value.string_value . |
EdgeResponseStatus | network.http.response_code | Nilai kolom "EdgeResponseStatus" log mentah dikonversi menjadi bilangan bulat dan dipetakan ke network.http.response_code . |
Jenis | metadata.product_event_type | Nilai kolom "Jenis" log mentah dipetakan ke metadata.product_event_type . |
Metadata.filter | target.resource.attribute.labels.key | Tetapkan ke "Filter metadata". |
Metadata.filter | target.resource.attribute.labels.value | Nilai kolom "Metadata.filter" log mentah dipetakan ke target.resource.attribute.labels.value . |
Metadata.type | target.resource.attribute.labels.key | Tetapkan ke "Jenis metadata". |
Metadata.type | target.resource.attribute.labels.value | Nilai kolom "Metadata.type" log mentah dipetakan ke target.resource.attribute.labels.value . |
RayID | metadata.product_log_id | Nilai kolom "RayID" log mentah dipetakan ke metadata.product_log_id . |
RuleID | security_result.rule_id | Nilai kolom "RuleID" log mentah dipetakan ke security_result.rule_id . |
Sumber | security_result.rule_name | Nilai kolom "Sumber" log mentah dipetakan ke security_result.rule_name . |
T/A | metadata.vendor_name | Di-hardcode ke "Cloudflare". |
T/A | metadata.product_name | Di-hardcode ke "Aggregator log Cloudflare". |
T/A | metadata.log_type | Di-hardcode ke "CLOUDFLARE_WAF". |
T/A | metadata.event_type | Ditentukan oleh logika parser berdasarkan keberadaan "ClientIP", "ClientRequestHost", dan nilai "app_protocol". Kemungkinan nilainya adalah NETWORK_HTTP, NETWORK_CONNECTION, STATUS_UPDATE, dan GENERIC_EVENT. |
Perubahan
2023-08-30
- Memulai kolom "ClientRequestPath".
2023-02-02
- Memvalidasi nilai 'security_result' sebelum digabungkan ke peristiwa.
16-09-2022
- Memetakan kolom 'Action' ke 'security_result.action_details'.
- Memetakan 'security_result.action' ke 'ALLOW_WITH_MODIFICATION' saat tindakan berisi "challengeSolved", "jschallengeSolved", "managedchallengenoninteractivesolved", "managedchallengeinteractivesolved".
- Memetakan 'security_result.action' ke 'BLOCK' saat tindakan berisi "drop", "block", "connectionclose".
- Memetakan 'security_result.action' ke 'GAGAL' jika tindakan berisi "challengefailed", "jschallengefailed".
2022-07-25
- Deskripsi- Parser yang baru dibuat