Ringkasan alamat IP pengguna

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