Jadwalkan dan jalankan pemindaian kustom pada aplikasi yang di-deploy menggunakan Web Security Scanner di konsol Google Cloud . Web Security Scanner mendukung pemindaian untuk URL dan IP publik yang tidak berada di balik firewall.
Sebelum memulai
Untuk menyiapkan pemindaian kustom menggunakan Web Security Scanner:
- Anda harus memiliki aplikasi yang di-deploy di URL atau IP publik. Web Security Scanner hanya mendukung situs yang menggunakan IPv4. Situs yang menggunakan IPv6 tidak dipindai.
- Anda harus mengaktifkan Security Command Center.
Sebelum memindai, audit aplikasi Anda dengan cermat untuk mengetahui fitur apa pun yang dapat memengaruhi data, pengguna, atau sistem di luar cakupan pemindaian yang dipilih.
Karena Web Security Scanner mengisi kolom, menekan tombol, mengklik link, dan interaksi lainnya, Anda harus menggunakannya dengan hati-hati. Web Security Scanner dapat mengaktifkan fitur yang mengubah status data atau sistem Anda, dengan hasil yang tidak diinginkan. Contoh:
- Dalam aplikasi blog yang mengizinkan komentar publik, Web Security Scanner dapat memposting string pengujian sebagai komentar di semua artikel blog Anda.
- Di halaman pendaftaran email, Web Security Scanner dapat membuat sejumlah besar email pengujian.
Untuk mengetahui tips tentang cara meminimalkan risiko, lihat praktik terbaik untuk mencegah konsekuensi yang tidak diinginkan.
Mengaktifkan Web Security Scanner
Aktifkan Pemindai Keamanan Web di Security Command Center untuk membuat dan menjalankan pemindaian kustom.
Jika Security Command Center aktif, Anda dapat mengaktifkan Web Security Scanner di konsol Google Cloud di halaman Setelan Security Command Center
Langkah 1: Men-deploy aplikasi pengujian
Untuk menyelesaikan penyiapan Web Security Scanner untuk pemindaian kustom, Anda memerlukan URL aplikasi Compute Engine, Google Kubernetes Engine (GKE), atau App Engine yang sudah di-deploy. Jika Anda tidak memiliki aplikasi yang di-deploy, atau jika Anda ingin mencoba Web Security Scanner dengan aplikasi pengujian, deploy aplikasi App Engine pengujian. Gunakan bahasa pilihan Anda:
Langkah 2: Tetapkan peran IAM
Untuk menjalankan pemindaian Web Security Scanner, Anda harus memiliki salah satu peran Identity and Access Management (IAM) berikut untuk project yang ingin Anda pindai:
- Editor
- Pemilik
Untuk menambahkan salah satu peran ini:
Buka halaman IAM & Admin di Google Cloud console.
Klik menu drop-down Project selector.
Pada dialog Pilih dari yang muncul, pilih project yang ingin Anda pindai menggunakan Web Security Scanner.
Di halaman IAM, di samping nama pengguna Anda, klik Edit.
Di panel Edit izin yang muncul, klik Tambahkan peran lain, lalu pilih salah satu peran berikut:
- Project > Pemilik
- Project > Editor
Setelah Anda selesai menambahkan peran, klik Simpan.
Pelajari lebih lanjut peran Web Security Scanner.
Langkah 3: Jalankan pemindaian
Saat Anda menyiapkan pemindaian, pemindaian akan dimasukkan dalam antrean untuk dijalankan nanti. Bergantung pada beban saat ini, mungkin perlu waktu beberapa jam sebelum pemindaian dijalankan. Untuk membuat, menyimpan, dan menjalankan pemindaian:
Buka halaman Web Security Scanner di konsol Google Cloud .
Pilih project yang berisi aplikasi yang di-deploy yang ingin Anda pindai.
Untuk menyiapkan pemindaian baru, klik Pemindaian baru:
Di halaman Create a new scan yang dimuat, tetapkan nilai berikut:
- Di bagian URL awal, masukkan URL aplikasi yang ingin Anda pindai.
- Di bagian Jadwal, pilih Mingguan.
- Di bagian Jalankan berikutnya pada, pilih tanggal.
Kotak untuk Ekspor ke Security Command Center akan otomatis dicentang. Jika Anda telah mengaktifkan Web Security Scanner sebagai sumber keamanan Security Command Center, hasil pemindaian akan muncul di halaman Temuan di konsol Google Cloud .
Untuk pemindaian pertama ini, gunakan pemindaian default tanpa mengubah nilai lain di halaman Buat pemindaian baru. Untuk mengetahui informasi selengkapnya tentang setelan pemindaian, lihat Memindai aplikasi.
Untuk membuat pemindaian, klik Simpan.
Di halaman Web Security Scanner, klik nama pemindaian untuk memuat halaman ringkasannya, lalu klik Jalankan pemindaian.
Pemindaian akan dimasukkan ke antrean, lalu akan dijalankan pada waktu mendatang. Pemindaian mungkin memerlukan waktu beberapa jam sebelum dijalankan.
Halaman ringkasan pemindaian menampilkan bagian hasil saat pemindaian selesai. Gambar berikut menunjukkan contoh hasil pemindaian saat tidak ada kerentanan yang terdeteksi:
Jika Anda telah mengaktifkan Web Security Scanner sebagai sumber keamanan Web Security Scanner, hasil pemindaian juga ditampilkan di konsol Google Cloud .
Untuk menampilkan detail tentang temuan tertentu, klik nama temuan di hasil pemindaian.
Anda kini telah menyelesaikan pemindaian Web Security Scanner dasar. Jika Anda memindai aplikasi Anda sendiri, pelajari cara menyesuaikan pemindaian di bagian memindai aplikasi di halaman ini.
Jika Anda men-deploy aplikasi pengujian untuk menjalankan pemindaian, selesaikan langkah pembersihan di halaman ini agar tidak dikenai biaya App Engine untuk aplikasi tersebut.
Langkah 4: Membersihkan
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Memindai aplikasi
Siapkan pemindaian kustom untuk aplikasi Anda menggunakan akun pengujian.
Langkah 1: Membuat akun uji coba
Saat memindai aplikasi, sebaiknya gunakan akun pengujian yang tidak memiliki akses ke data sensitif atau operasi berbahaya. Buat akun pengujian yang dapat login ke aplikasi Anda. Catat kredensial login untuk diberikan saat autentikasi ketika membuat pemindaian. Kredensial ini memungkinkan Anda menggunakan akun pengujian untuk memindai data.
Langkah 2: Membuat pemindaian
Buka halaman Web Security Scanner di konsol Google Cloud .
Klik Select, lalu pilih project yang sudah men-deploy aplikasi App Engine, Compute Engine, atau GKE.
Untuk menampilkan formulir pemindaian baru, klik Buat pemindaian atau Pemindaian baru.
Untuk menambahkan nilai ke formulir pemindaian baru, gunakan tabel berikut sebagai panduan:
Kolom Deskripsi URL Awal Situs dasar biasanya hanya memerlukan satu URL awal, seperti halaman beranda, utama, atau landing untuk situs, yang digunakan Web Security Scanner untuk menemukan semua halaman situs lainnya. Namun, Web Security Scanner mungkin tidak menemukan semua halaman jika situs memiliki:
- Banyak halaman
- Pulau halaman yang tidak terhubung
- Navigasi yang memerlukan JavaScript kompleks seperti menu bertingkat yang digerakkan oleh pengarahan kursor
Dalam kasus tersebut, tentukan lebih banyak URL awal untuk meningkatkan cakupan pemindaian.
URL yang dikecualikan Untuk mengurangi kompleksitas, pengecualian ditentukan menggunakan bahasa proto yang disederhanakan dengan menggunakan satu atau beberapa karakter pengganti *, bukan memerlukan ekspresi reguler yang valid. Untuk mengetahui detail dan contoh pola yang valid, lihat Mengecualikan URL di bagian lain halaman ini. Autentikasi > Akun Google Anda dapat membuat akun pengujian di Gmail, lalu menggunakan akun tersebut untuk memindai produk Anda. Jika Anda adalah pelanggan Google Workspace, Anda dapat membuat akun uji coba dalam domain Anda, misalnya,
test-account@yourdomain.com
. Di Pemindai Keamanan Web, akun ini berfungsi seperti akun Gmail. Autentikasi 2 langkah tidak didukung.Google menerapkan kebijakan nama asli di Akun Google. Jika nama di akun uji coba Anda tidak terlihat nyata, akun tersebut mungkin diblokir.
Autentikasi > Identity-Aware Proxy alfa Untuk melindungi resource dengan Identity-Aware Proxy, lihat panduan IAP.
Untuk menggunakan Web Security Scanner dengan resource yang dilindungi IAP, pertama-tama berikan akses ke akun layanan Web Security Scanner:
- Buka halaman IAP di konsol Google Cloud .
- Pilih project yang ingin Anda gunakan dengan Web Security Scanner.
- Pilih resource aplikasi yang ingin Anda pindai, lalu klik Tambahkan Akun Utama di Panel Info.
-
Di kotak New principals pada panel Add principals, masukkan akun layanan Web Security Scanner dalam bentuk
service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com
. - Di menu drop-down Pilih peran, pilih Cloud IAP > IAP Secured Web App User.
- Setelah Anda selesai menambahkan peran, klik Simpan.
Selanjutnya, tambahkan client ID OAuth ke pemindaian. Web Security Scanner hanya dapat memindai aplikasi yang dilindungi oleh satu Client ID OAuth. Untuk menambahkan client ID OAuth:
- Buka halaman IAP di konsol Google Cloud .
- Pilih project yang ingin Anda gunakan dengan Web Security Scanner.
- Di Menu tambahan, pilih Edit OAuth Client.
- Di jendela Client ID untuk aplikasi web yang muncul, salin Client ID.
- Buka halaman Web Security Scanner di konsol Google Cloud .
- Di bagian Autentikasi, pilih Identity-Aware Proxy alfa.
- Di kotak OAuth2 Client ID, tempelkan client ID OAuth yang Anda salin, lalu klik Save.
Autentikasi > Akun non-Google Pilih opsi ini jika Anda telah membuat sistem autentikasi sendiri dan tidak menggunakan layanan Akun Google. Tentukan URL formulir login, nama pengguna, dan sandi. Kredensial ini digunakan untuk login ke aplikasi Anda dan memindainya.
Web Security Scanner mencoba heuristik untuk login ke aplikasi Anda, dan memindainya. Secara khusus, metode ini mencari formulir login dua kolom yang menyertakan kolom
username
dan kolompassword
. Tindakan login harus menghasilkan cookie autentikasi agar pemindai dapat melanjutkan pemindaiannya.Masalah umum yang dapat menyebabkan login kustom gagal meliputi:
-
Menggunakan kolom formulir HTML non-standar, misalnya, tidak menggunakan
jenis
password
. -
Misalnya, menggunakan formulir login yang rumit, yaitu formulir yang memiliki lebih dari satu kolom
username
danpassword
. - Tidak menyimpan cookie autentikasi saat login berhasil.
- Dalam beberapa situasi, pemindai ditolak oleh tindakan balasan yang dimaksudkan untuk melindungi dari bot, DDOS, dan serangan lainnya.
Sebaiknya gunakan integrasi Identity-Aware Proxy untuk mendapatkan pengalaman yang paling konsisten dengan pemindaian aplikasi yang diautentikasi.
Jadwal Anda dapat menyetel pemindaian agar berjalan setiap hari, setiap minggu, setiap dua minggu, atau setiap empat minggu. Sebaiknya buat pemindaian terjadwal untuk memastikan versi aplikasi Anda di masa mendatang diuji. Selain itu, karena kami terkadang merilis pemindai baru yang menemukan jenis bug baru, menjalankan pemindaian terjadwal menawarkan cakupan yang lebih luas tanpa upaya manual. Menjalankan pemindaian dari kumpulan IP sumber standar (Pratinjau) Pilih opsi ini untuk membatasi traffic pemindaian ke kumpulan alamat IP yang telah ditentukan sebelumnya. Tindakan ini memungkinkan Anda mengizinkan pemindai mengakses aplikasi di belakang firewall, tetapi dapat membatasi cakupan pemindaian. Untuk mengubah aturan firewall guna mengizinkan traffic Web Security Scanner, lihat Mengonfigurasi firewall di bagian bawah halaman ini. Opsi ekspor Pilih opsi ini untuk mengekspor konfigurasi pemindaian dan hasil pemindaian secara otomatis ke Security Command Center. Mengabaikan error status HTTP Opsi ini mengontrol apakah sejumlah besar error status HTTP—misalnya, **400 Bad Request**—selama pemindaian akan menyebabkan pemindaian dilaporkan sebagai kegagalan. Jika opsi dipilih, error status diabaikan. Jika opsi tidak dipilih, dan persentase error status melebihi batas yang telah ditentukan, pemindaian dilaporkan sebagai kegagalan. Setelah selesai menambahkan nilai, klik Simpan. Sekarang Anda dapat menjalankan pemindaian baru.
Secara default, Web Security Scanner menggunakan alamat IP yang ditetapkan secara acak selama setiap proses. Agar alamat IP Web Security Scanner dapat diprediksi, selesaikan langkah-langkah untuk mengaktifkan pemindaian dari IP statis di halaman ini.
Langkah 3: Menjalankan pemindaian
Untuk menjalankan pemindaian:
- Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
Buka halaman Web Security Scanner di konsol Google Cloud .
Klik Pilih, lalu pilih project tempat Anda membuat pemindaian.
Di bagian Scan configs, klik nama pemindaian yang ingin Anda jalankan.
Di halaman detail pemindaian, klik Jalankan.
Pemindaian ditempatkan dalam antrean, dan mungkin ada penundaan sebelum pemindaian dijalankan. Proses ini dapat memakan waktu beberapa menit atau beberapa jam, bergantung pada beban sistem dan fitur seperti:
- Kompleksitas situs
- Jumlah elemen yang dapat ditindaklanjuti per halaman
- Jumlah link
- Jumlah JavaScript di situs, termasuk navigasi
Anda dapat menyiapkan dan menjalankan hingga 10 pemindaian berbeda sebelum perlu menghapus atau membersihkan hasil yang disimpan sebelumnya.
Melihat hasil pemindaian kustom
Status dan hasil pemindaian kustom ditampilkan di halaman detail pemindaian di konsol Google Cloud . Untuk melihat hasil pemindaian:
- Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
Buka halaman Web Security Scanner di konsol Google Cloud .
Klik Pilih, lalu pilih project yang berisi pemindaian yang ingin Anda tinjau.
Di bagian Scan configs, klik nama pemindaian yang ingin Anda tinjau.
Halaman detail pemindaian dimuat dan menampilkan hasil dari pemindaian terbaru. Jika pemindaian sedang berlangsung, tab Hasil akan menampilkan persentase penyelesaian saat ini. Untuk menampilkan hasil dari pemindaian sebelumnya, pilih tanggal dan waktu pemindaian dari daftar drop-down.
Detail untuk pemindaian kustom yang telah selesai mencakup:
- Tab Hasil menampilkan daftar kerentanan yang ditemukan pemindaian, jika ada.
- Tab URL yang di-crawl menampilkan daftar URL yang diperiksa oleh pemindaian.
Tab Detail mencakup:
- URL Awal
- Autentikasi
- Agen pengguna
- Kecepatan pemindaian maksimum sebagai kueri per detik (QPS)
Anda dapat menemukan informasi selengkapnya tentang pemindaian di halaman log project.
Mengedit pemindaian kustom
Untuk mengedit pemindaian kustom:
- Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
Buka halaman Web Security Scanner di konsol Google Cloud .
Klik Pilih, lalu pilih project yang berisi pemindaian yang ingin Anda edit.
Di bagian Konfigurasi pemindaian, klik nama pemindaian yang ingin Anda edit.
Di halaman detail pemindaian yang muncul, klik Edit.
Di halaman Mengedit [nama pemindaian] yang muncul, lakukan perubahan yang Anda inginkan, lalu klik Simpan.
Pemindaian kustom yang diedit akan berjalan saat dijadwalkan berikutnya, atau Anda dapat menjalankannya secara manual untuk mendapatkan hasil yang diperbarui.
Menghapus pemindaian kustom
Untuk menghapus satu atau beberapa pemindaian kustom:
- Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
Buka halaman Web Security Scanner di konsol Google Cloud .
Klik Pilih, lalu pilih project yang berisi pemindaian yang ingin Anda edit.
Di bagian Konfigurasi pemindaian, centang kotak di samping satu atau beberapa pemindaian yang ingin Anda hapus.
Klik Hapus, lalu klik Oke.
Semua pemindaian yang Anda pilih akan dihapus.
Menyiapkan pemindaian dari IP statis
Bagian ini menjelaskan cara mengaktifkan pemindaian kustom Web Security Scanner dari alamat IP statis. Saat Anda mengaktifkan fitur ini, Web Security Scanner menggunakan alamat IP yang dapat diprediksi untuk memindai aplikasi Compute Engine dan Google Kubernetes Engine publik Anda. Fitur ini masih dalam Pratinjau, dan alamat IP Web Security Scanner mungkin berubah dalam rilis mendatang.
Sebelum memulai
Untuk menggunakan fitur pemindaian kustom Web Security Scanner dari IP statis, Anda memerlukan:
- Aplikasi Compute Engine atau GKE publik. Fitur ini tidak mendukung aplikasi App Engine.
- Pemindaian yang dibuat tanpa autentikasi, atau dengan autentikasi Akun Google. Fitur ini tidak mendukung pemindaian yang menggunakan autentikasi akun non-Google.
Langkah 1: Mengonfigurasi firewall
Buka halaman Aturan firewall di konsol Google Cloud .
Klik Pilih, lalu pilih project Anda.
Di halaman Firewall rules yang muncul, klik Create Firewall Rule.
Di halaman Create a firewall rule, tetapkan nilai berikut:
- Nama: masukkan
web-security-scanner
atau nama yang serupa. - Prioritas: pilih prioritas yang lebih tinggi (nilai angka yang lebih rendah) daripada semua aturan yang menolak traffic keluar ke aplikasi Anda.
- Rentang IP sumber: masukkan
34.66.18.0/26
dan34.66.114.64/26
. - Protocols and ports: pilih Allow all atau tentukan protokol dan port untuk aplikasi Anda. Biasanya, Anda dapat mencentang kotak tcp
lalu memasukkan
80
dan443
untuk port.
- Nama: masukkan
Setelah selesai menetapkan nilai, klik Buat.
Langkah 2: Mengonfigurasi pemindaian
Setelah mengonfigurasi firewall untuk mengizinkan alamat IP yang dapat diprediksi Web Security Scanner, konfigurasi pemindaian untuk menggunakan IP yang telah ditentukan sebelumnya:
Buka halaman Web Security Scanner di konsol Google Cloud .
Klik Pilih, lalu pilih project Anda.
Buat pemindaian baru atau edit pemindaian yang sudah ada.
Centang kotak Jalankan pemindaian dari kumpulan IP sumber standar.
Simpan hasil pemindaian.
Pada saat pemindaian berikutnya dijalankan, pemindaian akan memindai aplikasi Compute Engine dan GKE publik yang berada di balik firewall.
Mengecualikan URL
Anda dapat menentukan hingga 100 pola URL yang dikecualikan untuk menghindari pengujian bagian situs selama pemindaian kustom. Web Security Scanner tidak meminta resource yang cocok dengan pengecualian apa pun. Bagian berikut menjelaskan pencocokan pola yang digunakan Web Security Scanner.
Pencocokan pola URL
Pencocokan URL yang dikecualikan didasarkan pada sekumpulan URL yang ditentukan oleh pola pencocokan. Pola kecocokan adalah URL dengan lima segmen:
scheme
: misalnya,http
atau*
host
: misalnya,www.google.com
atau*.google.com
atau*
path
: misalnya,/*
,/foo*
, atau/foo/bar. *
query
: contohnya,?*
,?*foo=bar*
fragment
: contohnya,#*
,#access
Berikut adalah sintaksis dasarnya:
<exclude-pattern> := <scheme>://<host><path><query><fragment>
<scheme> := '*' | 'http' | 'https'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars except '?' or '#'>
<query> := '?' <any chars except '#'>
<fragment> := '#' <any chars>
*
di setiap bagian memiliki fungsi berikut:
scheme
:*
cocok dengan HTTP atau HTTPS.host
:*
cocok dengan host mana pun*.hostname
cocok dengan host yang ditentukan dan subdomainnya.
path
:*
cocok dengan 0 atau lebih karakter.
Semua segmen tidak diperlukan dalam pola yang dikecualikan.
- Jika segmen
scheme
tidak ditentukan, nilai defaultnya adalah*://
. - Segmen
host
harus selalu ditentukan. Jika segmen
path
tidak ditentukan, nilai defaultnya adalah:/*
, jika segmenquery
danfragment
tidak ditentukan. Nilai ini cocok denganpath
atau tidak adapath
./
, ataupath
kosong, jika segmenquery
ataufragment
ditentukan.
Jika segmen
query
tidak ditentukan, nilai defaultnya adalah:?*
, jika segmenfragment
tidak ditentukan. Nilai ini cocok denganquery
atau tidak adaquery
.?
, atauquery
kosong, jikafragment
ditentukan.
Jika segmen
fragment
tidak ditentukan, defaultnya adalah#*
, yang cocok denganfragment
atau tidak adafragment
.
Pencocokan Pola yang Valid
Tabel berikut memberikan contoh pola yang valid:
Pola | Perilaku | Contoh URL yang cocok |
---|---|---|
http://*/* |
Mencocokkan URL apa pun yang menggunakan skema HTTP. |
|
http://*/foo* |
Mencocokkan URL apa pun yang menggunakan skema HTTP, di host mana pun, jika jalur diawali dengan /foo .
|
|
https://*.google.com/foo*bar |
Mencocokkan URL apa pun yang menggunakan skema HTTPS dan berada di host
google.com — seperti www.google.com ,
docs.google.com , atau google.com — jika jalur
dimulai dengan /foo dan diakhiri dengan bar .
|
|
http://example.org/foo/bar.html |
Mencocokkan URL yang ditentukan. | http://example.org/foo/bar.html |
http://127.0.0.1/* |
Mencocokkan URL apa pun yang menggunakan skema HTTP dan berada di host
127.0.0.1 .
|
|
*://mail.google.com/* |
Mencocokkan URL apa pun yang diawali dengan http://mail.google.com atau
https://mail.google.com . |
|
*://*/foo*?*bar=baz* |
Mencocokkan URL apa pun yang jalur awalnya adalah /foo dan memiliki
parameter kueri bar=baz .
|
https://www.google.com/foo/example?bar=baz |
google.com/app#*open* |
Mencocokkan URL apa pun dengan host google.com yang jalurnya dimulai
dengan /app dan memiliki fragmen open .
|
https://www.google.com/app/example#open |
Pencocokan pola tidak valid
Tabel berikut memberikan contoh pola yang tidak valid:
Pola | Alasan |
---|---|
http://www.google.com |
URL tidak menyertakan jalur. |
http://*foo/bar |
* di host harus diikuti dengan . atau
/ .
|
http://foo.*.bar/baz |
Jika * ada di host, * harus menjadi karakter pertama. |
http:/bar |
Pemisah skema URL tidak dibuat dengan benar. "/"
harus "//" .
|
foo://* |
Skema URL tidak valid. |
Langkah berikutnya
- Pelajari cara memperbaiki temuan Web Security Scanner.