Aturan kebijakan keamanan Google Cloud Armor yang memfilter berdasarkan alamat IP
biasanya menggunakan IP klien pemanggil. Jika layanan Anda berada di balik
perantara, seperti jaringan penayangan konten (CDN) pihak ketiga, IP klien
di kolom origin.ip adalah alamat IP perantara terakhir, bukan
klien asli.
Fitur IP pengguna memungkinkan Anda mengonfigurasi kolom alternatif, origin.user_ip, untuk
di-resolve dari header yang diisi oleh penyedia upstream. Kemudian, Anda dapat menggunakan kolom
origin.user_ip dalam aturan kebijakan keamanan untuk menentukan alamat IP
yang digunakan dalam fitur tersebut. Anda dapat mengonfigurasi opsi userIpRequestHeaders[]
di kolom advancedOptionsConfig kebijakan keamanan saat menggunakan
origin.user_ip.
Cara kerja alamat IP pengguna
Anda mengonfigurasi Cloud Armor untuk mengekstrak alamat IP pengguna akhir dari
header permintaan tertentu. Nilai ini mengisi kolom origin.user_ip, yang
kemudian dapat Anda gunakan dalam aturan kebijakan keamanan.
Jika header yang ditentukan dalam userIpRequestHeaders[] tidak ada, atau jika
nilainya bukan alamat IP yang valid, Cloud Armor akan kembali ke alamat IP sumber
klien (origin.ip). Contoh berikut menunjukkan perbandingan langsung untuk kasus default.
origin.ip != origin.user_ip
Contoh berikut menunjukkan cara menggunakan origin.user_ip dalam bahasa aturan,
dengan Google Threat Intelligence, dan dalam grup alamat.
inIpRange
inIpRange(origin.user_ip, '9.9.9.0/24')
Untuk mengetahui informasi selengkapnya tentang penggunaan inIpRange dengan origin.user_ip, lihat Atribut.
Google Threat Intelligence
evaluateThreatIntelligence('iplist-known-malicious-ips', origin.user_ip)
Untuk mengetahui informasi selengkapnya, lihat Menerapkan Google Threat Intelligence.
Grup alamat
evaluateAddressGroup('example-address-group', origin.user_ip)
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi grup alamat.
Grup alamat lingkup organisasi
evaluateOrganizationAddressGroup('example-org-address-group', origin.user_ip)
Untuk mengetahui informasi selengkapnya, lihat Menggunakan grup alamat lingkup organisasi.
Praktik terbaik
Karena origin.user_ip di-resolve dari header permintaan, yang dapat dimanipulasi oleh
klien yang tidak tepercaya, Anda harus memvalidasi bahwa traffic berasal dari sumber
upstream tepercaya.
Untuk memvalidasi sumber upstream, buat kebijakan keamanan dengan minimal dua
aturan. Aturan pertama, dengan prioritas yang lebih tinggi, memeriksa apakah IP sumber
langsung (origin.ip) berasal dari penyedia upstream tepercaya Anda. Aturan kedua,
dengan prioritas yang lebih rendah, menerapkan logika yang Anda inginkan menggunakan kolom
origin.user_ip.
Misalnya, Anda dapat membuat kebijakan dengan dua aturan berikut:
- Aturan 1:
evaluateThreatIntelligence('iplist-public-clouds', origin.ip) - Aturan 2:
inIpRange(origin.user_ip, '9.9.9.0/24')
Langkah berikutnya
- Mengonfigurasi atribut bahasa aturan kustom
- Menerapkan Google Threat Intelligence
- Mengonfigurasi grup alamat
- Menggunakan grup alamat lingkup organisasi