Google Cloud Armor dan reCAPTCHA Enterprise menyediakan alat untuk membantu Anda mengevaluasi dan menindaklanjuti permintaan masuk yang mungkin berasal dari klien otomatis.
reCAPTCHA Enterprise menggunakan teknik analisis risiko lanjutan untuk membedakan antara pengguna manusia dan klien otomatis. reCAPTCHA Enterprise menilai pengguna berdasarkan konfigurasi kunci situs reCAPTCHA WAF. Selanjutnya, alat akan mengeluarkan token terenkripsi dengan atribut yang mewakili risiko terkait. Google Cloud Armor akan menguraikan token ini secara inline, tanpa permintaan atau respons tambahan terhadap layanan reCAPTCHA Enterprise. Berdasarkan atribut token, Google Cloud Armor memungkinkan Anda mengizinkan, menolak, membatasi kapasitas, atau mengalihkan permintaan masuk. Untuk mengetahui informasi selengkapnya, baca ringkasan integrasi Google Cloud Armor dan reCAPTCHA Enterprise.
Pengelolaan bot Google Cloud Armor mencakup kemampuan terintegrasi berikut.
Verifikasi manual (halaman tantangan reCAPTCHA)
- Anda harus mengonfigurasi aturan kebijakan keamanan untuk mengalihkan permintaan penilaian reCAPTCHA Enterprise.
- Anda dapat membuat kunci situs WAF reCAPTCHA Enterprise Anda sendiri dan mengaitkannya dengan kebijakan keamanan Anda. Sebaiknya Anda melakukan hal ini. Untuk mengetahui informasi selengkapnya, lihat Mengimplementasikan tantangan reCAPTCHA.
- Anda hanya dapat mengizinkan pengguna akhir yang lulus tantangan manual reCAPTCHA Enterprise dengan mengalihkan pengguna akhir untuk penilaian reCAPTCHA Enterprise.
Menerapkan penilaian reCAPTCHA Enterprise tanpa hambatan
- Anda dapat melakukan berbagai tindakan pada permintaan masuk berdasarkan penilaian reCAPTCHA Enterprise terhadap risiko yang berasal dari permintaan tersebut dari bot. Anda dapat menulis aturan kebijakan keamanan untuk mengevaluasi dan memfilter traffic berdasarkan skor token dan atribut token lainnya.
- Anda harus mengimplementasikan token tindakan reCAPTCHA Enterprise, token sesi, atau keduanya. Token tindakan reCAPTCHA didukung di aplikasi yang berjalan di situs, iOS, dan Android. Token sesi reCAPTCHA hanya didukung di situs. Untuk mengetahui informasi selengkapnya tentang token reCAPTCHA, lihat token tindakan reCAPTCHA dan token sesi reCAPTCHA.
- Anda harus mengonfigurasi aturan kebijakan keamanan yang mengevaluasi token reCAPTCHA Enterprise.
- Untuk mencegah pencurian token, sebaiknya kaitkan kunci reCAPTCHA Enterprise untuk WAF dengan aturan kebijakan keamanan Anda.
Pengelolaan bot Google Cloud Armor juga mencakup kemampuan berikut.
- Pengalihan (302)
- Anda dapat mengalihkan permintaan ke URL alternatif yang telah dikonfigurasi dengan mengonfigurasi Google Cloud Armor untuk menyalurkan respons HTTP 302 ke klien.
- Lengkapi permintaan
- Anda dapat menyisipkan header kustom dalam permintaan, dan nilai statis ke dalam header tersebut, sebelum mem-proxy permintaan ke backend Anda.
Kasus penggunaan
Bagian ini menjelaskan cara menggunakan kemampuan pengelolaan bot Google Cloud Armor untuk memitigasi risiko bot dan mengontrol akses dari klien otomatis.
Gunakan verifikasi login manual untuk membedakan antara pengguna yang sah dan klien otomatis
Anda dapat mengalihkan permintaan ke reCAPTCHA Enterprise untuk menilai klien akhir dan melayani tantangan manual jika diperlukan, tanpa penerapan reCAPTCHA Enterprise tambahan. Jika pengguna manusia memiliki tanda tangan yang sama (seperti jalur URL atau tanda tangan L7 lainnya) dengan bot atau sistem yang melanggar, tindakan ini menyediakan cara bagi mereka untuk membuktikan bahwa mereka adalah manusia. Hanya pengguna yang lulus penilaian yang dapat mengakses layanan Anda.
Diagram berikut menunjukkan cara verifikasi manual membedakan apakah permintaan berasal dari manusia atau klien otomatis:
Misalnya pengguna Maya dan bot menjelajahi halaman login (/login.html
) di situs Anda. Untuk mengizinkan akses ke Maya tanpa
memberikan akses ke bot, Anda dapat mengonfigurasi aturan kebijakan keamanan dengan
ekspresi pencocokan lanjutan request.path.matches("/login.html")
, dengan
tindakan redirect
jenis GOOGLE_RECAPTCHA
. Pengalaman pengguna secara menyeluruh
adalah sebagai berikut:
- Pengguna akhir mengunjungi situs Anda untuk pertama kalinya.
- Google Cloud Armor mengevaluasi permintaan tersebut, dan menentukan untuk mengalihkannya ke reCAPTCHA Enterprise.
- reCAPTCHA Enterprise merespons dengan halaman HTML dengan reCAPTCHA Enterprise JavaScript yang disematkan.
- Saat respons dirender, JavaScript tersemat akan dijalankan untuk menilai pengguna,
dan menayangkan tantangan manual jika diperlukan.
- Jika pengguna lulus penilaian, reCAPTCHA Enterprise akan menerbitkan cookie pengecualian, yang otomatis disertakan oleh browser ke setiap permintaan berikutnya ke situs yang sama hingga masa berlaku cookie tersebut berakhir.
- Jika tidak, reCAPTCHA Enterprise tidak mengeluarkan cookie pengecualian.
Dalam contoh ini, hanya Maya yang lulus penilaian reCAPTCHA Enterprise dan menerima cookie pengecualian, sehingga mendapatkan akses ke situs Anda.
Saat menggunakan verifikasi login manual, sebaiknya buat kunci situs reCAPTCHA WAF Anda sendiri dan kaitkan dengan kebijakan keamanan. Hal ini memungkinkan Anda melihat metrik reCAPTCHA Enterprise yang terkait dengan kunci situs dan melatih model keamanan yang spesifik untuk kunci situs tersebut. Untuk mengetahui informasi selengkapnya, lihat Membuat kunci situs tantangan reCAPTCHA WAF.
Jika Anda tidak membuat dan mengaitkan kunci situs, reCAPTCHA Enterprise akan menggunakan kunci situs yang dikelola Google selama penilaian. Anda tidak dapat melihat metrik reCAPTCHA yang terkait dengan kunci situs yang bukan milik Anda, termasuk kunci situs yang dikelola Google.
Menerapkan penilaian reCAPTCHA Enterprise
Jika ada token reCAPTCHA Enterprise yang dilampirkan ke permintaan masuk, Google Cloud Armor akan mengevaluasi permintaan tersebut dan menerapkan tindakan yang dikonfigurasi berdasarkan setiap atribut dalam token. Evaluasi kebijakan keamanan Google Cloud Armor dilakukan di edge jaringan Google, sehingga backend Anda tidak terlibat dalam penyandian token.
Token reCAPTCHA Enterprise
reCAPTCHA Enterprise menerbitkan dua jenis token: token tindakan dan token sesi. Kedua jenis token menampilkan skor untuk setiap permintaan berdasarkan interaksi dengan situs atau aplikasi Anda. Kedua jenis token berisi atribut, termasuk skor yang mewakili risiko yang terkait dengan pengguna. Token ini juga berisi informasi tentang kunci reCAPTCHA Enterprise yang Anda gunakan saat token dibuat.
Sebelum mengonfigurasi aturan kebijakan keamanan, Anda harus memutuskan apakah akan menggunakan token tindakan, token sesi, atau keduanya. Sebaiknya baca dokumentasi reCAPTCHA Enterprise untuk memberi tahu keputusan Anda. Untuk informasi selengkapnya, lihat perbandingan kasus penggunaan reCAPTCHA Enterprise.
Setelah menentukan jenis token yang ingin digunakan, terapkan reCAPTCHA Enterprise untuk token yang akan dilampirkan dengan permintaan. Untuk mengetahui informasi tentang penerapan token di reCAPTCHA Enterprise, lihat halaman berikut:
- Aplikasi web
- Aplikasi seluler
Terakhir, gunakan bahasa aturan Google Cloud Armor untuk mengonfigurasi aturan kebijakan keamanan guna mengevaluasi token reCAPTCHA Enterprise yang dilampirkan dengan permintaan. Untuk mencegah pencurian token, sebaiknya Anda mengaitkan kunci reCAPTCHA Enterprise dengan aturan kebijakan keamanan Anda. Ketika Anda mengaitkan kunci reCAPTCHA dengan aturan kebijakan keamanan, Google Cloud Armor akan melakukan validasi tambahan pada token dengan membandingkan kunci reCAPTCHA dalam token dengan kunci reCAPTCHA yang terkait dengan aturan tersebut. Google Cloud Armor menganggap token dengan kunci reCAPTCHA yang tidak dikenal sebagai tidak valid. Untuk mengetahui informasi selengkapnya, lihat menerapkan penilaian tanpa hambatan reCAPTCHA Enterprise.
Gambar berikut menunjukkan alur penerapan token reCAPTCHA Enterprise.
Pengalihan (respons 302)
Anda dapat menggunakan tindakan pengalihan berbasis URL untuk mengalihkan permintaan secara eksternal ke endpoint yang berbeda. Berikan target pengalihan dalam bentuk URL, dan Google Cloud Armor akan mengalihkan permintaan dengan menampilkan respons HTTP 302 ke klien.
Dekorasi permintaan
Google Cloud Armor dapat menyisipkan header permintaan kustom dengan nilai statis yang ditentukan pengguna sebelum mem-proxy permintaan ke aplikasi Anda. Dengan opsi ini, Anda dapat memberi tag pada permintaan
yang mencurigakan untuk pemrosesan downstream alternatif, seperti menyajikan honey-pot, atau untuk
analisis dan pemantauan tambahan. Perhatikan bahwa parameter
tindakan ini harus ditambahkan ke tindakan allow
yang ada.
Header kustom
Jika Anda telah mengonfigurasi Google Cloud Armor untuk menyisipkan header atau nilai kustom dengan nama header yang sama dengan salah satu header kustom untuk Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, maka nilai header tersebut akan ditimpa oleh load balancer. Untuk mengetahui informasi selengkapnya, lihat Membuat header kustom di layanan backend.
Selain itu, jika Anda memilih nama header yang sudah ada dalam permintaan, termasuk header HTTP standar, nilai asli dalam header tersebut akan ditimpa oleh nilai yang ditetapkan pengguna, yang diberikan ke aturan Google Cloud Armor.
Mengintegrasikan dengan pembatasan kapasitas
Aturan pembatasan kapasitas Google Cloud Armor kompatibel dengan kemampuan pengelolaan bot. Misalnya, Anda dapat mengalihkan permintaan untuk penilaian reCAPTCHA Enterprise atau mengalihkan ke URL lain jika jumlah permintaan melebihi batas yang dikonfigurasi. Selain itu, Anda dapat mengidentifikasi klien untuk pembatasan kapasitas berdasarkan cookie atau token pengecualian reCAPTCHA Enterprise, untuk men-throttle permintaan atau memblokir klien yang menggunakan kembali atau menyalahgunakan cookie atau token yang sama pada tingkat yang melebihi batas yang dikonfigurasi pengguna.
Batas kapasitas cookie atau token pengecualian reCAPTCHA Enterprise
Demi keamanan, sebaiknya konfigurasikan aturan pembatasan kapasitas untuk mencegah penyalahgunaan token melalui beberapa penggunaan per token tindakan reCAPTCHA, token sesi, atau cookie pengecualian yang unik. Tabel berikut menjelaskan cara mengidentifikasi token atau cookie pengecualian reCAPTCHA Enterprise sebagai kunci dalam aturan pembatasan kapasitas.
Resource | enforce_on_key |
enforce_on_key_name |
---|---|---|
Cookie pengecualian | HTTP-COOKIE |
recaptcha-ca-e |
Token tindakan | HTTP-HEADER |
X-Recaptcha-Token |
Token sesi | HTTP-COOKIE |
recaptcha-ca-t |
Anda dapat men-throttle permintaan atau memblokir klien yang bergantung pada cookie atau token pengecualian yang sama, dan yang melebihi nilai minimum yang dikonfigurasi. Untuk mengetahui informasi selengkapnya tentang parameter pembatasan kapasitas, lihat Menerapkan pembatasan kapasitas.
Contoh pembatasan kapasitas
Pertama, anggaplah Anda hanya menggunakan verifikasi manual pada URL yang dipilih
(misalnya, /login.html
) di situs Anda. Untuk melakukannya, konfigurasikan aturan kebijakan keamanan sebagai berikut:
- Aturan 1: Jika ada cookie pengecualian valid yang disertakan dengan permintaan dan jumlah penggunaan cookie pengecualian berada di bawah nilai minimum yang Anda tetapkan, izinkan permintaan tersebut.
- Aturan 2: Alihkan permintaan untuk penilaian reCAPTCHA Enterprise.
Kedua, anggap Anda hanya menggunakan token tindakan atau token sesi di situs Anda.
Misalnya, Anda dapat menggunakan token tindakan untuk melindungi tindakan pengguna profil tinggi, seperti /login.html
. Untuk melakukannya, ambil tindakan berdasarkan skor dari token tindakan sebagai berikut:
- Aturan 1: Jika skor dari token tindakan lebih tinggi dari nilai minimum yang telah ditentukan (misalnya,
0.8
), izinkan permintaan jika jumlah penggunaan token tindakan berada di bawah batas yang Anda tentukan. - Aturan 2: Tolak permintaan.
Anda dapat mengonfigurasi aturan kebijakan keamanan yang serupa untuk menerapkan penilaian token sesi reCAPTCHA Enterprise.
Ketiga, anggaplah Anda menggabungkan token tindakan atau token sesi dengan tantangan manual pada URL yang dipilih (seperti /login.html
) di situs Anda, dan Anda ingin mengambil tindakan berdasarkan skor dari token tindakan. Dan Anda ingin memberi pengguna kesempatan kedua
dengan menyelesaikan tantangan jika skornya tidak cukup memuaskan. Untuk melakukannya, konfigurasi aturan kebijakan keamanan sebagai berikut:
- Aturan 1: Jika skor dari token tindakan lebih tinggi dari nilai minimum yang telah ditentukan (misalnya,
0.8
), izinkan permintaan jika jumlah penggunaan token tindakan berada di bawah batas yang Anda tentukan. - Aturan 2 dan 3: Jika skor dari token tindakan lebih tinggi dari nilai minimum yang telah ditentukan sebelumnya (misalnya,
0.5
), alihkan permintaan untuk penilaian reCAPTCHA Enterprise kecuali jika ada cookie pengecualian valid yang disertakan ke permintaan dan jumlah penggunaan cookie pengecualian tersebut berada di bawah nilai minimum yang Anda tetapkan. - Aturan 4: Tolak permintaan.
Anda dapat mengonfigurasi aturan kebijakan keamanan serupa untuk menerapkan penilaian token sesi reCAPTCHA Enterprise dengan tantangan manual.
Jika Anda tidak menyesuaikan aturan pembatasan kapasitas, Google Cloud Armor tidak akan menerapkan batas jumlah penggunaan untuk setiap cookie pengecualian reCAPTCHA, token tindakan, dan token sesi. Untuk token tindakan, sebaiknya gunakan nilai minimum
rendah (misalnya, 1
) dan interval waktu yang tinggi (misalnya 30
menit,
karena token tindakan valid selama 30 menit). Sebaiknya, capai nilai minimum berdasarkan statistik traffic Anda.