Menyiapkan pemindaian kustom menggunakan Web Security Scanner

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:

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

    Buka halaman IAM & Admin

  2. Klik menu drop-down Project selector.

  3. Pada dialog Pilih dari yang muncul, pilih project yang ingin Anda pindai 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 > Pemilik
    • Project > Editor
  6. 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:

  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 URL awal, masukkan URL aplikasi yang ingin Anda pindai.
    2. Di bagian Jadwal, pilih Mingguan.
    3. 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.

  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 dijalankan pada waktu mendatang. Pemindaian mungkin memerlukan waktu beberapa jam sebelum dijalankan.

  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 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

  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 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

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

    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 Anda pindai, 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. Di menu drop-down Pilih peran, pilih Cloud IAP > IAP Secured Web App User.
    6. 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:

    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 OAuth Client.
    4. Di jendela Client ID untuk aplikasi web yang muncul, salin Client ID.
    5. Buka halaman Web Security Scanner di konsol Google Cloud .
    6. Di bagian Autentikasi, pilih Identity-Aware Proxy alfa.
    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 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 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 dan password.
    • 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.
  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 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:

  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 Pilih, 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 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:

  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 Pilih, 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 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:

  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 Pilih, 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 Pilih, 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 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 Aturan firewall di konsol Google Cloud .

    Buka Aturan firewall

  2. Klik Pilih, 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 serupa.
    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 mencentang kotak tcp lalu memasukkan 80 dan 443 untuk port.
  5. 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:

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

    Buka Web Security Scanner

  2. Klik Pilih, lalu pilih project Anda.

  3. Buat pemindaian baru atau edit pemindaian yang sudah ada.

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

  5. 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 segmen query dan fragment tidak ditentukan. Nilai ini cocok dengan path atau tidak ada path.
    • /, atau path kosong, jika segmenquery atau fragment ditentukan.
  • Jika segmen query tidak ditentukan, nilai defaultnya adalah:

    • ?*, jika segmen fragment tidak ditentukan. Nilai ini cocok dengan query atau tidak ada query.
    • ?, atau query kosong, jika fragment ditentukan.
  • Jika segmen fragment tidak ditentukan, defaultnya adalah #*, yang cocok dengan fragment atau tidak ada fragment.

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://www.google.com/

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

http://*/foo* Mencocokkan URL apa pun yang menggunakan skema HTTP, di host mana pun, jika jalur diawali 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 jalur dimulai dengan /foo dan diakhiri dengan bar.

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

http://docs.google.com/foobar

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.

http://127.0.0.1/

http://127.0.0.1/foo/bar.html

*://mail.google.com/* Mencocokkan 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* 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