Menggunakan daftar URL untuk membuat kebijakan

Halaman ini menjelaskan cara menggunakan daftar URL untuk membuat dan mengelola kebijakan akses terperinci untuk traffic web keluar dalam instance Secure Web Proxy. Daripada membuat aturan individual untuk setiap situs, daftar URL memungkinkan Anda menentukan kumpulan domain, nama host, dan pola URL tertentu yang dapat digunakan kembali dan terpusat.

Berikut beberapa manfaat utama menggunakan daftar URL:

  • Menyederhanakan pengelolaan kebijakan: Anda dapat menerapkan kumpulan besar aturan allow atau deny dengan satu referensi dalam kebijakan keamanan.

  • Menerapkan kontrol yang presisi: Anda dapat menggunakan sintaksis tertentu untuk mencocokkan seluruh domain, subdomain, atau jalur URL yang sama persis. Hal ini membantu memastikan bahwa workload Anda hanya dapat mengakses tujuan yang diotorisasi.

  • Mengamankan akses web: Anda dapat mengamankan dan mengaudit akses web secara efisien di seluruh lingkungan Google Cloud Anda.

Sebelum memulai

  • Selesaikan langkah-langkah penyiapan awal.

  • Pastikan Anda telah menginstal Google Cloud CLI versi 406.0.0 atau yang lebih baru:

    gcloud version | head -n1
    

    Jika Anda telah menginstal gcloud CLI versi sebelumnya, update versinya:

    gcloud components update --version=406.0.0
    

Membuat instance Secure Web Proxy dengan kebijakan kosong

Untuk membuat instance Secure Web Proxy, Anda harus membuat kebijakan keamanan kosong terlebih dahulu, lalu membuat proxy web yang menggunakan kebijakan tersebut.

Membuat kebijakan keamanan kosong

Konsol

  1. Di Google Cloud konsol, buka halaman SWP Policies.

    Buka SWP Policies

  2. Klik Create a policy.

  3. Di kolom Name, masukkan nama untuk kebijakan, seperti myswppolicy.

  4. Di kolom Description, masukkan deskripsi untuk kebijakan, seperti My new swp policy.

  5. Untuk Regions, pilih region tempat Anda ingin membuat kebijakan, seperti us-central1.

  6. Klik Create.

Cloud Shell

  1. Gunakan editor teks pilihan Anda untuk membuat file policy.yaml.

  2. Tambahkan kode berikut ke file policy.yaml yang Anda buat:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Ganti kode berikut:

    • PROJECT_NAME: nama project Anda

    • REGION: region tempat kebijakan Anda dibuat, seperti us-central1

    • POLICY_NAME: nama kebijakan Anda

    • POLICY_DESCRIPTION: deskripsi untuk kebijakan Anda

  3. Impor kebijakan keamanan menggunakan perintah gcloud network-security gateway-security-policies import command:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Membuat proxy web

Konsol

  1. Di Google Cloud konsol, buka halaman Web Proxies.

    Buka Web Proxies

  2. Klik Create a secure web proxy.

  3. Di kolom Name, masukkan nama untuk proxy web, seperti myswp.

  4. Di kolom Description, masukkan deskripsi untuk proxy web, seperti My new swp.

  5. Untuk Routing mode, pilih opsi Explicit.

  6. Untuk Regions, pilih region tempat Anda ingin membuat proxy web, seperti us-central1.

  7. Untuk Network, pilih jaringan tempat Anda ingin membuat proxy web.

  8. Untuk Subnetwork, pilih subnet VPC yang sebelumnya Anda buat sebagai bagian dari langkah-langkah penyiapan awal.

  9. Opsional: Di kolom Web proxy IP address, masukkan alamat IP Secure Web Proxy.

    Anda dapat memasukkan alamat IP dari rentang alamat IP Secure Web Proxy yang berada di subnet yang Anda buat pada langkah sebelumnya. Jika Anda tidak memasukkan alamat IP, instance Secure Web Proxy akan otomatis memilih alamat IP dari subnet yang dipilih.

  10. Untuk Certificate, pilih sertifikat yang ingin Anda gunakan untuk membuat proxy web.

  11. Untuk Policy, pilih kebijakan yang Anda buat untuk mengaitkan proxy web.

  12. Klik Create.

