Membuat dan mengelola profil keamanan pemfilteran URL

Halaman ini menjelaskan cara membuat dan mengelola profil keamanan berjenis url-filtering menggunakan konsol Google Cloud dan Google Cloud CLI.

Sebelum memulai

Peran

Untuk mendapatkan izin yang diperlukan untuk membuat, melihat, memperbarui, atau menghapus profil keamanan, minta administrator untuk memberi Anda peran IAM yang diperlukan di organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Membuat profil keamanan pemfilteran URL

Saat membuat profil keamanan pemfilteran URL (profil keamanan jenis url-filtering), Anda dapat menentukan nama profil keamanan sebagai string atau sebagai ID URL unik. URL unik untuk profil keamanan cakupan organisasi dapat dibuat dalam format berikut:

organization/ORGANIZATION_ID/locations/LOCATION/securityProfiles/SECURITY_PROFILE_NAME

Jika Anda menggunakan ID URL unik untuk nama profil keamanan, organisasi dan lokasi profil keamanan sudah disertakan dalam ID URL. Namun, jika Anda hanya menggunakan nama profil keamanan, Anda harus menentukan organisasi dan lokasi secara terpisah. Untuk mengetahui informasi selengkapnya tentang kode unik URL, lihat spesifikasi profil keamanan.

Konsol

  1. Di konsol Google Cloud , buka halaman Security profiles.

    Buka Profil keamanan

  2. Di menu pemilih project, pilih organisasi Anda.

  3. Pilih tab Profil keamanan.

  4. Klik Buat profil.

  5. Masukkan nama di kolom Name.

  6. Opsional: Masukkan deskripsi di kolom Description.

  7. Untuk membuat profil keamanan Cloud Next Generation Firewall Enterprise, di bagian Purpose, pilih Cloud NGFW Enterprise.

  8. Untuk membuat profil keamanan pemfilteran URL, di bagian Type, pilih URL Filtering.

  9. Di bagian Filter URL, klik tombol Buat filter URL.

  10. Di panel Buat filter URL, tentukan detail berikut:

    • Prioritas: tentukan prioritas filter URL.
    • Action: tentukan tindakan yang dilakukan Cloud NGFW pada traffic.
      • Izinkan: mengizinkan koneksi yang cocok dengan URL.
      • Tolak: menolak koneksi yang cocok dengan URL.
    • Daftar URL: tentukan daftar URL atau string pencocokan. Setiap entri string pencocok atau URL harus muncul di barisnya sendiri tanpa spasi atau pemisah. Setiap entri hanya dapat terdiri dari domain. Untuk mengetahui informasi selengkapnya tentang string pencocok, lihat String pencocok untuk URL.
  11. Klik Create.

gcloud

  1. Buat file YAML dengan konten berikut:

    name: NAME
    type: PROFILE_TYPE
    urlFilteringProfile:
      urlFilters:
        - filteringAction: ACTION
          priority: PRIORITY
          urls: URL[,URL,...]
    

    Ganti kode berikut:

    • NAME: nama profil keamanan pemfilteran URL; Anda dapat menentukan nama sebagai string atau sebagai ID URL unik.

    • PROFILE_TYPE: tentukan jenis profil keamanan sebagai url-filtering.

    • ACTION: tentukan salah satu tindakan berikut:

      • allow: mengizinkan koneksi yang cocok dengan URL
      • deny: menolak koneksi yang cocok dengan URL
    • PRIORITY: prioritas filter URL yang berkisar dari 0 hingga 2147483647.

    • URLs: daftar string pencocok yang dipisahkan koma. Misalnya, www.example.com dan www.examplepetstore.com.

  2. Untuk membuat profil keamanan pemfilteran URL, jalankan perintah gcloud network-security security-profiles import:

    gcloud network-security security-profiles import NAME \
        --location LOCATION \
        --source FILE_NAME \
        --organization ORGANIZATION_ID
    

    Atau, Anda dapat membuat profil keamanan pemfilteran URL tanpa file YAML menggunakan perintah gcloud network-security security-profiles url-filtering create:

    gcloud network-security security-profiles url-filtering create NAME \
        --location LOCATION \
        --organization ORGANIZATION_ID \
        --description DESCRIPTION
    

    Ganti kode berikut:

    • NAME: nama profil keamanan pemfilteran URL; Anda dapat menentukan nama sebagai string atau sebagai ID URL unik.

      Jika Anda menggunakan ID URL unik untuk flag NAME, Anda dapat menghilangkan flag LOCATION dan ORGANIZATION.

    • LOCATION: lokasi profil keamanan pemfilteran URL.

      Lokasi selalu ditetapkan ke global. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda LOCATION.

    • FILE_NAME: nama file YAML. Contoh, url-filtering-sp.yaml.

    • ORGANIZATION_ID: organisasi tempat profil keamanan pemfilteran URL dibuat. Jika Anda menggunakan ID URL unik untuk flag name, Anda dapat menghapus flag ORGANIZATION_ID.

    • DESCRIPTION: deskripsi opsional untuk profil keamanan pemfilteran URL.

    Misalnya, cuplikan kode berikut menunjukkan contoh profil keamanan pemfilteran URL yang mengizinkan permintaan ke www.example.com dan www.examplepetstore.com, tetapi menolak permintaan ke semua domain lainnya:

    urlFilteringProfile:
      urlFilters:
        - filteringAction: ALLOW
          priority: 1000
          urls: ['www.example.com', 'www.examplepetstore.com']
        # the following URL filter is implicit and will be processed last
        - filteringAction: DENY
          priority: 2147483647
          urls: ['*']
    

