Menyiapkan pemindaian kustom menggunakan Web Security Scanner

Menjadwalkan dan menjalankan 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.
  • Anda harus mengaktifkan Security Command Center.

Sebelum melakukan pemindaian, audit aplikasi Anda dengan cermat untuk menemukan 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 mungkin mengaktifkan fitur yang mengubah status data atau sistem Anda, dengan hasil yang tidak diinginkan. Contoh:

  • Di 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 mungkin menghasilkan email pengujian dalam jumlah besar.

Untuk mendapatkan tips tentang cara meminimalkan risiko, lihat praktik terbaik untuk mencegah konsekuensi yang tidak disengaja.

Mengaktifkan Web Security Scanner

Aktifkan Web Security Scanner 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 dipindai:

  • Editor
  • Pemilik

Untuk menambahkan salah satu peran ini:

  1. Buka halaman IAM & Admin di konsol Google Cloud.

    Buka halaman IAM & Admin

  2. Klik menu drop-down Project selector.

  3. Pada dialog Select from yang muncul, pilih project yang ingin Anda periksa menggunakan Web Security Scanner.

  4. Di halaman IAM, di samping nama pengguna Anda, klik Edit.

  5. Di panel Edit izin yang muncul, klik Tambahkan peran lain, lalu pilih salah satu peran berikut:

    • Project > Owner
    • Project > Editor
  6. Setelah selesai menambahkan peran, klik Simpan.

Pelajari lebih lanjut peran Web Security Scanner.

Langkah 3: Jalankan pemindaian

Saat Anda menyiapkan pemindaian, pemindaian tersebut akan dimasukkan ke dalam antrean untuk dijalankan nanti. Bergantung pada beban saat ini, mungkin perlu waktu beberapa jam sebelum pemindaian dijalankan. Untuk membuat, menyimpan, dan menjalankan pemindaian:

  1. Buka halaman Web Security Scanner di konsol Google Cloud.

    Buka Web Security Scanner

  2. Pilih project yang berisi aplikasi yang di-deploy yang ingin Anda pindai.

  3. Untuk menyiapkan pemindaian baru, klik Pemindaian baru:

  4. Di halaman Create a new scan yang dimuat, tetapkan nilai berikut:

    1. Di bagian Starting URLs, masukkan URL aplikasi yang ingin Anda pindai.
    2. Di bagian Jadwal, pilih Mingguan.
    3. Di bagian Next run on, 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 dapat ditampilkan di konsol Google Cloud.

    Untuk pemindaian pertama ini, gunakan pemindaian default tanpa mengubah nilai lain di halaman Buat pemindaian baru. Untuk informasi selengkapnya tentang setelan pemindaian, lihat Memindai aplikasi.

  5. Untuk membuat pemindaian, klik Simpan.

  6. Di halaman Web Security Scanner, klik nama pemindaian untuk memuat halaman ringkasannya, lalu klik Jalankan pemindaian.

    Pemindaian akan dimasukkan ke antrean, lalu akan berjalan pada waktu mendatang. Mungkin perlu waktu beberapa jam sebelum pemindaian berjalan.

  7. 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 akan 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 berikut di halaman ini agar tidak dikenai biaya App Engine untuk aplikasi.

Langkah 4: Pembersihan

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. 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 pengujian

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. Perhatikan kredensial login yang akan diberikan untuk autentikasi saat membuat pemindaian. Kredensial memungkinkan Anda menggunakan akun pengujian untuk memindai data.

