Aturan keamanan

Halaman ini menjelaskan aturan keamanan gateway dan cara membuatnya.

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

Aturan keamanan gateway memiliki fitur berikut:

  • Setiap aturan adalah pernyataan if-then yang memeriksa permintaan web terhadap parameter berikut:

    • Identitas sumber: siapa yang membuat permintaan, seperti virtual machine (VM) atau akun layanan tertentu.

    • Tujuan: ke mana permintaan tersebut ditujukan, seperti URL tujuan atau domain seperti trusted-partner.com.

    • Tindakan: keputusan untuk mengizinkan atau menolak traffic.

  • Aturan keamanan gateway memberikan kontrol terperinci. Aturan ini memungkinkan Anda menerapkan standar keamanan yang berbeda di seluruh organisasi dengan menggunakan definisi yang jelas dan terstruktur.

Aturan pencocokan host

Secure Web Proxy menggunakan pencocokan nama host untuk memverifikasi domain tujuan. Proses verifikasi bervariasi bergantung pada cara proxy Anda di-deploy seperti yang ditunjukkan dalam tabel berikut.

Mode deployment Proses verifikasi host
Mode proxy eksplisit Untuk traffic yang tidak terenkripsi, proxy memeriksa nama host terhadap header koneksi HTTP. Jika Anda menggunakan atribut Application Matcher untuk pemeriksaan TLS, proxy akan memeriksa nama host terlebih dahulu di tingkat koneksi, lalu di tingkat aplikasi.
Mode hop berikutnya Untuk traffic terenkripsi, proxy memeriksa nama host tujuan terhadap kolom Server Name Indication (SNI) dalam permintaan keluar. Kolom ini terlihat bahkan pada koneksi yang aman.

Mengonfigurasi aturan pencocokan host untuk 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 dan diperiksa dengan benar terhadap aturan keamanan yang Anda tentukan. Dalam mode proxy eksplisit, klien dikonfigurasi secara aktif untuk mengirim traffic mereka langsung ke instance Secure Web Proxy.

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

Jenis traffic Mekanisme pencocokan Konfigurasi aturan
HTTP yang tidak terenkripsi 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) inspeksi) Pencocokan host tidak dapat dilakukan baik di tingkat aplikasi maupun di tingkat sesi. Hal ini karena detail permintaan dienkripsi dan destination.ip atribut tidak didukung. Anda harus menggunakan kontrol kebijakan yang lebih luas seperti pencocokan identitas sumber atau mengaktifkan pemeriksaan TLS untuk pemfilteran berbasis host. Untuk menggunakan Application Matcher, gunakan pencocokan identitas sumber seperti akun layanan atau aktifkan pemeriksaan TLS.
HTTPS terenkripsi (dengan pemeriksaan TLS) Untuk memeriksa permintaan lengkap, Anda harus menggunakan Session Matcher dan Application Matcher. 1. Tetapkan aturan Session Matcher umum yang menampilkan true atau cocok dengan host tujuan seperti host() == "example.com".

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

Mengonfigurasi aturan pencocokan host untuk mode hop berikutnya

Saat men-deploy Secure Web Proxy sebagai hop berikutnya, 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 proxy mengidentifikasi host tujuan dengan benar dengan memeriksa berbagai kolom traffic, seperti header Server Name Indication (SNI).

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

Jenis traffic Mekanisme pencocokan Konfigurasi aturan
HTTP yang tidak terenkripsi 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 traffic lainnya dienkripsi. Di kolom sessionMatcher, gunakan host() == "example.com".
HTTPS terenkripsi (dengan pemeriksaan TLS) Untuk memeriksa permintaan lengkap, Anda harus menggunakan Session Matcher dan Application Matcher. 1. Tetapkan aturan Session Matcher umum yang menampilkan true atau cocok dengan host tujuan seperti host() == "example.com".

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

Aturan proxy TCP

Aturan proxy Transmission Control Protocol (TCP) memungkinkan Anda mengontrol traffic yang bukan traffic web standar, seperti HTTP (port 80) atau HTTPS (port 443). Dengan mengonfigurasi aturan proxy TCP, Anda dapat mengizinkan atau memblokir traffic di port TCP lainnya. Aturan ini membantu Anda memblokir traffic berbahaya dan mengelola aplikasi non-web yang menggunakan TCP.

Jika beban kerja Anda (seperti aplikasi dan layanan) menggunakan Secure Web Proxy sebagai hop berikutnya, penerapan aturan proxy TCP akan bermanfaat. Pengalihan berbasis rute mengarahkan traffic non-HTTP(S) dan non-web ke instance Secure Web Proxy Anda. Dengan begitu, Anda dapat memblokir traffic keluar agar tidak mencapai situs eksternal berbahaya dan mengelola layanan eksternal yang dapat terhubung dengan beban kerja jaringan Anda.

Mengonfigurasi aturan proxy TCP

Anda dapat mengonfigurasi aturan proxy 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 hop berikutnya untuk protokol non-web.

Untuk menerapkan aturan proxy TCP dan membuat aturan traffic izinkan atau blokir untuk aplikasi Anda, Anda harus menentukan port tujuan. Secara opsional, Anda dapat menyertakan salah satu atribut Session Matcher berikut untuk menyempurnakan 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 mengirim 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 terdapat dalam IP_RANGE seperti inIpRange(source.ip, '1.2.3.0/24'). Subnet mask untuk alamat IPv6 tidak boleh lebih besar dari `/64`.

Contoh aturan proxy TCP

Contoh ini menunjukkan cara menentukan Secure Web Proxy gatewaySecurityPolicyRule 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