Filter URL penolakan implisit

Profil keamanan pemfilteran URL selalu menyertakan filter URL default dengan prioritas terendah (2147483647) yang menolak semua koneksi yang tidak cocok dengan filter URL dengan prioritas yang lebih tinggi. Cuplikan kode berikut menunjukkan contoh filter URL penolakan implisit:

  urlFilteringProfile:
    urlFilters:
      # user-specified URL filters
      - filteringAction: DENY
        priority: 1000
        urls: ['www.example.com','www.examplepetstore.com']
      - filteringAction: ALLOW
        priority: 2000
        urls: ['www.example.org','www.example.net']
      # implicit deny URL filter that will be processed last
      - filteringAction: DENY
        priority: 2147483647
        urls: ['*']
  

Anda dapat melihat filter URL penolakan implisit saat melihat atau mengekspor profil keamanan pemfilteran URL. Anda tidak dapat mengubah atau menghapus filter implisit. Misalnya, jika Anda ingin mengubah tindakan default profil dari DENY (diterapkan oleh filter implisit) menjadi ALLOW, Anda harus menambahkan filter eksplisit yang diproses Cloud NGFW sebelum filter implisit.

  urlFilteringProfile:
    urlFilters:
      # user-specified filters
      - filteringAction: DENY
        priority: 1000
        urls: ['www.example.com','www.examplepetstore.com']
      # explicit allow URL filter that you can add
      - filteringAction: ALLOW
        priority: 2000
        urls: ['*']
      # implicit deny URL filter that will be processed last
      - filteringAction: DENY
        priority: 2147483647
        urls: ['*']
  

String pencocok untuk URL

String pencocokan adalah nilai yang Anda tentukan di kolom urls filter URL. Anda dapat menentukan satu atau beberapa string pencocok di dalam filter URL.

Karakter pengganti

