Mengonfigurasi aturan

Secure Web Proxy memungkinkan Anda menentukan berbagai jenis aturan dalam kebijakan untuk mengamankan traffic web keluar. Anda dapat menggunakan aturan ini untuk mengontrol keamanan traffic secara tepat dengan menggunakan detail permintaan tertentu—seperti header dan pola URL—untuk memastikan hanya traffic HTTP/S yang disetujui yang keluar dari jaringan Anda.

Halaman ini menjelaskan berbagai jenis aturan dan langkah-langkah untuk membuat dan menambahkannya ke kebijakan keamanan Anda.

Mengonfigurasi aturan pencocokan host

Aturan pencocokan host mengevaluasi nama host tujuan permintaan web terhadap daftar URL yang diizinkan atau ditolak. Dengan memeriksa domain tujuan seperti www.example.com, aturan ini memastikan bahwa traffic Anda hanya mencapai situs dan layanan yang disetujui.

Bagian ini menjelaskan cara mengonfigurasi aturan pencocokan host untuk mode deployment Secure Web Proxy berikut:

  • Mode proxy eksplisit
  • Mode hop berikutnya

Mode proxy eksplisit

Saat men-deploy Secure Web Proxy sebagai proxy eksplisit, konfigurasikan aturan pencocokan host untuk memverifikasi bahwa informasi host yang dikirim oleh klien diekstrak dengan benar dan diperiksa berdasarkan aturan keamanan yang Anda tetapkan. Dalam mode proxy eksplisit, klien dikonfigurasi secara aktif untuk mengirimkan traffic mereka langsung ke instance Secure Web Proxy.

Pencocokan host dalam mode proxy eksplisit berfungsi untuk berbagai jenis traffic web sebagai berikut:

Jenis traffic Mekanisme pencocokan Konfigurasi aturan
HTTP yang tidak dienkripsi Secure Web Proxy memeriksa nama host tujuan terhadap kolom host di header CONNECT standar permintaan HTTP. Di kolom sessionMatcher, gunakan host() == "example.com".
HTTPS terenkripsi (tanpa pemeriksaan Transport Layer Security (TLS)) Pencocokan host juga tidak mungkin dilakukan di tingkat aplikasi atau di tingkat sesi. Hal ini karena detail permintaan dienkripsi dan atribut destination.ip tidak didukung. Anda harus menggunakan kontrol kebijakan yang lebih luas seperti pencocokan identitas sumber atau mengaktifkan pemeriksaan TLS untuk pemfilteran berbasis host. Untuk menggunakan Pencocok Aplikasi, gunakan pencocokan identitas sumber seperti akun layanan atau aktifkan inspeksi TLS.
HTTPS terenkripsi (dengan inspeksi TLS) Untuk memeriksa permintaan lengkap, Anda harus menggunakan Pencocok Sesi dan Pencocok Aplikasi. 1. Tetapkan aturan Session Matcher umum yang menampilkan true atau mencocokkan host tujuan seperti host() == "example.com".

2. Di kolom applicationMatcher, tambahkan aturan host tertentu seperti request.host() == "example.com".

Mode hop berikutnya

Saat men-deploy Secure Web Proxy sebagai next hop, Anda harus mengonfigurasi aturan pencocokan host. Traffic dialihkan ke proxy melalui rute Virtual Private Cloud (VPC) berdasarkan rentang alamat IP yang Anda tentukan. Aturan pencocokan host memastikan bahwa proxy mengidentifikasi host tujuan dengan benar dengan memeriksa berbagai kolom traffic, seperti header Indikasi Nama Server (SNI).

Pencocokan host dalam mode next hop berfungsi untuk berbagai jenis traffic web dengan cara berikut:

