Bagian berikut membahas cara Cloud Armor berinteraksi dengan fitur dan produk Google Cloud lainnya.
Aturan firewall VPC dan Cloud Armor
Kebijakan keamanan Cloud Armor dan aturan firewall VPC memiliki fungsi yang berbeda:
- Kebijakan keamanan Cloud Armor memberikan keamanan edge dan bertindak atas 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 balance, dan yang sumbernya adalah rentang IP yang digunakan oleh Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Aturan ini memungkinkan GFE dan sistem health check 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. Sasaran Anda adalah memblokir traffic agar tidak langsung menjangkau instance backend yang di-load balance. Dengan kata lain, hanya traffic eksternal yang di-proxy melalui Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik dengan kebijakan keamanan terkait yang dapat mencapai instance.
Diagram sebelumnya menunjukkan konfigurasi deployment berikut:
- Buat dua grup instance, satu di region
us-west1
dan satu lagi di regioneurope-west1
. - Deploy instance aplikasi backend ke VM dalam grup instance.
- Buat Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik di Premium
Tier. Konfigurasi peta URL dan satu layanan backend yang backend-nya adalah dua grup instance yang Anda buat pada langkah sebelumnya. Aturan penerusan
load balancer harus menggunakan alamat IP eksternal
120.1.1.1
. - Konfigurasi kebijakan keamanan Cloud Armor yang mengizinkan traffic dari 100.1.1.0/24 dan 100.1.2.0/24 serta menolak semua traffic lainnya.
- Kaitkan kebijakan ini dengan layanan backend load balancer. Untuk mengetahui petunjuknya, lihat Mengonfigurasi kebijakan keamanan Cloud Armor. 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.
- Konfigurasi aturan firewall yang mengizinkan traffic masuk untuk mengizinkan traffic dari Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik. Untuk mengetahui informasi selengkapnya, lihat Aturan firewall.
Cloud Armor dengan Load Balancer Aplikasi eksternal dan IAP
Identity-Aware Proxy (IAP) memverifikasi identitas pengguna, lalu menentukan apakah pengguna tersebut dapat mengakses aplikasi. Untuk mengaktifkan IAP bagi Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, gunakan layanan backend load balancer. Demikian pula, kebijakan keamanan Cloud Armor edge dilampirkan ke layanan backend Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.
Jika kebijakan keamanan Cloud Armor dan IAP diaktifkan untuk layanan backend, urutan evaluasinya bergantung pada jenis load balancer:
Untuk layanan backend Load Balancer Aplikasi eksternal global, evaluasi Cloud Armor terjadi terlebih dahulu. Jika Cloud Armor memblokir permintaan, IAP tidak mengevaluasi permintaan tersebut. Jika Cloud Armor mengizinkan permintaan, IAP akan mengevaluasi permintaan tersebut. Permintaan diblokir jika IAP tidak mengautentikasi permintaan.
Untuk layanan backend Load Balancer Aplikasi klasik, evaluasi IAP dilakukan terlebih dahulu. Jika IAP mengautentikasi permintaan, Cloud Armor akan mengevaluasi permintaan tersebut. Jika permintaan gagal autentikasi IAP, maka Cloud Armor tidak akan mengevaluasi permintaan tersebut.
Untuk mengetahui informasi selengkapnya tentang IAP dan konfigurasi terkait, lihat dokumentasi Identity-Aware Proxy.
Cloud Armor dengan deployment hybrid
Dalam deployment hybrid, Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik memerlukan akses ke aplikasi atau sumber konten yang berjalan di luar, misalnya, di infrastruktur penyedia cloud lain. Google CloudAnda dapat menggunakan 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.
Saat Anda melampirkan kebijakan keamanan Cloud Armor ke layanan backend yang memiliki NEG internet sebagai backend, Cloud Armor akan memeriksa setiap permintaan Layer 7 yang tiba di Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik yang ditujukan untuk layanan backend tersebut.
Perlindungan Cloud Armor untuk deployment hybrid tunduk pada batasan yang sama dengan yang berlaku untuk NEG internet.
Cloud Armor dengan Google Kubernetes Engine (GKE)
Bagian berikut menjelaskan cara kerja Cloud Armor dengan GKE.
Ingress GKE
Setelah mengonfigurasi kebijakan keamanan Cloud Armor, Anda dapat menggunakan Ingress Kubernetes untuk mengaktifkannya dengan GKE.
Anda dapat mereferensikan kebijakan keamanan dengan resource BackendConfig
dengan menambahkan nama kebijakan keamanan 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 mengetahui informasi selengkapnya tentang fitur Ingress, lihat Konfigurasi Ingress.
GKE Gateway
Setelah mengonfigurasi kebijakan keamanan Cloud Armor, Anda dapat menggunakan Kubernetes Gateway API untuk mengaktifkannya dengan GKE.
Anda dapat mereferensikan kebijakan keamanan dengan menambahkan nama kebijakan keamanan ke resource kebijakan GCPBackendPolicy
. Manifes resource kebijakan GCPBackendPolicy
berikut menentukan kebijakan keamanan backend bernama example-security-policy
:
Layanan
apiVersion: networking.gke.io/v1
kind: GCPBackendPolicy
metadata:
name: my-backend-policy
namespace: lb-service-namespace
spec:
default:
securityPolicy: example-security-policy
targetRef:
group: ""
kind: Service
name: lb-service
Layanan Multi-cluster
apiVersion: networking.gke.io/v1
kind: GCPBackendPolicy
metadata:
name: my-backend-policy
namespace: lb-service-namespace
spec:
default:
securityPolicy: example-security-policy
targetRef:
group: net.gke.io
kind: ServiceImport
name: lb-service
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi kebijakan keamanan backend Cloud Armor, lihat Mengonfigurasi kebijakan keamanan backend Cloud Armor untuk mengamankan layanan backend Anda.
Cloud Armor dengan Cloud CDN
Untuk melindungi server asal CDN, Anda dapat menggunakan Cloud Armor dengan Cloud CDN. Cloud Armor melindungi server asal CDN Anda dari serangan aplikasi, memitigasi 10 risiko teratas OWASP, dan menerapkan kebijakan pemfilteran 7 lapis. Ada dua jenis kebijakan keamanan yang memengaruhi cara Cloud Armor berinteraksi 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
Jika kebijakan keamanan backend Cloud Armor diterapkan ke layanan backend dengan Cloud CDN yang diaktifkan, kebijakan tersebut hanya berlaku untuk permintaan yang dirutekan ke layanan backend. Permintaan ini mencakup permintaan konten dinamis dan cache tidak ditemukan—yaitu, permintaan yang tidak ditemukan atau melewati cache Cloud CDN.
Jika kebijakan keamanan edge dan kebijakan keamanan backend dilampirkan ke layanan backend yang sama, kebijakan keamanan backend hanya diterapkan untuk permintaan cache tidak ditemukan yang telah melewati kebijakan keamanan edge
Diagram berikut menunjukkan secara eksklusif cara kerja kebijakan keamanan backend dengan asal Cloud CDN, setelah permintaan diizinkan oleh kebijakan keamanan edge.
Untuk mengetahui informasi selengkapnya tentang Cloud CDN, lihat dokumentasi Cloud CDN.
Cloud Armor dengan Cloud Run, App Engine, atau Cloud Run functions
Anda dapat menggunakan kebijakan keamanan Cloud Armor dengan backend NEG serverless yang mengarah ke layanan Cloud Run, App Engine, atau Cloud Run Functions.
Namun, saat Anda menggunakan Cloud Armor dengan NEG serverless, Cloud Run, atau fungsi Cloud Run, semua akses ke endpoint serverless harus difilter melalui kebijakan keamanan Cloud Armor.
Pengguna yang memiliki URL default untuk aplikasi serverless dapat mengabaikan load balancer dan langsung membuka URL layanan. Hal ini mengabaikan kebijakan keamanan Cloud Armor. Untuk mengatasi hal ini, nonaktifkan URL default yang Google Cloud otomatis ditetapkan ke layanan Cloud Run atau fungsi Cloud Run (generasi ke-2). Untuk melindungi aplikasi App Engine, Anda dapat menggunakan kontrol ingress.
Jika Anda menggunakan kontrol ingress untuk menerapkan kontrol akses ke semua traffic masuk, Anda dapat menggunakan setelan ingress internal-and-gclb
saat mengonfigurasi fungsi Cloud Run atau Cloud Run.
Setelan ingress internal-and-gclb
hanya mengizinkan 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 URL default ini dari luar jaringan pribadi Anda akan diblokir.
Hal ini mencegah pengguna mengakali kontrol akses apa pun (seperti kebijakan keamanan Cloud Armor) yang disiapkan melalui Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.
Untuk mengetahui informasi selengkapnya tentang NEG tanpa server, lihat Ringkasan grup endpoint jaringan tanpa server dan Menyiapkan NEG tanpa server.
Cloud Armor dengan Cloud Service Mesh
Anda dapat mengonfigurasi kebijakan keamanan layanan internal untuk mesh layanan guna menerapkan pembatasan frekuensi sisi server global per klien, sehingga membantu Anda membagikan kapasitas layanan yang tersedia secara adil dan mengurangi risiko klien yang berperilaku buruk atau berbahaya membebani layanan Anda secara berlebihan. Anda melampirkan kebijakan keamanan ke kebijakan endpoint Cloud Service Mesh untuk menerapkan pembatasan frekuensi pada traffic masuk di sisi server. Namun, Anda tidak dapat mengonfigurasi kebijakan keamanan Google Cloud Armor jika menggunakan perutean traffic TCP. Untuk mengetahui informasi selengkapnya tentang cara menggunakan Cloud Armor dengan Cloud Service Mesh, lihat Mengonfigurasi pembatasan kecepatan dengan Cloud Armor.
Langkah berikutnya
- Mengonfigurasi kebijakan, aturan, dan ekspresi keamanan
- Mempelajari fitur di tingkat Cloud Armor Enterprise
- Memecahkan masalah