Setiap string pencocokan dalam daftar URL mendukung karakter pengganti (*) dengan cara yang terbatas.

  • Setiap string pencocok hanya dapat mendukung satu tanda bintang (*) sehingga tanda bintang tersebut menjadi karakter pertama atau satu-satunya.
  • Tanda bintang (*) dapat memiliki interpretasi berikut:

    • Tanda bintang (*) sebelum titik (.) menunjukkan semua subdomain domain.

      Misalnya, string pencocok *.example.com cocok dengan a.example.com dan a.b.c.example.com, tetapi tidak cocok dengan example.com.

      urlFilteringProfile:
        urlFilters:
          # user-specified filters
          - filteringAction: ALLOW
            priority: 1000
            urls: ['*.example.com']
          # implicit deny URL filter that will be processed last
          - filteringAction: DENY
            priority: 2147483647
            urls: ['*']
      

      Dalam contoh sebelumnya, Cloud NGFW mengizinkan traffic ke subdomain example.com, tetapi menolak traffic keluar lainnya.

    • Tanda bintang (*) sebelum label menunjukkan domain dan semua subdomain.

      Misalnya, string pencocokan *example.com cocok dengan a.example.com, a.b.c.example.com, serta example.com.

      urlFilteringProfile:
        urlFilters:
          # user-specified filters
          - filteringAction: ALLOW
            priority: 1000
            urls: ['*example.com']
          # implicit deny URL filter that will be processed last
          - filteringAction: DENY
            priority: 2147483647
            urls: ['*']
      

      Dalam contoh sebelumnya, Cloud NGFW mengizinkan traffic ke example.com serta subdomain example.com, tetapi menolak traffic keluar lainnya.

    • Tanda bintang (*) sebelum ekstensi domain (seperti .com) menunjukkan semua domain (dan subdomainnya) yang menggunakan ekstensi domain tersebut.

      Misalnya, string pencocok *.com cocok dengan example.com dan examplepetstore.com serta semua subdomainnya.

      Cuplikan kode berikut menunjukkan cara mengizinkan semua domain (dan subdomainnya) yang diakhiri dengan .com, tetapi menolak traffic yang tersisa.

      urlFilteringProfile:
        urlFilters:
          # Allow all domains (and their subdomains) that end in '.com'
          - filteringAction: ALLOW
            priority: 2000
            urls: ['*.com']
          # implicit deny URL filter that will be processed last
          - filteringAction: DENY
            priority: 2147483647
            urls: ['*']
      

      Cuplikan kode berikut menunjukkan cara menolak semua subdomain example.com dan examplepetstore.com, tetapi mengizinkan domain ini dan semua domain lain (serta subdomainnya) yang diakhiri dengan .com.

      urlFilteringProfile:
        urlFilters:
          # Deny all subdomains of example.com
          - filteringAction: DENY
            priority: 1000
            urls: ['*.example.com']
          # Deny all subdomains of examplepetstore.com
          - filteringAction: DENY
            priority: 1500
            urls: ['*.examplepetstore.com']
          # Allow all domains (and their subdomains) that end in '.com'
          - filteringAction: ALLOW
            priority: 2000
            urls: ['*.com']
          # implicit deny URL filter that will be processed last
          - filteringAction: DENY
            priority: 2147483647
            urls: ['*']
      
    • Cloud NGFW tidak menafsirkan tanda bintang (*) sebagai karakter pengganti ekspresi reguler.

      Misalnya, *example.test tidak cocok dengan newexample.test atau a.newexample.test. Hanya cocok dengan example.test dan subdomain example.test.

    • Satu tanda bintang (*) tanpa karakter lain menunjukkan kecocokan untuk semua permintaan.

      Misalnya, string pencocok di filter URL izinkan eksplisit berprioritas terendah hanya berisi tanda bintang (*) dan memiliki tindakan ALLOW yang menggantikan tindakan default DENY. Hal ini terjadi karena filter URL penolakan implisit menerapkan DENY default untuk permintaan apa pun yang tidak cocok dengan filter URL prioritas yang lebih tinggi.

      Filter URL dengan prioritas tertinggi—yang berupa ALLOW eksplisit atau DENY implisit—menentukan apakah Cloud NGFW mengizinkan atau menolak koneksi saat tidak memiliki informasi SNI atau domain. Hal ini dapat terjadi dengan traffic HTTP yang tidak dienkripsi, atau saat pemeriksaan TLS dinonaktifkan untuk header pesan terenkripsi.

      urlFilteringProfile:
        urlFilters:
          # user-specified filters
          - filteringAction: DENY
            priority: 1000
            urls: ['www.example.com','www.examplepetstore.com']
          # explicit allow URL filter that you can add
          - filteringAction: ALLOW
            priority: 2000
            urls: ['*']
          # implicit deny URL filter that will be processed last
          - filteringAction: DENY
            priority: 2147483647
            urls: ['*']
      

Batasan

  • String pencocok mewakili domain atau subdomain.
  • String pencocokan tidak mendukung karakter garis miring (/). Misalnya: www.example.com/images.
  • String pencocokan tidak mendukung skema atau nama protokol. Misalnya: http://www.example.com.
  • String pencocokan tidak mendukung nomor port. Misalnya: www.example.com:80.
  • String pencocokan hanya mendukung huruf, angka, dan karakter khusus ASCII: tanda hubung (-), titik (.), dan tanda bintang (*).