Jenis traffic Mekanisme pencocokan Konfigurasi aturan
HTTP yang tidak dienkripsi Secure Web Proxy memeriksa nama host tujuan terhadap kolom host di header permintaan HTTP standar. Di kolom sessionMatcher, gunakan host() == "example.com".
HTTPS terenkripsi (tanpa pemeriksaan TLS) Secure Web Proxy memeriksa nama host terhadap header SNI dalam permintaan keluar, yang terlihat meskipun sisa traffic dienkripsi. Di kolom sessionMatcher, gunakan host() == "example.com".
HTTPS terenkripsi (dengan inspeksi TLS) Untuk memeriksa permintaan lengkap, Anda harus menggunakan Pencocok Sesi dan Pencocok Aplikasi. 1. Tetapkan aturan Session Matcher umum yang menampilkan true atau mencocokkan host tujuan seperti host() == "example.com".

2. Di kolom applicationMatcher, tambahkan aturan host tertentu seperti request.host() == "example.com".

Mengonfigurasi aturan proxy TCP

Anda dapat mengonfigurasi aturan proxy Transmission Control Protocol (TCP) untuk aplikasi Anda guna mengamankan traffic non-web dan menerapkan kebijakan keamanan untuk aplikasi yang tidak menggunakan HTTP/S standar, seperti untuk port 80 dan 443.

Dengan menerapkan aturan ini, Anda dapat mencegah penggunaan port TCP lain yang tidak sah untuk transfer data atau aktivitas berbahaya. Hal ini sangat berguna saat beban kerja Anda menggunakan Secure Web Proxy sebagai next hop untuk protokol non-web.

Untuk menerapkan aturan proxy TCP dan membuat aturan izinkan atau blokir traffic untuk aplikasi Anda, Anda harus menentukan port tujuan. Secara opsional, Anda dapat menyertakan salah satu atribut Session Matcher berikut untuk mempertajam kriteria aturan izinkan atau blokir.

Tabel berikut memberikan informasi selengkapnya tentang berbagai atribut yang dapat Anda gunakan dalam aturan proxy TCP:

Atribut Jenis atribut Deskripsi
source.ip string Alamat IP klien yang mengirim permintaan.
source.port string Port klien yang mengirim permintaan.
destination.port string Port upstream tempat instance Secure Web Proxy Anda mengirimkan traffic.
source.matchTag(SECURE_TAG) boolean

True, jika sumber dikaitkan dengan SECURE_TAG.

Argumennya adalah ID permanen tag aman, seperti source.matchTag('tagValues/123456').

source.matchServiceAccount(SERVICE_ACCOUNT) boolean True, jika sumber dikaitkan dengan SERVICE_ACCOUNT seperti source.matchServiceAccount('x@my-project.iam.gserviceaccount.com').
inIpRange(IP_ADDRESS,
IP_RANGE)
boolean True, jika IP_ADDRESS terkandung dalam IP_RANGE seperti inIpRange(source.ip, '1.2.3.0/24'). Masker subnet untuk alamat IPv6 tidak boleh lebih besar dari `/64`.

Contoh aturan proxy TCP

Contoh ini menunjukkan cara menentukan gatewaySecurityPolicyRule Secure Web Proxy dengan menggunakan ekspresi CEL untuk mengizinkan semua traffic TCP ke port 22. Anda dapat menggunakan konfigurasi ini saat menerapkan kemampuan proxy TCP Secure Web Proxy.

Contoh kode berikut menunjukkan cara menentukan aturan proxy TCP:

name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
enabled: true
priority: 100 # Lower numbers have higher priority
description: "Allow TCP proxy traffic to port 22 - such as, for SSH"
basicProfile: ALLOW
sessionMatcher: "destination.port == 22"

Ganti kode berikut:

  • PROJECT_ID: ID project Anda
  • REGION: region kebijakan Anda
  • POLICY_NAME: nama kebijakan Anda
  • RULE_NAME: nama aturan proxy TCP. Dalam contoh ini, kita dapat menganggap nilainya sebagai allow-ssh-tcp-proxy.