Cloud Shell

  1. Gunakan editor teks pilihan Anda untuk membuat file gateway.yaml.

  2. Tambahkan kode berikut ke file gateway.yaml:

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Ganti kode berikut:

    • GATEWAY_NAME: nama instance Secure Web Proxy ini

    • GATEWAY_PORT_NUMBERS: daftar nomor port untuk gateway ini, seperti [80,443]

    • CERTIFICATE_URLS: daftar URL sertifikat SSL

    • SUBNETWORK: subnet VPC yang sebelumnya Anda buat sebagai bagian dari langkah-langkah penyiapan awal

    • GATEWAY_IP_ADDRESS: daftar alamat IP opsional untuk instance Secure Web Proxy Anda dalam subnet proxy yang sebelumnya Anda buat di langkah-langkah penyiapan awal

      Jika Anda memilih untuk tidak mencantumkan alamat IP, hapus kolom tersebut agar proxy web dapat memilih alamat IP untuk Anda.

  3. Buat instance Secure Web Proxy menggunakan perintah gcloud network-services gateways import command:

    gcloud network-services gateways import GATEWAY_NAME \
        --source=gateway.yaml \
        --location=REGION
    

Menguji konektivitas

Untuk menguji konektivitas, gunakan perintah curl dari instance mesin virtual (VM) mana pun dalam jaringan Virtual Private Cloud (VPC) Anda:

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Jika semuanya berfungsi dengan benar, instance Secure Web Proxy Anda akan menampilkan kode status 403 Forbidden. Error ini mengonfirmasi hal berikut:

  • Instance Secure Web Proxy telah berhasil di-deploy dan secara aktif menerima traffic.

  • Kebijakan Secure Web Proxy dengan benar menerapkan postur keamanan default untuk menolak semua traffic hingga Anda menentukan aturan allow tertentu di bagian berikutnya.

Membuat dan mengonfigurasi daftar URL

Konsol

  1. Di Google Cloud konsol, buka halaman URL Lists.

    Buka URL Lists

  2. Klik Create a URL list. Halaman Create URL list akan terbuka.

  3. Di kolom Name, masukkan nama untuk daftar URL, seperti example-org-allowed-list.

  4. Di kolom Description, masukkan deskripsi untuk daftar URL, seperti My new URL list.

  5. Untuk Regions, pilih region tempat Anda ingin membuat daftar URL, seperti us-central1.

  6. Untuk menambahkan daftar host, URL, atau pola yang akan dicocokkan, di kolom URL list, masukkan detailnya atau klik Upload list untuk mengupload daftar URL kustom. Untuk mengetahui informasi selengkapnya, lihat Referensi sintaksis UrlList.

  7. Klik Create.

Cloud Shell

  1. Gunakan editor teks pilihan Anda untuk membuat file url_list.yaml.

  2. Tambahkan kode berikut ke file url_list.yaml:

      name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME
      values: URL_LIST
    

    Ganti kode berikut:

    • PROJECT_ID: ID unik project Anda Google Cloud

    • REGION: region tempat daftar URL Anda dibuat, seperti us-central1

    • URL_LIST_NAME: nama daftar URL

    • URL_LIST: daftar host, URL, atau pola yang akan dicocokkan

    Untuk mengetahui informasi selengkapnya, lihat Referensi sintaksis UrlList.

    Berikut adalah contoh file aturan daftar URL:

    name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list
    values:
      - www.example.com
      - about.example.com
      - "*.google.com"
      - "github.com/example-org/*"
    

    Karakter tanda bintang (*) memiliki arti khusus dalam YAML. Anda harus menambahkan tanda kutip di sekitar URL yang menyertakan karakter *.

  3. Impor daftar URL yang Anda buat menggunakan gcloud network-security url-lists import perintah sehingga aturan Secure Web Proxy Anda dapat mereferensikannya.

    gcloud network-security url-lists import URL_LIST_NAME \
        --location=REGION \
        --project=PROJECT_ID \
        --source=url_list.yaml
    

Menambahkan aturan Secure Web Proxy