Langkah 2: Membuat pemindaian

  1. Buka halaman Web Security Scanner di konsol Google Cloud.

    Buka Web Security Scanner

  2. Klik Select, lalu pilih project yang sudah men-deploy aplikasi App Engine, Compute Engine, atau GKE.

  3. Untuk menampilkan formulir pemindaian baru, klik Buat pemindaian atau Pemindaian baru.

  4. 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 rumah, utama, atau landing untuk situs, tempat Web Security Scanner dapat 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 multilevel yang didorong oleh mouseover

    Dalam kasus tersebut, tentukan lebih banyak URL awal untuk meningkatkan cakupan pemindaian.

    URL yang dikecualikan Untuk mengurangi kompleksitas, pengecualian ditentukan menggunakan proto-bahasa sederhana menggunakan satu atau beberapa karakter pengganti *, bukan memerlukan ekspresi reguler yang valid. Untuk mengetahui detail dan contoh pola yang valid, lihat Mengecualikan URL nanti di 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 pengujian dalam domain, misalnya, test-account@yourdomain.com. Di Web Security Scanner, akun ini berfungsi seperti akun Gmail. Autentikasi 2 langkah tidak didukung.

    Google menerapkan kebijakan nama asli di Akun Google. Jika nama di akun pengujian Anda tidak terlihat nyata, akun tersebut mungkin diblokir.

    Autentikasi > Identity-Aware Proxy alpha

    Untuk melindungi resource dengan Identity-Aware Proxy, lihat panduan IAP.

    Untuk menggunakan Web Security Scanner dengan resource yang dilindungi IAP, berikan akses ke akun layanan Web Security Scanner terlebih dahulu:

    1. Buka halaman IAP di konsol Google Cloud.
    2. Pilih project yang ingin Anda gunakan dengan Web Security Scanner.
    3. Pilih resource aplikasi yang ingin dipindai, lalu klik Tambahkan Akun Utama di Panel Info.
    4. 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.
    5. Pada menu drop-down Pilih peran, pilih Cloud IAP > IAP Secured Web App User.
    6. Setelah 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:

    1. Buka halaman IAP di konsol Google Cloud.
    2. Pilih project yang ingin Anda gunakan dengan Web Security Scanner.
    3. Di Menu tambahan, pilih Edit Klien OAuth.
    4. Di jendela Client ID for web application yang muncul, salin Client ID.
    5. Buka halaman Web Security Scanner di konsol Google Cloud.
    6. Di bagian Authentication, pilih Identity-Aware Proxy alpha.
    7. 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 Anda 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 kolom password. Tindakan login harus menghasilkan cookie autentikasi agar pemindai dapat melanjutkan pemindaian.

    Masalah umum yang dapat menyebabkan login kustom gagal meliputi:

    • Menggunakan kolom formulir HTML non-standar, misalnya, tidak menggunakan jenis password.
    • Menggunakan formulir login yang rumit, misalnya, formulir yang memiliki lebih dari satu kolom username dan password.
    • Tidak menyimpan cookie autentikasi saat login berhasil.
    • Dalam beberapa situasi, pemindai ditolak oleh tindakan pengamanan yang dimaksudkan untuk melindungi dari bot, DDOS, dan serangan lainnya.

    Sebaiknya gunakan integrasi Identity-Aware Proxy untuk pengalaman yang paling konsisten dengan pemindaian aplikasi yang diautentikasi.

    Jadwal Anda dapat menyetel pemindaian untuk dijalankan setiap hari, setiap minggu, setiap dua minggu, atau setiap empat minggu. Sebaiknya buat pemindaian terjadwal untuk memastikan bahwa versi aplikasi Anda di masa mendatang telah diuji. Selain itu, karena kami sesekali 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 ditetapkan. Tindakan ini memungkinkan Anda mengaktifkan pemindai untuk mengakses aplikasi di belakang firewall, tetapi dapat membatasi cakupan pemindaian. Untuk mengubah aturan firewall agar mengizinkan traffic Web Security Scanner, lihat Mengonfigurasi firewall nanti di halaman ini.
    Opsi ekspor Pilih opsi ini untuk otomatis mengekspor konfigurasi pemindaian dan hasil pemindaian ke Security Command Center.
    Mengabaikan error status HTTP Opsi ini mengontrol apakah jumlah error status HTTP yang tinggi—misalnya, **400 Bad Request**—selama pemindaian akan menyebabkan pemindaian dilaporkan sebagai kegagalan. Jika opsi ini dipilih, error status akan diabaikan. Jika opsi ini tidak dipilih, dan persentase error status melebihi nilai minimum yang telah ditentukan, pemindaian akan dilaporkan sebagai kegagalan.
  5. 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 operasi. Agar alamat IP Web Security Scanner dapat diprediksi, selesaikan langkah-langkah untuk mengaktifkan pemindaian dari IP statis nanti di halaman ini.

Langkah 3: Menjalankan pemindaian

Untuk menjalankan pemindaian:

  1. Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
  2. Buka halaman Web Security Scanner di konsol Google Cloud.

    Buka Web Security Scanner

  3. Klik Select, lalu pilih project tempat Anda membuat pemindaian.

  4. Di bagian Scan configs, klik nama pemindaian yang ingin Anda jalankan.

  5. Di halaman detail pemindaian, klik Jalankan.

Pemindaian ditempatkan dalam antrean, dan mungkin ada penundaan sebelum pemindaian dijalankan. Proses ini dapat memerlukan waktu beberapa menit atau beberapa jam untuk dijalankan, 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:

  1. Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
  2. Buka halaman Web Security Scanner di konsol Google Cloud.

    Buka Web Security Scanner

  3. Klik Select, lalu pilih project yang berisi pemindaian yang ingin Anda tinjau.

  4. Di bagian Scan configs, klik nama pemindaian yang ingin Anda tinjau.

Halaman detail pemindaian akan dimuat dan menampilkan hasil dari pemindaian terbaru. Jika pemindaian sedang berlangsung, tab Hasil akan menampilkan persentase selesai saat ini. Untuk menampilkan hasil dari pemindaian sebelumnya, pilih tanggal dan waktu pemindaian dari menu drop-down.