Pertimbangan penting

  • Setiap aturan proxy TCP yang Anda konfigurasi harus memiliki prioritas yang lebih tinggi (angka yang lebih rendah) daripada aturan HTTP/S untuk memastikan aturan tersebut dievaluasi dan ditindaklanjuti terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Urutan evaluasi aturan.

  • Saat mengonfigurasi aturan proxy TCP, atribut host Session Matcher tidak didukung karena informasi host tidak tersedia di lapisan TCP.

  • Aturan proxy TCP memfilter traffic web hanya berdasarkan port tujuan. Untuk meningkatkan keamanan jaringan, sebaiknya tambahkan kondisi lain dengan menggunakan operator logika, yaitu operator AND logika (&&) dan operator OR logika (||), serta atribut yang didukung seperti source.ip. Berikut adalah contoh cara menentukan aturan proxy TCP yang lebih spesifik:

      // Allow port 22 from only a specific source IP range
      sessionMatcher: "destination.port == 22 && inIpRange(source.ip, '10.0.0.0/24')"
    
  • Secure Web Proxy tidak mendukung kemampuan untuk mengonfigurasi aturan proxy untuk aplikasi User Datagram Protocol (UDP). Akibatnya, Secure Web Proxy memblokir traffic aplikasi berbasis UDP.

Membuat aturan Secure Web Proxy

Bagian ini menjelaskan cara membuat aturan Secure Web Proxy.

Sebelum membuat aturan, pastikan Anda melakukan tindakan berikut:

  1. Selesaikan semua langkah penyiapan awal.

  2. Membuat kebijakan

Setelah membuat aturan dan mengaitkannya dengan kebijakan, Anda dapat menggunakan aturan tersebut saat men-deploy Secure Web Proxy.

Konsol

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

    Buka Kebijakan SWP

  2. Klik nama kebijakan Anda, seperti policy1.

  3. Klik Tambahkan aturan.

  4. Untuk setiap aturan, lakukan hal berikut:

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

    2. Di kolom Name, masukkan nama untuk aturan.

    3. Di kolom Deskripsi, masukkan deskripsi untuk aturan.

    4. Untuk Tindakan, pilih salah satu opsi berikut:

      • Izinkan: untuk mengizinkan permintaan koneksi yang cocok dengan aturan.
      • Tolak: 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.
      • Dinonaktifkan: agar tidak menerapkan aturan pada instance Secure Web Proxy Anda.
    6. Di bagian Pencocokan Sesi, tentukan kriteria untuk mencocokkan sesi, seperti host() == "www.wikipedia.org".

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

    7. Di bagian Pencocokan Aplikasi, tentukan kriteria untuk mencocokkan permintaan.

      Untuk mengetahui informasi selengkapnya tentang pencocokan traffic TCP, lihat Mengonfigurasi aturan proxy TCP.

    8. Klik Tambahkan Aturan.

Cloud Shell

  1. Buat file rule.yaml seperti yang ditunjukkan di sini. Untuk mengetahui informasi selengkapnya tentang sintaksis untuk sessionMatcher, lihat Referensi bahasa pencocok CEL.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
    description: Allow wikipedia.org
    enabled: true
    priority: 1
    basicProfile: ALLOW
    sessionMatcher: host() == 'www.wikipedia.org'
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda
    • REGION: region kebijakan Anda
    • RULE_NAME: nama aturan. Dalam contoh ini, kita dapat menganggap nilainya sebagai allow-wikipedia-org.
  2. Opsional: Atau, jika Anda ingin membuat aturan dengan inspeksi TLS diaktifkan, buat file rule.yaml seperti yang ditunjukkan di sini. Untuk mengetahui informasi selengkapnya, lihat Ringkasan pemeriksaan TLS dan Mengaktifkan pemeriksaan TLS.

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow wikipedia.org
      enabled: true
      priority: 1
      basicProfile: ALLOW
      sessionMatcher: host() == 'www.wikipedia.org'
      applicationMatcher: request.path.contains('index.html')
      tlsInspectionEnabled: true
    

    Untuk mengetahui informasi selengkapnya tentang pencocokan traffic TCP, lihat Mengonfigurasi aturan proxy TCP.

  3. Buat aturan kebijakan keamanan.

    gcloud network-security gateway-security-policies rules import allow-wikipedia-org \
        --source=rule.yaml \
        --location=REGION \
        --gateway-security-policy=policy1
    

Langkah berikutnya