Setelah mengaktifkan pengumpulan log untuk nama domain yang dilindungi oleh WAF, Anda dapat menggunakan fitur Log Search untuk melakukan kueri dan menganalisis data log secara real time. Berdasarkan hasil tersebut, Anda dapat membuat grafik, menyiapkan peringatan, serta melakukan tindakan lainnya.
Prasyarat
Anda telah mengaktifkan Log Service untuk WAF. Untuk informasi selengkapnya, lihat Memulai Log Service untuk WAF.
Anda telah mengaktifkan pengumpulan log untuk nama domain yang dilindungi oleh WAF. Untuk informasi selengkapnya, lihat Menggunakan Log Service.
Lakukan kueri dan analisis log
-
Masuk ke Konsol Web Application Firewall (WAF). Di bilah menu atas, pilih kelompok sumber daya dan wilayah untuk instans WAF Anda: Chinese Mainland atau Outside Chinese Mainland.
-
Di panel navigasi kiri, pilih .
Dari daftar drop-down nama domain, pilih nama domain, lalu aktifkan sakelar Status.
Daftar drop-down nama domain (① pada gambar) hanya berisi nama domain yang dilindungi oleh WAF. Jika Anda belum menambahkan nama domain ke WAF, tambahkan terlebih dahulu. Untuk informasi selengkapnya, lihat Tutorial.
Di tab Log Search, gunakan pernyataan pencarian dan analitik untuk melakukan kueri dan menganalisis data log WAF.
Di kotak pencarian (① pada gambar), masukkan pernyataan pencarian.
Pernyataan pencarian menggunakan sintaks khusus Log Service. Untuk informasi selengkapnya tentang sintaks tersebut, lihat Sintaks dan fungsi pencarian. Anda dapat menggunakan field log WAF sebagai field kueri dalam pernyataan pencarian Anda. Untuk daftar field yang didukung, lihat Field log WAF.
Jika Anda tidak terbiasa dengan sintaks pencarian, gunakan Advanced Search. Buka Advanced Search di atas kotak pencarian, atur kondisi pencarian, lalu klik Search. Pernyataan pencarian yang sesuai dengan kondisi Anda akan dibuat secara otomatis. Tabel berikut menjelaskan kondisi pencarian yang tersedia.
Kondisi pencarian
Deskripsi
IP
Alamat IP client.
Request ID
ID unik yang dihasilkan WAF untuk permintaan client. WAF menyediakan ID ini saat mengembalikan halaman blokir atau tantangan slider CAPTCHA. Anda dapat menggunakan ID ini untuk pemecahan masalah.
Rule ID
ID aturan perlindungan WAF yang dipicu oleh permintaan. Anda dapat menemukan ID aturan di halaman Security Report atau di halaman .
Status Code Returned from Origin Server
Kode status HTTP yang dikembalikan oleh origin server.
Status Code Returned from WAF
Kode status HTTP yang dikembalikan WAF kepada client.
Protection Features
Jenis aturan perlindungan WAF yang sesuai dengan permintaan. Untuk informasi selengkapnya tentang modul perlindungan WAF dan cara mengonfigurasi aturan untuk setiap modul, lihat Ikhtisar.
Untuk melakukan analisis statistik pada hasil kueri, tambahkan pernyataan analitik setelah pernyataan pencarian di kotak pencarian (① pada gambar). Jika Anda hanya ingin melakukan kueri log yang memenuhi kondisi tertentu, lewati langkah ini.
Pisahkan pernyataan analitik dari pernyataan pencarian dengan tanda pipa vertikal (|). Pernyataan analitik menggunakan sintaks SQL-92 standar. Untuk informasi selengkapnya tentang pernyataan analitik, lihat Ikhtisar kueri dan analisis log.
Gunakan pemilih waktu (② pada gambar) untuk menentukan rentang waktu untuk kueri log.
Klik Search & Analyze (③ pada gambar).
Hasil kueri dan analisis—yaitu log WAF yang sesuai dengan kueri Anda—ditampilkan di bagian bawah halaman. Hasilnya mencakup histogram distribusi log, tab Raw Log, dan Graph. Anda dapat melakukan analisis cepat, membuat grafik, dan menyiapkan peringatan berdasarkan hasil tersebut. Untuk informasi selengkapnya, lihat Kelola hasil kueri dan analisis dan Buat peringatan.
Untuk contoh tambahan kueri dan analisis log, lihat Contoh kueri dan analisis.
Kelola hasil kueri dan analisis
Log Service untuk WAF menampilkan hasil kueri dan analisis sebagai histogram log, log mentah, dan grafik. Anda juga dapat membuat peringatan dan menjalankan kueri cepat.
Histogram log
Histogram log menunjukkan distribusi waktu dari log yang dikueri.
Arahkan kursor ke batang hijau untuk melihat rentang waktu dan jumlah log yang sesuai.
Klik batang hijau untuk melihat distribusi waktu dengan granularitas lebih tinggi. Tab Raw Log juga diperbarui untuk menampilkan hasil dalam rentang waktu yang dipilih.
Log Mentah
Di tab Raw Log, Anda dapat melihat hasil detail dari kueri log Anda.
Analisis cepat
Klik ikon
dan pilih untuk menampilkan kunci atau alias-nya. Anda dapat mengonfigurasi alias saat membuat indeks. Misalnya, jika host adalah alias untuk host_name, daftar Analisis Cepat akan menampilkan host setelah Anda memilih Show Field Aliases.CatatanJika suatu field tidak memiliki alias, kuncinya tetap ditampilkan di daftar Analisis Cepat meskipun Anda memilih Show Field Aliases.
Untuk informasi selengkapnya, lihat Pengaturan field.
Lihat detail log
Klik Table untuk melihat log dalam format tabel.
Klik Raw Data untuk melihat log mentah.
Klik ikon
untuk menyalin log.Klik ikon
untuk melihat detail tag.
Klik Wrap untuk mengaktifkan atau menonaktifkan pembungkus kata pada tampilan log.
Klik Time untuk menampilkan log dalam urutan kronologis.
Klik ikon
untuk mengunduh log ke komputer lokal Anda. Anda dapat mengunduh log secara langsung, menggunakan Cloud Shell, atau menggunakan tool command line. Untuk informasi selengkapnya, lihat Unduh log.Klik ikon
untuk mengonfigurasi Tag Configurations, Column Settings, JSON Configurations, dan Event Settings.
Grafik
Di tab Graph, Anda dapat melihat visualisasi hasil kueri dan analisis Anda. Anda harus memasukkan pernyataan analitik SQL-92 di kotak pencarian untuk melihat grafik yang sesuai di tab ini.
Ganti jenis grafik: Pilih jenis grafik berbeda untuk melihat hasil analisis. Untuk informasi selengkapnya tentang jenis grafik yang berbeda, lihat Grafik.
Pratinjau grafik: Setelah mengganti jenis grafik, Anda dapat melihat pratinjau efeknya.
Klik Add to New Dashboard untuk menambahkan grafik saat ini ke dasbor. Klik Download Log untuk mengunduh log ke komputer Anda. Anda dapat memilih Download, Download with Cloud Shell, atau Download with CLI. Untuk informasi selengkapnya, lihat Unduh log.
Ubah konfigurasi grafik
Tindakan
Deskripsi
Konfigurasikan pengaturan global untuk grafik. Misalnya, jika Anda memilih skema warna, seluruh grafik akan menggunakan skema tersebut.
Konfigurasikan pengaturan visualisasi personalisasi untuk hasil kueri tunggal atau kolom tunggal dalam hasil. Misalnya, Anda dapat memilih hasil kueri tertentu lalu menerapkan skema warna hanya pada bagian grafik yang sesuai.
Konfigurasikan interaksi untuk hasil kueri tunggal atau kolom tunggal dalam hasil kueri guna analisis lebih mendalam.
LogReduce
Di tab LogReduce, klik Enable LogReduce untuk mengelompokkan log serupa selama pengumpulan log. Untuk informasi selengkapnya, lihat LogReduce.
Buat peringatan
Anda dapat membuat peringatan berdasarkan pernyataan pencarian dan analitik saat ini. Setelah membuat peringatan, Log Service akan mengevaluasi hasil kueri secara berkala. Jika hasilnya memenuhi kondisi pemicu yang ditentukan, Log Service akan mengirimkan notifikasi kepada Anda. Hal ini memungkinkan Anda memantau status layanan secara real time.
Di halaman kueri dan analisis, pilih Save as Alert > New Alert untuk membuat peringatan berdasarkan hasil kueri. Untuk informasi selengkapnya, lihat Konfigurasi peringatan.
Contoh kueri dan analisis
Analisis jumlah permintaan serangan yang diblokir oleh berbagai modul perlindungan WAF dalam interval 15 menit. Hasilnya menunjukkan waktu (time) dan jumlah permintaan yang diblokir oleh modul-modul berikut: Mesin aturan WAF (wafmodule), blacklist alamat IP dan kebijakan Access Control List (ACL) kustom (aclmodule), serta Serangan flood HTTP (httpfloodmodule).
* | SELECT time_series(__time__, '15m', '%H:%i', '0') as time, COUNT_if(final_plugin = 'waf') as "wafmodule", COUNT_if(final_plugin = 'acl') as "aclmodule", COUNT_if(final_plugin = 'cc') as "httpfloodmodule" GROUP by time ORDER by timeAnalisis distribusi jenis modul perlindungan (final_plugin) yang memicu aksi akhir. Hasilnya menunjukkan jumlah hit (times), nama domain yang diminta (host), dan modul perlindungan akhir (final_plugin).
* | SELECT count(*) as times, host, final_plugin GROUP by host, final_plugin ORDER by times descAnalisis permintaan per detik (QPS) dalam interval 15 menit. Hasilnya menunjukkan waktu (time) dan QPS.
* | SELECT time_series(__time__, '15m', '%H:%i', '0') as time, count(*) / 900 as QPS GROUP by time ORDER by timeTemukan nama domain yang paling sering menjadi sasaran serangan flood HTTP. Hasilnya menunjukkan jumlah permintaan yang diblokir (times) dan nama domain yang diminta (host).
* and acl_action :block | SELECT count(*) as times, host GROUP by host ORDER by times descAnalisis detail log permintaan website dalam interval 1 detik. Hasilnya menunjukkan waktu (time), nama domain yang diminta (host), path permintaan (request_path), metode permintaan (request_method), kode status respons WAF (status), kode status respons origin server (upstream_status), dan string kueri (querystring).
* | SELECT date_format(date_trunc('second', __time__), '%H:%i:%s') as time, host, request_path, request_method, status, upstream_status, querystring LIMIT 10Lakukan kueri 10 catatan permintaan serangan terbaru untuk website (your_domain_name). Hasilnya menunjukkan waktu permintaan (time), IP client sebenarnya (real_client_ip), dan jenis client (http_user_agent).
matched_host: your_domain_name and final_action: block | SELECT time, real_client_ip, http_user_agent ORDER by time desc LIMIT 10Analisis jumlah hari (days_passed, dibulatkan ke satu tempat desimal) yang telah berlalu sejak permintaan serangan ke website (your_domain_name) diblokir oleh WAF.
matched_host: your_domain_name and final_action: block | SELECT time, round((to_unixtime(now())-__time__) / 86400, 1) as "days_passed", real_client_ip, http_user_agent ORDER by time desc LIMIT 10Analisis tren harian permintaan serangan ke website (your_domain_name).
matched_host: your_domain_name and final_action: block | SELECT date_trunc('day', __time__) as dt, count(1) as PV GROUP by dt ORDER by dtFungsi date_trunc digunakan untuk mengelompokkan timestamp berdasarkan hari. Untuk informasi selengkapnya tentang fungsi ini, lihat Fungsi tanggal dan waktu.
Analisis distribusi negara asal (country) untuk permintaan serangan ke website (your_domain_name).
matched_host: your_domain_name and final_action: block | SELECT ip_to_country( if(real_client_ip = '-', remote_addr, real_client_ip) ) as country, count(1) as "Number of attacks" GROUP by countryPada log WAF, field
real_client_ipmerepresentasikan IP client sebenarnya. Jika IP client sebenarnya tidak dapat diperoleh karena alasan seperti akses pengguna melalui server proxy atau field IP pada header permintaan salah (dalam kasus ini nilaireal_client_ipadalah-), Anda dapat menggunakan fieldremote_addr(yang merepresentasikan alamat remote) sebagai IP client sebenarnya.Analisis distribusi provinsi asal (province) untuk permintaan serangan ke website (your_domain_name).
matched_host: your_domain_name and final_action: block | SELECT ip_to_province( if(real_client_ip = '-', remote_addr, real_client_ip) ) as province, count(1) as "Number of attacks" GROUP by provinceFungsi ip_to_province mengambil informasi provinsi untuk IP client sebenarnya. Untuk informasi selengkapnya tentang fungsi ini, lihat Fungsi IP.