Detail untuk pemindaian kustom yang telah selesai mencakup:

  • Tab Hasil menampilkan daftar kerentanan yang ditemukan oleh 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:

  1. Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
  2. Buka halaman Web Security Scanner di konsol Google Cloud.

    Buka Web Security Scanner

  3. Klik Select, lalu pilih project yang berisi pemindaian yang ingin Anda edit.

  4. Di bagian Konfigurasi pemindaian, klik nama pemindaian yang ingin Anda edit.

  5. Di halaman detail pemindaian yang muncul, klik Edit.

  6. 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:

  1. Login ke akun pengujian yang Anda gunakan untuk membuat pemindaian.
  2. Buka halaman Web Security Scanner di konsol Google Cloud.

    Buka Web Security Scanner

  3. Klik Select, lalu pilih project yang berisi pemindaian yang ingin Anda edit.

  4. Di bagian Konfigurasi pemindaian, centang kotak di samping satu atau beberapa pemindaian yang ingin Anda hapus.

  5. 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 akan 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

  1. Buka halaman Firewall rules di konsol Google Cloud.

    Buka Aturan firewall

  2. Klik Select, lalu pilih project Anda.

  3. Di halaman Firewall rules yang muncul, klik Create Firewall Rule.

  4. Di halaman Create a firewall rule, tetapkan nilai berikut:

    1. Nama: masukkan web-security-scanner atau nama yang mirip.
    2. Prioritas: pilih prioritas yang lebih tinggi (nilai angka yang lebih rendah) daripada semua aturan yang menolak traffic keluar ke aplikasi Anda.
    3. Rentang IP sumber: masukkan 34.66.18.0/26 dan 34.66.114.64/26.
    4. Protocols and ports: pilih Allow all atau tentukan protokol dan port untuk aplikasi Anda. Biasanya, Anda dapat memilih kotak centang tcp, lalu memasukkan 80 dan 443 untuk port.
  5. Setelah selesai menetapkan nilai, klik Buat.

Langkah 2: Mengonfigurasi pemindaian

Setelah Anda mengonfigurasi firewall untuk mengizinkan alamat IP Web Security Scanner yang dapat diprediksi, konfigurasikan pemindaian untuk menggunakan IP yang telah ditentukan:

  1. Buka halaman Web Security Scanner di konsol Google Cloud.

    Buka Web Security Scanner

  2. Klik Select, lalu pilih project Anda.

  3. Buat pemindaian baru atau edit pemindaian yang ada.

  4. Centang kotak Jalankan pemindaian dari kumpulan IP sumber standar.

  5. Simpan pemindaian.

Saat pemindaian dijalankan lagi, 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 salah satu pengecualian. Bagian berikut menjelaskan pencocokan pola yang digunakan Web Security Scanner.

Pencocokan pola URL

Pencocokan URL yang dikecualikan didasarkan pada kumpulan URL yang ditentukan oleh pola pencocokan. Pola pencocokan 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: misalnya, ?*, ?*foo=bar*
  • fragment: misalnya, #*, #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 apa 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, segmen tersebut akan ditetapkan secara default ke *://.
  • Segmen host harus selalu ditentukan.
  • Jika segmen path tidak ditentukan, segmen tersebut akan ditetapkan secara default ke:

    • /*, jika segmen query dan fragment tidak ditentukan. Nilai ini cocok dengan path atau tidak ada path.
    • /, atau path kosong, jika segmen query atau fragment ditentukan.
  • Jika segmen query tidak ditentukan, segmen tersebut akan ditetapkan secara default ke:

    • ?*, jika segmen fragment tidak ditentukan. Nilai ini cocok dengan query atau tidak ada query.
    • ?, atau query kosong, jika fragment ditentukan.
  • Jika tidak ditentukan, segmen fragment akan ditetapkan secara default ke #*, yang cocok dengan fragment atau tidak ada fragment.

Kecocokan Pola yang Valid

Tabel berikut memberikan contoh pola yang valid:

Pola Perilaku Contoh URL yang cocok
http://*/* Cocok dengan URL apa pun yang menggunakan skema HTTP.

http://www.google.com/

http://example.org/foo/bar.html

http://*/foo* Cocok dengan URL apa pun yang menggunakan skema HTTP, di host mana pun, jika jalur dimulai dengan /foo.

http://example.com/foo/bar.html

http://www.google.com/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 jalurnya diawali dengan /foo dan diakhiri dengan bar.

http://www.google.com/foo/baz/bar

http://docs.google.com/foobar

http://example.org/foo/bar.html Cocok dengan 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.

http://127.0.0.1/

http://127.0.0.1/foo/bar.html

*://mail.google.com/* Cocok dengan URL apa pun yang diawali dengan http://mail.google.com atau https://mail.google.com.

http://mail.google.com/foo/baz/bar

https://mail.google.com/foobar

*://*/foo*?*bar=baz* Cocok dengan URL apa pun yang jalurnya dimulai dengan /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 dengan jalur yang 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 URL adalah pemisah skema yang tidak dibuat dengan benar. "/" harus "//".
foo://* Skema URL tidak valid.

Langkah selanjutnya