Anda harus menggunakan Punycode untuk mengonversi nama domain yang berisi karakter selain huruf, angka, tanda hubung (-), titik (.), atau tanda bintang (*) ASCII. Punycode adalah standar encoding yang mengubah nama domain Unicode menjadi format yang kompatibel dengan ASCII.

  • Jika Anda memiliki dua label atau lebih, gunakan titik (.) untuk memisahkannya. Label dapat berisi satu atau beberapa tanda hubung (-); namun, label tidak boleh diawali atau diakhiri dengan tanda hubung. Setiap label dapat menyertakan maksimum 63 karakter.

  • Filter URL tidak mendukung penggunaan titik di awal nama domain atau titik berurutan dalam string pencocokan. Filter URL mengizinkan titik di akhir URL, tetapi Cloud NGFW menghapusnya sebelum menyimpan filter URL.

  • Cloud NGFW mengonversi string pencocok menjadi huruf kecil sebelum menyimpan filter URL. Cloud NGFW tidak melakukan normalisasi lainnya.

  • Setiap nama domain dapat berisi maksimum 255 karakter.

Filter URL untuk subdomain multilevel

Anda dapat menggunakan filter URL dengan berbagai prioritas dan tindakan untuk mengontrol traffic jaringan ke subdomain multi-level. Anda juga dapat menggunakan karakter pengganti (*) dalam string pencocokan untuk menentukan domain dan subdomain.

Misalnya, pertimbangkan skenario saat Anda menerapkan perilaku berikut:

  • Izinkan a.b.c.example.com
  • Tolak *.b.c.example.com (menolak semua subdomain b.c.example.com lainnya)
  • Izinkan *.c.example.com (izinkan semua subdomain lain dari c.example.com)
  • Tolak *.example.com (menolak semua subdomain example.com lainnya)
  • Izinkan example.com
  • Izinkan yang lainnya

Cuplikan kode berikut menerapkan skenario ini:

  urlFilteringProfile:
    urlFilters:
      # Allow 'a.b.c.example.com'
      - filteringAction: ALLOW
        priority: 1000
        urls: ['a.b.c.example.com']
      # Deny all subdomains of 'b.c.example.com'
      - filteringAction: DENY
        priority: 2000
        urls: ['*.b.c.example.com']
      # Allow all subdomains of 'c.example.com'
      - filteringAction: ALLOW
        priority: 3000
        urls: ['*.c.example.com']
      # Deny all subdomains of 'example.com'
      - filteringAction: DENY
        priority: 4000
        urls: ['*.example.com']
      # explicit allow URL filter
      - filteringAction: ALLOW
        priority: 5000
        urls: ['*']
      # implicit deny URL filter that will be processed last
      - filteringAction: DENY
        priority: 2147483647
        urls: ['*']
  

Melihat profil keamanan pemfilteran URL

Anda dapat melihat detail profil keamanan pemfilteran URL tertentu dalam organisasi.

Konsol

  1. Di konsol Google Cloud , buka halaman Security profiles.

    Buka Profil keamanan

  2. Pilih tab Profil keamanan. Tab ini menampilkan daftar profil keamanan yang dikonfigurasi.

  3. Klik profil keamanan jenis Pemfilteran URL untuk melihat detail profil.

gcloud

Untuk melihat detail profil keamanan pemfilteran URL, gunakan perintah gcloud network-security security-profiles url-filtering describe:

gcloud network-security security-profiles url-filtering describe NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \

Ganti kode berikut:

  • NAME: nama profil keamanan berjenis url-filtering yang ingin Anda deskripsikan; Anda dapat menentukan nama sebagai string atau sebagai ID URL unik.

  • ORGANIZATION_ID: organisasi tempat profil keamanan pemfilteran URL dibuat. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda ORGANIZATION_ID.

  • LOCATION: lokasi profil keamanan pemfilteran URL. Lokasi selalu ditetapkan ke global. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda LOCATION.

Mencantumkan profil keamanan pemfilteran URL

Anda dapat mencantumkan semua profil keamanan pemfilteran URL dalam organisasi.

Konsol

  1. Di konsol Google Cloud , buka halaman Security profiles.

    Buka Profil keamanan

  2. Pilih tab Profil keamanan. Tab ini menampilkan daftar profil keamanan yang dikonfigurasi.

gcloud

Untuk mencantumkan semua profil keamanan pemfilteran URL, gunakan perintah gcloud network-security security-profiles url-filtering list:

gcloud network-security security-profiles url-filtering list \
    --organization ORGANIZATION_ID \
    --location LOCATION

Ganti kode berikut:

  • ORGANIZATION_ID: organisasi tempat profil keamanan pemfilteran URL dibuat.

  • LOCATION: lokasi profil keamanan pemfilteran URL. Lokasi selalu ditetapkan ke global.

Menghapus profil keamanan pemfilteran URL

Anda dapat menghapus profil keamanan pemfilteran URL dengan menentukan nama, lokasi, dan organisasi. Namun, jika profil keamanan direferensikan oleh grup profil keamanan, profil keamanan tersebut tidak dapat dihapus.