Konsol

  1. Di Google Cloud konsol, buka halaman SWP Policies.

    Buka SWP Policies

  2. Klik nama kebijakan Anda, seperti myswppolicy.

  3. Klik Add rule.

  4. Untuk setiap aturan, lakukan hal berikut:

    1. Untuk Priority, masukkan urutan evaluasi numerik untuk aturan. Aturan dievaluasi dari prioritas tertinggi hingga terendah, dengan 0 sebagai prioritas tertinggi.

    2. Di kolom Name, masukkan nama untuk aturan, seperti allow-org-url-list.

    3. Di kolom Description, masukkan deskripsi untuk aturan.

    4. Untuk Action, pilih salah satu opsi berikut:

      • Izinkan: untuk mengizinkan permintaan koneksi yang cocok dengan aturan.
      • Deny: untuk menolak permintaan koneksi yang cocok dengan aturan.
    5. Untuk kolom Status, pilih salah satu opsi berikut untuk penerapan aturan:

      • Diaktifkan: untuk menerapkan aturan pada instance Secure Web Proxy Anda.
      • Disabled: untuk tidak menerapkan aturan pada instance Secure Web Proxy Anda.
    6. Di bagian Session Match, tentukan nama unik daftar URL yang Anda buat di bagian sebelumnya. Contoh:

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME)"
      

      Untuk mengetahui informasi selengkapnya tentang sintaksis untuk SessionMatcher, lihat Referensi bahasa pencocok CEL.

    7. Di bagian Application Match, tentukan kriteria untuk mencocokkan permintaan.

    8. Klik Add rule.

Cloud Shell

  1. Gunakan editor teks pilihan Anda untuk membuat file rule.yaml.

  2. Tambahkan kode berikut ke file rule.yaml:

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    basicProfile: ALLOW
    enabled: true
    priority: RULE_PRIORITY
    description: RULE_DESCRIPTION
    sessionMatcher: SESSION_CEL_EXPRESSION
    applicationMatcher: APPLICATION_CEL_EXPRESSION
    

    Ganti kode berikut:

    • PROJECT_ID: ID unik project Anda Google Cloud

    • REGION: region tempat aturan ini berlaku

    • POLICY_NAME: nama kebijakan keamanan yang ada yang digunakan oleh instance Secure Web Proxy Anda

    • RULE_NAME: nama aturan

    • PRIORITY_VALUE: prioritas aturan; angka yang lebih rendah sesuai dengan prioritas yang lebih tinggi

    • RULE_DESCRIPTION: deskripsi untuk aturan

    • SESSION_CEL_EXPRESSION: ekspresi Common Expression Language (CEL). Untuk mengetahui informasi selengkapnya, lihat Referensi bahasa pencocok CEL.

    • APPLICATION_CEL_EXPRESSION: ekspresi CEL untuk aplikasi Anda

    Berikut adalah contoh file aturan:

    name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos
    basicProfile: ALLOW
    enabled: true
    priority: 100
    description: Allow access to our list of known code repos.
    sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
    

  3. Impor aturan yang Anda buat menggunakan perintah gcloud network-security gateway-security-policies rules import.

        gcloud network-security gateway-security-policies rules import RULE_NAME \
          --location=REGION \
          --project=PROJECT_ID \
          --source=rule.yaml \
          --gateway-security-policy=POLICY_NAME
    

Menguji konfigurasi kebijakan

Anda dapat menguji konektivitas lagi untuk memvalidasi bahwa aturan akses berbasis daftar URL dikonfigurasi dengan benar dan diterapkan secara aktif oleh instance Secure Web Proxy Anda.

Untuk menguji konektivitas, gunakan perintah curl berikut:

curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure

Ganti kode berikut:

  • SWP_IP_ADDRESS: alamat IP instance Secure Web Proxy Anda

  • SWP_PORT_NUMBER: nomor port proxy web Anda, seperti 443

  • HTTP_TEST_ADDRESS: alamat yang akan diuji, seperti https://www.example.com. Alamat ini cocok dengan entri host atau URL di url_list Anda.

Jika semuanya berfungsi dengan benar, Anda akan menerima respons 200 OK. Respons ini mengonfirmasi bahwa traffic keluar ke URL yang tercantum dalam daftar URL Anda dan direferensikan oleh aturan kebijakan keamanan berhasil diizinkan melalui instance Secure Web Proxy Anda.

Langkah berikutnya