Log per permintaan Google Cloud Armor untuk nama kebijakan keamanan, prioritas aturan pencocokan, tindakan terkait, dan informasi terkait dicatat sebagai bagian dari logging untuk Load Balancer Aplikasi eksternal dan Load Balancer Jaringan proxy eksternal. Logging untuk layanan backend baru dinonaktifkan secara default, jadi Anda harus mengaktifkan logging guna mencatat informasi logging lengkap untuk Cloud Armor.
Log Cloud Armor adalah bagian dari log Cloud Load Balancing. Artinya, pembuatan log Cloud Armor tunduk pada frekuensi sampling log yang dikonfigurasi untuk load balancer Anda. Jika Anda mengurangi frekuensi sampling untuk load balancer, log permintaan Cloud Armor Anda akan diambil sampelnya pada frekuensi yang lebih rendah tersebut. Selain itu, jika Anda menggunakan referensi layanan lintas project, log akan dibuat di project layanan atau host yang mencakup frontend dan peta URL load balancer Anda. Oleh karena itu, sebaiknya administrator di project frontend memberikan izin untuk membaca log dan metrik kepada administrator di project backend.
Dengan menggunakan logging, Anda dapat melihat setiap permintaan yang dievaluasi oleh kebijakan keamanan Cloud Armor
dan hasil atau tindakan yang diambil berdasarkan aturan yang cocok dengan
prioritas tertinggi. Misalnya, untuk melihat permintaan yang ditolak, Anda dapat menggunakan filter seperti
jsonPayload.enforcedSecurityPolicy.outcome="DENY" atau
jsonPayload.statusDetails="denied_by_security_policy".
Selain itu, Anda dapat menetapkan berbagai tingkat logging untuk membantu Anda mengevaluasi apakah kebijakan keamanan dan aturannya berfungsi seperti yang diharapkan. Untuk mengetahui informasi selengkapnya, lihat Logging panjang.
Entri log kebijakan keamanan
Entri log berikut di Logs Explorer adalah untuk
logging aturan dan kebijakan keamanan Cloud Armor. Entri mencakup struktur berikut
di jsonPayload. Detail permintaan HTTP muncul dalam pesan httpRequest.
statusDetails: deskripsi tekstual kode respons.redirected_by_security_policy: permintaan dialihkan oleh aturan pengalihan,GOOGLE_RECAPTCHAatauEXTERNAL_302.denied_by_security_policy: permintaan ditolak oleh load balancer karena kebijakan keamanan Cloud Armor.body_denied_by_security_policy: isi permintaan ditolak oleh load balancer karena kebijakan keamanan Cloud Armor.
enforcedSecurityPolicy: aturan kebijakan keamanan yang diterapkan.name: nama kebijakan keamanan.priority: prioritas numerik aturan yang cocok dalam kebijakan keamanan.adaptiveProtection: informasi tentang aturan Perlindungan Adaptif yang di-deploy secara otomatis, jika berlaku.autoDeployAlertId: ID pemberitahuan peristiwa yang dideteksi oleh Perlindungan Adaptif.
configuredAction: nama tindakan yang dikonfigurasi dalam aturan pencocokan—misalnya,ALLOW,DENY,GOOGLE_RECAPTCHA,EXTERNAL_302,THROTTLE(untuk aturan throttle),RATE_BASED_BAN(untuk aturan pemblokiran berbasis kapasitas).rateLimitAction: informasi tentang tindakan pembatasan kapasitas saat aturan throttle atau aturan pemblokiran berbasis kapasitas cocok.key: nilai kunci pembatasan kapasitas (hingga 36 byte). Kolom ini dihilangkan jika jenis kunci adalahALL, atau jika jenis kunci adalahHTTP-HEADERatauHTTP-COOKIEdan header atau cookie yang ditentukan tidak ada dalam permintaan.outcome: kemungkinan nilainya adalah sebagai berikut:"RATE_LIMIT_THRESHOLD_CONFORM"jika di bawah nilai minimum pembatasan kapasitas yang dikonfigurasi."RATE_LIMIT_THRESHOLD_EXCEED"jika melebihi nilai minimum pembatasan kapasitas yang dikonfigurasi."BAN_THRESHOLD_EXCEED"jika melebihi batas pemblokiran yang dikonfigurasi.
outcome: hasil eksekusi tindakan yang dikonfigurasi—misalnya,ACCEPT,DENY,REDIRECT,EXEMPT.preconfiguredExprIds: ID semua ekspresi aturan WAF yang telah dikonfigurasi sebelumnya dan memicu aturan.threatIntelligence: informasi tentang daftar alamat IP yang cocok dari Google Threat Intelligence, jika berlaku.categories: nama daftar alamat IP yang cocok.
addressGroup: informasi tentang grup alamat yang cocok, jika ada.names: nama grup alamat yang cocok.
previewSecurityPolicy: diisi jika permintaan cocok dengan aturan yang dikonfigurasi untuk pratinjau (hanya ada jika aturan pratinjau akan diprioritaskan daripada aturan yang diterapkan).name: nama kebijakan keamananpriority: prioritas numerik aturan yang cocok dalam kebijakan keamanan.configuredAction: nama tindakan yang dikonfigurasi dalam aturan pencocokan—misalnya,ALLOW,DENY,GOOGLE_RECAPTCHA,EXTERNAL_302,THROTTLE(untuk aturan throttle),RATE_BASED_BAN(untuk aturan pemblokiran berbasis kapasitas).rateLimitAction: informasi tentang tindakan pembatasan kapasitas saat aturan throttle atau aturan pemblokiran berbasis kapasitas cocok.key: nilai kunci pembatasan kapasitas (hingga 36 byte). Kolom ini dihilangkan jika jenis kunci adalahALL, atau jika jenis kunci adalahHTTP-HEADERatauHTTP-COOKIEdan header atau cookie yang ditentukan tidak ada dalam permintaan.outcome: kemungkinan nilainya adalah sebagai berikut:"RATE_LIMIT_THRESHOLD_CONFORM"jika di bawah nilai minimum pembatasan kapasitas yang dikonfigurasi."RATE_LIMIT_THRESHOLD_EXCEED"jika melebihi nilai minimum pembatasan kapasitas yang dikonfigurasi."BAN_THRESHOLD_EXCEED"jika melebihi batas pemblokiran yang dikonfigurasi.
outcome: hasil eksekusi tindakan yang dikonfigurasi—misalnya,ACCEPT,DENY,REDIRECT,EXEMPT.preconfiguredExprIds: ID semua ekspresi aturan WAF yang telah dikonfigurasi sebelumnya dan memicu aturan.threatIntelligence: informasi tentang daftar alamat IP yang cocok dari Threat Intelligence, jika berlaku.categories: nama daftar alamat IP yang cocok.
addressGroup: informasi tentang grup alamat yang cocok, jika ada.names: nama grup alamat yang cocok.
enforcedEdgeSecurityPolicy: aturan kebijakan keamanan edge yang diterapkan.name: nama kebijakan keamanan.priority: prioritas aturan yang cocok dalam kebijakan keamanan.configuredAction: nama tindakan yang dikonfigurasi dalam aturan pencocokan—misalnya,ALLOW,DENY.outcome: hasil eksekusi tindakan yang dikonfigurasi—misalnya,ACCEPT,DENY.
previewEdgeSecurityPolicy: diisi jika permintaan cocok dengan aturan kebijakan keamanan edge yang dikonfigurasi untuk pratinjau. Entri logpreviewEdgeSecurityPolicyhanya ada jika aturan pratinjau lebih diprioritaskan daripada aturan yang diterapkan.name: nama kebijakan keamanan.priority: prioritas numerik aturan yang cocok dalam kebijakan keamanan.configuredAction: nama tindakan yang dikonfigurasi dalam aturan pencocokan—misalnya,ALLOW,DENY.outcome: hasil eksekusi tindakan yang dikonfigurasi—misalnya,ACCEPT,DENY.
Melihat log
Anda dapat melihat log untuk kebijakan keamanan Cloud Armor hanya di konsolGoogle Cloud .
Konsol
Di konsol Google Cloud , buka kebijakan Cloud Armor.
Klik Tindakan.
Pilih Lihat log.
Meminta logging data
Jika digunakan dengan Cloud Armor, jsonPayload memiliki kolom tambahan
berikut:
securityPolicyRequestData: data yang berkaitan dengan permintaan saat diproses oleh kebijakan keamanan, terlepas dari aturan mana yang akhirnya cocok.recaptchaActionToken: data yang terkait dengan token tindakan reCAPTCHA.score: skor legitimasi pengguna yang disematkan dalam token tindakan reCAPTCHA. Hanya ada jika token tindakan reCAPTCHA dilampirkan dengan permintaan dan berhasil didekode berdasarkan aturan kebijakan keamanan. Untuk mengetahui informasi selengkapnya, lihat Menerapkan penilaian reCAPTCHA.
recaptchaSessionToken: data yang terkait dengan token sesi reCAPTCHA.score: skor legitimasi pengguna yang disematkan dalam token sesi reCAPTCHA. Hanya ada jika token sesi reCAPTCHA dilampirkan dengan permintaan dan berhasil didekode berdasarkan aturan kebijakan keamanan.
userIpInfo: data yang terkait dengan penggunaan IP pengguna.source: kolom yang biasanya merupakan header tempat IP pengguna di-resolve.ipAddress: alamat IP yang di-resolve dari kolom sumber.
remoteIpInfo: data yang terkait dengan alamat IP klien permintaan.ipAddress- Alamat IP sumber permintaan.region_code: kode negara atau kode region dua huruf untuk alamat IP.asn: Nomor Sistem Otonom (ASN) lima digit yang sesuai dengan alamat IP.
tlsJa4Fingerprint: sidik jari TTL/SSL JA4 jika klien terhubung menggunakanHTTPS,HTTP/2, atauHTTP/3. Hanya ada jika sidik jari tersedia dan ada kebijakan keamanan yang mengevaluasi permintaan (terlepas dari apakah ekspresi dalam kebijakan cocok dengan permintaan).tlsJa3Fingerprint: sidik jari TTL/SSL JA3 jika klien terhubung menggunakanHTTPS,HTTP/2, atauHTTP/3. Hanya ada jika sidik jari tersedia dan ada kebijakan keamanan yang mengevaluasi permintaan (terlepas dari apakah ekspresi dalam kebijakan cocok dengan permintaan).
Contoh log
Berikut adalah contoh detail log untuk aturan throttle yang memblokir permintaan:
jsonPayload: {
enforcedSecurityPolicy: {
priority: 100
name: "sample-prod-policy"
configuredAction: "THROTTLE"
outcome: "DENY"
rateLimitAction: {
key:"sample-key"
outcome:"RATE_LIMIT_THRESHOLD_EXCEED"
}
}
@type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:16:48.185763Z"
Berikut adalah contoh detail log untuk aturan pemblokiran berbasis kapasitas yang memblokir permintaan:
jsonPayload: {
@type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
enforcedSecurityPolicy: {
priority: 150
name: "sample-prod-policy"
outcome: "DENY"
configuredAction: "RATE_BASED_BAN"
rateLimitAction: {
key:"sample-key"
outcome:"BAN_THRESHOLD_EXCEED"
}
}
statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:27:17.393244Z"
Langkah berikutnya
- Pelajari cara Memecahkan masalah Cloud Armor.