Konsol

  1. Di konsol Google Cloud , buka halaman Security profiles.

    Buka Profil keamanan

  2. Pilih tab Profil keamanan. Tab ini menampilkan daftar profil keamanan yang dikonfigurasi.

  3. Pilih profil keamanan yang ingin Anda hapus, lalu klik Hapus.

  4. Klik Delete lagi untuk mengonfirmasi.

gcloud

Untuk menghapus profil keamanan pemfilteran URL, gunakan perintah gcloud network-security security-profiles url-filtering delete:

gcloud network-security security-profiles url-filtering delete NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION

Ganti kode berikut:

  • NAME: nama profil keamanan pemfilteran URL yang ingin Anda hapus; Anda dapat menentukan nama sebagai string atau sebagai ID URL unik.

  • ORGANIZATION_ID: organisasi tempat profil keamanan pemfilteran URL dibuat. Jika Anda menggunakan ID URL unik untuk flag NAME, Anda dapat menghapus flag ORGANIZATION_ID.

  • LOCATION: lokasi profil keamanan pemfilteran URL.

    Lokasi selalu ditetapkan ke global. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda LOCATION.

Mengimpor profil keamanan pemfilteran URL

Anda dapat mengimpor profil keamanan pemfilteran URL (yang dibuat khusus atau diekspor sebelumnya) dari file YAML. Saat mengimpor profil keamanan pemfilteran URL, jika profil dengan nama yang sama sudah ada, Cloud NGFW akan memperbarui profil yang ada.

gcloud

Untuk mengimpor profil keamanan pemfilteran URL dari file YAML, gunakan perintah gcloud network-security security-profiles import:

gcloud network-security security-profiles import NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \
    --source FILE_NAME

Ganti kode berikut:

  • NAME: nama profil keamanan jenis url-filtering yang ingin Anda impor; Anda dapat menentukan nama sebagai string atau sebagai ID URL unik.

    Jika Anda menggunakan ID URL unik untuk flag NAME, Anda dapat menghilangkan flag ORGANIZATION_ID dan LOCATION.

  • ORGANIZATION_ID: organisasi tempat profil keamanan pemfilteran URL dibuat. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda ORGANIZATION_ID.

  • LOCATION: lokasi profil keamanan pemfilteran URL. Lokasi selalu ditetapkan ke global. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda LOCATION.

  • FILE_NAME: jalur ke file YAML yang berisi data ekspor konfigurasi untuk profil keamanan pemfilteran URL. Misalnya,url-filtering-sp.yaml.

    File YAML tidak boleh berisi kolom hanya output. Atau, Anda dapat menghapus flag source untuk membaca dari input standar.

Mengekspor profil keamanan pemfilteran URL

Anda dapat mengekspor profil keamanan pemfilteran URL ke file YAML. Misalnya, alih-alih menggunakan antarmuka pengguna untuk mengubah profil keamanan yang besar, Anda dapat menggunakan fungsi ini untuk mengekspor profil keamanan, mengubahnya dengan cepat, dan mengimpornya kembali.

gcloud

Untuk mengekspor profil keamanan pemfilteran URL ke file YAML, gunakan perintah gcloud network-security security-profiles export:

gcloud network-security security-profiles export NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \
    --destination FILE_NAME

Ganti kode berikut:

  • NAME: nama profil keamanan jenis url-filtering yang ingin Anda ekspor; Anda dapat menentukan nama sebagai string atau sebagai ID URL unik.

    Jika Anda menggunakan ID URL unik untuk flag NAME, Anda dapat menghilangkan flag ORGANIZATION_ID dan LOCATION.

  • ORGANIZATION_ID: organisasi tempat profil keamanan pemfilteran URL dibuat. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda ORGANIZATION_ID.

  • LOCATION: lokasi profil keamanan pemfilteran URL. Lokasi selalu ditetapkan ke global. Jika Anda menggunakan ID URL unik untuk tanda NAME, Anda dapat menghapus tanda LOCATION.

  • FILE_NAME: jalur ke file YAML tempat Cloud NGFW akan mengekspor konfigurasi untuk profil keamanan pemfilteran URL. Contohnya, url-filtering-sp.yaml

    Data konfigurasi yang diekspor tidak berisi kolom hanya output. Atau, Anda dapat menghilangkan tanda destination untuk menulis ke output standar.

Langkah berikutnya