Bagian berikut membahas cara Google Cloud Armor berinteraksi dengan fitur dan produk Google Cloud lainnya.
Aturan firewall Google Cloud Armor dan VPC
Kebijakan keamanan Google Cloud Armor dan aturan firewall VPC memiliki fungsi yang berbeda:
- Kebijakan keamanan Google Cloud Armor memberikan keamanan edge dan menindaklanjuti traffic klien ke Google Front End (GFE).
- Aturan firewall VPC mengizinkan atau menolak traffic ke dan dari backend Anda. Anda harus membuat aturan firewall izinkan masuk, yang targetnya adalah VM backend yang di-load balanced, dan yang sumbernya adalah rentang IP yang digunakan oleh Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Dengan aturan ini, GFE dan sistem health check dapat berkomunikasi dengan VM backend Anda.
Misalnya, pertimbangkan skenario saat Anda ingin mengizinkan traffic hanya dari rentang CIDR 100.1.1.0/24 dan rentang CIDR 100.1.2.0/24 untuk mengakses Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik Anda. Tujuan Anda adalah memastikan bahwa traffic tidak dapat langsung menjangkau instance load balanced backend. Dengan kata lain, hanya traffic eksternal yang di-proxy-kan melalui Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik dengan kebijakan keamanan terkait yang akan mencapai instance.
Pada ilustrasi sebelumnya, Anda menyelesaikan tujuan keamanan dengan mengonfigurasi deployment Google Cloud sebagai berikut:
- Buat dua grup instance, satu di region
us-west1
dan satu lagi di regioneurope-west1
. - Deploy instance aplikasi backend ke VM di grup instance.
- Buat Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik di Premium
Tier. Konfigurasikan peta URL sederhana
dan satu layanan backend yang backend-nya adalah dua grup instance
yang Anda buat di langkah sebelumnya. Pastikan aturan penerusan load balancer menggunakan alamat IP eksternal
120.1.1.1
. - Konfigurasi kebijakan keamanan Google Cloud Armor yang mengizinkan traffic dari 100.1.1.0/24 dan 100.1.2.0/24 dan menolak semua traffic lainnya.
- Kaitkan kebijakan ini dengan layanan backend load balancer. Untuk mengetahui petunjuknya, lihat Mengonfigurasi kebijakan keamanan. Load balancer HTTP(S) eksternal dengan peta URL yang lebih kompleks dapat mereferensikan beberapa layanan backend. Anda dapat mengaitkan kebijakan keamanan dengan satu atau beberapa layanan backend sesuai kebutuhan.
- Mengonfigurasi traffic masuk, izinkan aturan firewall untuk mengizinkan traffic dari Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Untuk mengetahui informasi lebih lanjut, lihat Aturan firewall.
Google Cloud Armor dengan Load Balancer Aplikasi eksternal dan IAP
Identity-Aware Proxy (IAP) memverifikasi identitas pengguna, lalu menentukan apakah pengguna tersebut harus diizinkan untuk mengakses aplikasi. Guna mengaktifkan IAP untuk Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, Anda harus mengaktifkannya di layanan backend load balancer. Kebijakan keamanan edge Google Cloud Armor juga terpasang ke layanan backend Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.
Jika kebijakan keamanan Google Cloud Armor dan IAP diaktifkan untuk layanan backend, urutan evaluasinya bergantung pada jenis load balancer:
Untuk layanan backend Load Balancer Aplikasi eksternal global, evaluasi Google Cloud Armor akan dilakukan terlebih dahulu. Jika Google Cloud Armor memblokir permintaan, IAP tidak akan mengevaluasi permintaan tersebut. Jika Google Cloud Armor mengizinkan permintaan, IAP akan mengevaluasi permintaan tersebut. Permintaan akan diblokir jika IAP tidak mengautentikasi permintaan.
Untuk layanan backend Load Balancer Aplikasi klasik, evaluasi IAP dilakukan terlebih dahulu. Jika IAP mengautentikasi permintaan, Google Cloud Armor akan mengevaluasi permintaan tersebut. Jika permintaan gagal dalam autentikasi IAP, Google Cloud Armor tidak akan mengevaluasi permintaan tersebut.
Untuk mengetahui informasi selengkapnya tentang IAP dan konfigurasi terkait, lihat dokumentasi Identity-Aware Proxy.
Google Cloud Armor dengan deployment hybrid
Dalam deployment hybrid, Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik memerlukan akses ke sumber konten atau aplikasi yang berjalan di luar Google Cloud, misalnya, di infrastruktur penyedia cloud lain. Anda dapat menggunakan Google Cloud Armor untuk melindungi deployment tersebut.
Dalam diagram berikut, load balancer memiliki dua layanan backend. Salah satunya memiliki grup instance sebagai backend-nya. Layanan backend lainnya memiliki NEG internet sebagai backend-nya, dan NEG internet dikaitkan dengan aplikasi yang berjalan di pusat data penyedia pihak ketiga.
Jika Anda menambahkan kebijakan keamanan Google Cloud Armor ke layanan backend yang memiliki NEG internet sebagai backend, Google Cloud Armor akan memeriksa setiap permintaan L7 yang tiba di Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik yang ditujukan untuk layanan backend tersebut.
Perlindungan Google Cloud Armor untuk deployment hybrid tunduk pada batasan yang sama seperti yang berlaku untuk NEG internet.
Google Cloud Armor dengan Ingress Google Kubernetes Engine (GKE)
Setelah mengonfigurasi kebijakan keamanan Google Cloud Armor, Anda dapat menggunakan Kubernetes Ingress untuk mengaktifkannya dengan GKE.
Anda dapat merujuk kebijakan keamanan menggunakan resource BackendConfig
dengan menambahkan
nama kebijakan keamanan Anda ke BackendConfig
. Manifes
BackendConfig
berikut menentukan kebijakan keamanan bernama
example-security-policy
:
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
namespace: cloud-armor-how-to
name: my-backendconfig
spec:
securityPolicy:
name: "example-security-policy"
Untuk informasi selengkapnya tentang fitur Ingress, lihat Mengonfigurasi fitur Ingress.
Google Cloud Armor dengan Cloud CDN
Untuk melindungi server asal CDN, Anda dapat menggunakan Google Cloud Armor dengan Cloud CDN. Google Cloud Armor melindungi server asal CDN Anda dari serangan aplikasi, memitigasi risiko OWASP Top 10, dan menerapkan kebijakan pemfilteran Lapisan 7. Ada dua jenis kebijakan keamanan yang memengaruhi cara kerja Google Cloud Armor dengan Cloud CDN: kebijakan keamanan edge dan kebijakan keamanan backend.
Kebijakan keamanan Edge
Anda dapat menggunakan kebijakan keamanan edge untuk layanan backend yang mendukung Cloud CDN dan bucket backend Cloud Storage di belakang Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Gunakan kebijakan keamanan edge untuk memfilter permintaan sebelum konten ditayangkan dari cache.
Kebijakan keamanan backend
Saat kebijakan keamanan backend Google Cloud Armor diterapkan ke layanan backend dengan Cloud CDN diaktifkan, kebijakan tersebut hanya berlaku untuk permintaan yang dirutekan ke layanan backend. Permintaan ini mencakup permintaan konten dinamis dan cache yang tidak ditemukan—yaitu, permintaan yang tidak memiliki atau mengabaikan cache Cloud CDN.
Permintaan selalu dievaluasi terlebih dahulu terhadap kebijakan keamanan edge. Untuk permintaan yang diizinkan oleh kebijakan keamanan edge, permintaan akan ditayangkan kepada pengguna dan tidak dievaluasi berdasarkan kebijakan keamanan backend. Jika tidak, permintaan akan dievaluasi lagi, kali ini terhadap kebijakan keamanan backend.
Diagram berikut secara eksklusif menunjukkan cara kerja kebijakan keamanan backend dengan origin Cloud CDN, setelah permintaan diizinkan oleh kebijakan keamanan edge.
Untuk informasi lebih lanjut tentang Cloud CDN, lihat dokumentasi Cloud CDN.
Google Cloud Armor dengan Cloud Run, App Engine, atau Cloud Functions
Anda dapat menggunakan kebijakan keamanan Google Cloud Armor dengan backend NEG serverless yang mengarah ke layanan Cloud Run, App Engine, atau Cloud Functions.
Namun, saat menggunakan Google Cloud Armor dengan NEG serverless, Cloud Run, atau Cloud Functions, Anda harus melakukan langkah-langkah khusus untuk memastikan bahwa semua akses ke endpoint serverless difilter melalui kebijakan keamanan Google Cloud Armor.
Pengguna yang memiliki URL default untuk aplikasi serverless dapat mengabaikan load balancer dan langsung membuka URL layanan. Hal ini mengabaikan kebijakan keamanan Google Cloud Armor. Selain itu, Anda tidak dapat menonaktifkan URL yang ditetapkan secara otomatis oleh Google Cloud ke layanan Cloud Run atau Cloud Functions. Untuk melindungi aplikasi ini, Anda dapat menggunakan kontrol ingress App Engine atau kontrol ingress Cloud Run.
Untuk memastikan kontrol akses Anda diterapkan ke semua traffic masuk, Anda dapat menggunakan internal-and-gclb
saat mengonfigurasi Cloud Functions atau Cloud Run. Hal ini hanya memungkinkan traffic internal dan traffic yang dikirim ke alamat IP eksternal yang diekspos oleh Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Traffic yang dikirim ke cloudfunctions.net
atau domain kustom lainnya yang disiapkan melalui Cloud Functions akan diblokir. Tindakan ini akan mencegah pengguna mengakali kontrol akses apa pun (seperti kebijakan keamanan Google Cloud Armor) yang disiapkan melalui Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.
Untuk mengetahui informasi selengkapnya tentang NEG serverless, lihat Ringkasan grup endpoint jaringan serverless dan Menyiapkan NEG serverless.
Langkah selanjutnya
- Mengonfigurasi kebijakan, aturan, dan ekspresi keamanan
- Pelajari fitur di tingkat Cloud Armor Enterprise
- Memecahkan masalah