Gunakan petunjuk ini untuk membuat kebijakan keamanan Google Cloud Armor guna memfilter traffic masuk ke tujuan berikut:
- Load Balancer Aplikasi eksternal global
- Load Balancer Aplikasi Klasik
- Load Balancer Aplikasi eksternal regional
- Load Balancer Aplikasi internal regional
- Load Balancer Jaringan proxy eksternal
- Load Balancer Jaringan proxy klasik
- Load Balancer Jaringan passthrough eksternal
- Penerusan protokol
- VM dengan alamat IP publik
Untuk informasi konseptual tentang kebijakan keamanan, lihat ringkasan kebijakan keamanan Google Cloud Armor.
Sebelum memulai
Sebelum mengonfigurasi kebijakan keamanan, lakukan hal berikut:
Pastikan Anda memahami konsep Load Balancer Aplikasi eksternal.
Periksa layanan backend yang ada untuk menentukan layanan mana yang belum memiliki kebijakan keamanan. Layanan backend ini dan backend terkaitnya tidak dilindungi oleh Google Cloud Armor. Untuk menambahkan perlindungan yang disediakan Google Cloud Armor, gunakan petunjuk dalam dokumen ini untuk melampirkan kebijakan keamanan yang baru dibuat atau yang sudah ada ke layanan backend.
Menyiapkan izin IAM untuk kebijakan keamanan Google Cloud Armor
Operasi berikut memerlukan peran Compute Security Admin (roles/compute.securityAdmin
) Identity and Access Management (IAM):
- Mengonfigurasi, mengubah, memperbarui, dan menghapus kebijakan keamanan Google Cloud Armor
- Menggunakan metode API berikut:
SecurityPolicies insert
SecurityPolicies delete
SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
Pengguna dengan peran Admin Jaringan Compute (roles/compute.networkAdmin
) dapat melakukan operasi berikut:
- Menetapkan kebijakan keamanan Google Cloud Armor untuk layanan backend
- Menggunakan metode API berikut:
BackendServices setSecurityPolicy
BackendServices list
(gcloud
saja)
Pengguna dengan peran Security Admin (roles/iam.securityAdmin
)
dan peran Compute Network Admin dapat melihat kebijakan keamanan Google Cloud Armor
menggunakan metode SecurityPolicies
API get
, list
, dan
getRule
.
Menyiapkan izin IAM untuk peran kustom
Tabel berikut mencantumkan izin dasar peran IAM dan metode API terkaitnya.
Izin IAM | Metode API |
---|---|
compute.securityPolicies.create |
SecurityPolicies insert |
compute.securityPolicies.delete |
SecurityPolicies delete |
compute.securityPolicies.get |
SecurityPolicies get SecurityPolicies getRule |
compute.securityPolicies.list |
SecurityPolicies list |
compute.securityPolicies.use |
BackendServices setSecurityPolicy |
compute.securityPolicies.update |
SecurityPolicies patch SecurityPolicies addRule SecurityPolicies patchRule SecurityPolicies removeRule |
compute.backendServices.setSecurityPolicy |
BackendServices setSecurityPolicy |
Membuat kebijakan keamanan
Anda dapat mengonfigurasi kebijakan, aturan, dan ekspresi keamanan Google Cloud Armor menggunakan Konsol Google Cloud, Google Cloud CLI, atau REST API. Saat Anda menggunakan gcloud CLI untuk membuat kebijakan keamanan, gunakan flag --type
untuk menentukan apakah kebijakan keamanan tersebut adalah kebijakan keamanan backend atau kebijakan keamanan edge.
Jika Anda tidak memahami konfigurasi kebijakan keamanan, sebaiknya lihat contoh kebijakan keamanan.
Contoh ekspresi
Berikut adalah contoh ekspresi. Untuk mengetahui informasi selengkapnya tentang ekspresi, lihat referensi bahasa aturan kustom Google Cloud Armor.
Jika Anda mengonfigurasi aturan atau ekspresi yang menggunakan kode negara atau wilayah ISO 3166-1 alpha 2, Google Cloud Armor akan memperlakukan setiap kode secara terpisah. Aturan dan ekspresi Google Cloud Armor secara eksplisit menggunakan kode region tersebut untuk mengizinkan atau menolak permintaan.
Ekspresi berikut cocok dengan permintaan dari alamat IP
1.2.3.4
dan berisi stringexample
di header agen pengguna:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
Atau, Anda dapat mencocokkan rentang alamat IP header alamat IP klien kustom menggunakan atribut
origin.user_ip
:inIpRange(origin.user_ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
Ekspresi berikut cocok dengan permintaan yang memiliki cookie dengan nilai tertentu:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
Ekspresi berikut cocok dengan permintaan dari wilayah
AU
:origin.region_code == 'AU'
Ekspresi berikut cocok dengan permintaan dari wilayah
AU
yang tidak berada dalam rentang IP yang ditentukan:origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
Ekspresi berikut cocok dengan permintaan dengan jalur variabel bernombor ke file tertentu jika URI cocok dengan ekspresi reguler:
request.path.matches('/path/[0-9]+/target_file.html')
Ekspresi berikut cocok dengan permintaan jika nilai header
user-id
yang didekode Base64 berisi nilai tertentu:has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
Ekspresi berikut menggunakan pencocokan kumpulan ekspresi yang telah dikonfigurasi sebelumnya terhadap serangan SQLi:
evaluatePreconfiguredExpr('sqli-stable')
Mengelola kebijakan keamanan
Gunakan bagian berikut untuk mencantumkan kebijakan keamanan dalam project Anda, memperbarui kebijakan keamanan, menghapus kebijakan keamanan, atau menguji kebijakan keamanan.
Membuat daftar kebijakan keamanan
Gunakan petunjuk ini untuk mencantumkan semua kebijakan keamanan Google Cloud Armor di project saat ini atau di project yang Anda tentukan.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Untuk melihat kebijakan tertentu, di halaman Kebijakan keamanan, dalam daftar kebijakan, klik namanya.
gcloud
gcloud compute security-policies list
Contoh:
gcloud compute security-policies list
NAME my-policy
Untuk informasi selengkapnya, lihat
gcloud compute security-policies list
.
Memperbarui kebijakan keamanan
Gunakan petunjuk ini untuk memperbarui kebijakan keamanan Google Cloud Armor. Misalnya, Anda dapat mengubah deskripsi kebijakan, mengubah perilaku aturan default, mengubah layanan backend target, atau menambahkan aturan baru.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Untuk memperbarui kebijakan tertentu, di halaman Kebijakan keamanan, dalam daftar kebijakan, klik
Menu untuk kebijakan yang ingin Anda perbarui.- Untuk memperbarui deskripsi kebijakan tindakan aturan default, pilih Edit, lakukan perubahan, lalu klik Update.
- Untuk menambahkan aturan, pilih Tambahkan aturan, lalu ikuti petunjuk di bagian Menambahkan aturan ke kebijakan keamanan.
- Untuk mengubah layanan backend target untuk kebijakan, pilih Terapkan kebijakan ke target, klik Tambahkan Target, pilih target, lalu klik Tambahkan.
gcloud
Untuk memperbarui kebijakan keamanan, gunakan petunjuk Google Cloud CLI berikut:
- Untuk memperbarui aturan dalam kebijakan keamanan, lihat Memperbarui satu aturan dalam kebijakan keamanan.
- Untuk menambahkan aturan ke kebijakan keamanan, lihat Menambahkan aturan ke kebijakan keamanan.
- Untuk menghapus aturan dari kebijakan keamanan, lihat Menghapus aturan dari kebijakan keamanan.
- Untuk memperbarui beberapa aturan dalam satu update (update atomik), lihat Memperbarui beberapa aturan secara otomatis dalam kebijakan keamanan.
- Untuk memperbarui kolom non-aturan dalam kebijakan keamanan (seperti kolom deskripsi), lihat Mengekspor kebijakan keamanan dan Mengimpor kebijakan keamanan.
Menghapus beberapa kebijakan keamanan
Gunakan petunjuk ini untuk menghapus kebijakan keamanan Google Cloud Armor. Anda harus menghapus semua layanan backend dari kebijakan sebelum dapat menghapusnya.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, centang kotak di samping nama kebijakan keamanan yang ingin Anda hapus.
Di pojok kanan atas halaman, klik
Hapus.
gcloud
Menggunakan gcloud compute security-policies delete NAME
.
Ganti NAME
dengan nama kebijakan keamanan:
gcloud compute security-policies delete NAME
Menguji kebijakan keamanan
Sebaiknya deploy semua aturan baru dalam mode pratinjau, lalu periksa log permintaan untuk memverifikasi bahwa kebijakan dan aturan berperilaku seperti yang diharapkan.
Mengelola aturan kebijakan keamanan
Gunakan bagian berikut untuk mencantumkan aturan kebijakan keamanan, menambahkan aturan, memperbarui aturan, atau menghapus aturan.
Mencantumkan aturan dalam kebijakan keamanan
Gunakan petunjuk ini untuk mencantumkan aturan dalam kebijakan keamanan Google Cloud Armor.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan, dan aturan kebijakan tercantum di tab Rules di bagian tengah halaman.
gcloud
Gunakan perintah gcloud
berikut untuk mencantumkan semua aturan dalam satu kebijakan keamanan bersama dengan deskripsi kebijakan:
gcloud compute security-policies describe NAME \
Gunakan perintah gcloud
berikut untuk mendeskripsikan aturan dengan prioritas yang ditentukan dalam kebijakan keamanan yang ditentukan:
gcloud compute security-policies rules describe PRIORITY \ --security-policy POLICY_NAME
Misalnya, perintah berikut menjelaskan aturan dengan prioritas 1000 dalam
kebijakan keamanan my-policy
:
gcloud compute security-policies rules describe 1000 \ --security-policy my-policy
Output:
action: deny(403) description: block traffic from 192.0.2.0/24 and 198.51.100.0/24 kind: compute#securityPolicyRule match: srcIpRanges: - '192.0.2.0/24' - '198.51.100.0/24' preview: false priority: 1000
Menambahkan aturan ke kebijakan keamanan
Gunakan petunjuk ini untuk menambahkan aturan ke kebijakan keamanan Google Cloud Armor.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.
Di bagian tengah halaman, klik tab Aturan.
Klik Tambahkan Aturan.
Opsional: Masukkan deskripsi aturan.
Pilih mode:
- Mode dasar: mengizinkan atau menolak traffic berdasarkan alamat IP atau rentang IP.
- Mode lanjutan: mengizinkan atau menolak traffic berdasarkan ekspresi aturan.
Di kolom Match, tentukan kondisi saat aturan berlaku:
- Mode dasar: masukkan dari satu (1) hingga lima (5) rentang alamat IP yang akan dicocokkan dalam aturan.
Mode lanjutan: masukkan ekspresi atau subekspresi untuk dievaluasi terhadap permintaan yang masuk. Untuk informasi tentang cara menulis ekspresi dan membaca contoh berikut, lihat referensi bahasa aturan kustom.
Ekspresi berikut cocok dengan permintaan dari alamat IP
1.2.3.4
dan berisi stringexample
di header agen pengguna:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
Ekspresi berikut cocok dengan permintaan yang memiliki cookie dengan nilai tertentu:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
Ekspresi berikut cocok dengan permintaan dari wilayah
AU
:origin.region_code == 'AU'
Ekspresi berikut cocok dengan permintaan dari wilayah
AU
yang tidak berada dalam rentang IP yang ditentukan:origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
Ekspresi berikut cocok dengan permintaan jika URI cocok dengan ekspresi reguler:
request.path.matches('/example_path/')
Ekspresi berikut cocok dengan permintaan jika nilai header
user-id
yang didekode Base64 berisi nilai tertentu:has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
Ekspresi berikut menggunakan ekspresi yang telah dikonfigurasi sebelumnya untuk cocok dengan serangan SQLi:
evaluatePreconfiguredExpr('sqli-stable')
Untuk Action, pilih Allow atau Deny.
Jika Anda mengonfigurasi aturan penolakan, pilih pesan Status tolak.
Jika Anda ingin mengaktifkan mode pratinjau untuk aturan, centang kotak Enable.
Di kolom Priority, masukkan bilangan bulat positif.
Klik Tambahkan.
gcloud
Gunakan perintah
gcloud compute security-policies rules create PRIORITY
.
Ganti PRIORITY
dengan prioritas aturan dalam
kebijakan:
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview
Misalnya, perintah berikut menambahkan aturan untuk memblokir traffic dari rentang alamat IP
192.0.2.0/24 dan 198.51.100.0/24. Aturan ini memiliki prioritas
1.000 dan merupakan aturan dalam kebijakan yang disebut my-policy
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \ --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \ --action "deny-403"
Gunakan flag --expression
untuk menentukan kondisi dalam
referensi bahasa aturan kustom.
Perintah berikut menambahkan aturan untuk mengizinkan traffic dari alamat IP
1.2.3.4
dan berisi string example
di header user-agent:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \ --action allow \ --description "Block User-Agent 'example'"
Perintah berikut menambahkan aturan untuk memblokir permintaan jika cookie permintaan berisi nilai tertentu:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('80=BLAH')" \ --action deny-403 \ --description "Cookie Block"
Perintah berikut menambahkan aturan untuk memblokir permintaan dari region AU
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == 'AU'" \ --action deny-403 \ --description "AU block"
Perintah berikut menambahkan aturan untuk memblokir permintaan dari region AU
yang tidak berada dalam rentang IP yang ditentukan:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')" \ --action deny-403 \ --description "country and IP block"
Perintah berikut menambahkan aturan untuk memblokir permintaan dengan URI yang cocok dengan ekspresi reguler:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "request.path.matches('/example_path/')" \ --action deny-502 \ --description "regex block"
Perintah berikut menambahkan aturan untuk memblokir permintaan jika nilai header user-id
yang didekode Base64 berisi nilai tertentu:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \ --action deny-403 \ --description "country and IP block"
Perintah berikut menambahkan aturan yang menggunakan kumpulan ekspresi yang telah dikonfigurasi sebelumnya untuk memitigasi serangan SQLi:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "evaluatePreconfiguredExpr('sqli-stable')" \ --action deny-403
Memperbarui satu aturan dalam kebijakan keamanan
Gunakan petunjuk ini untuk memperbarui satu aturan dalam kebijakan keamanan Google Cloud Armor. Untuk memperbarui beberapa aturan secara atomik, lihat Memperbarui beberapa aturan secara atomik dalam kebijakan keamanan.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.
Di bagian tengah halaman, klik tab Aturan.
Di samping aturan yang ingin diperbarui, klik
Edit. Halaman Edit aturan akan ditampilkan.Lakukan perubahan, lalu klik Perbarui.
gcloud
Gunakan perintah ini untuk memperbarui aturan dengan prioritas yang ditentukan dalam kebijakan keamanan yang ditetapkan. Anda hanya dapat mengupdate satu kebijakan keamanan sekaligus menggunakan perintah ini:
gcloud compute security-policies rules update PRIORITY [ \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview ]
Misalnya, perintah berikut memperbarui aturan dengan prioritas 1111 untuk mengizinkan traffic dari rentang alamat IP 192.0.2.0/24:
gcloud compute security-policies rules update 1111 \ --security-policy my-policy \ --description "allow traffic from 192.0.2.0/24" \ --src-ip-ranges "192.0.2.0/24" \ --action "allow"
Untuk informasi selengkapnya tentang perintah ini, lihat
gcloud compute security-policies rules update
.
Untuk memperbarui prioritas aturan, Anda harus menggunakan REST API. Untuk mengetahui
informasi selengkapnya, lihat
securityPolicies.patchRule
.
Memperbarui beberapa aturan secara otomatis dalam kebijakan keamanan
Pembaruan atomik menerapkan perubahan pada beberapa aturan dalam satu pembaruan. Jika Anda memperbarui aturan satu per satu, Anda mungkin melihat beberapa perilaku yang tidak diinginkan karena aturan lama dan baru mungkin berfungsi bersama selama jangka waktu yang singkat.
Untuk memperbarui beberapa aturan secara otomatis, ekspor kebijakan keamanan saat ini ke file JSON atau YAML, lalu ubah. Gunakan file yang diubah untuk membuat kebijakan keamanan baru, lalu alihkan kebijakan keamanan untuk layanan backend yang relevan.
gcloud
Ekspor kebijakan yang akan diperbarui, seperti yang ditunjukkan dalam contoh berikut:
gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
Kebijakan yang diekspor akan terlihat mirip dengan contoh berikut:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredExpr('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 2 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Gunakan editor teks apa pun untuk mengubah kebijakan. Misalnya, Anda dapat mengubah prioritas aturan yang ada dan menambahkan aturan baru:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredExpr('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-new-rule match: config: srcIpRanges: - '1.2.3.1' versionedExpr: SRC_IPS_V1 preview: false priority: 10 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 11 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Buat kebijakan keamanan Google Cloud Armor baru dan tentukan nama file dan format yang diubah, seperti yang ditunjukkan dalam contoh berikut:
gcloud compute security-policies create new-policy \ --file-name modified-policy \ --file-format yaml
Hapus kebijakan keamanan lama dari layanan backend yang relevan, seperti yang ditunjukkan dalam contoh berikut:
gcloud compute backend-services update my-backend \ --security-policy ""
Tambahkan kebijakan keamanan baru ke layanan backend, seperti yang ditunjukkan dalam contoh berikut:
gcloud compute backend-services update my-backend \ --security-policy new-policy
Jika kebijakan lama tidak digunakan, hapus kebijakan tersebut:
gcloud compute security-policies delete my-policy
Menghapus aturan dari kebijakan keamanan
Gunakan petunjuk ini untuk menghapus aturan dari kebijakan keamanan Google Cloud Armor.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.
Di bagian tengah halaman, pada tab Rules, centang kotak di samping aturan yang ingin Anda hapus.
Klik
Delete.
gcloud
Gunakan perintah ini untuk menghapus aturan dengan prioritas yang ditentukan dari kebijakan keamanan yang ditetapkan. Anda hanya dapat mengubah satu kebijakan keamanan sekaligus, tetapi dapat menghapus beberapa aturan sekaligus:
gcloud compute security-policies rules delete PRIORITY [...] [ --security-policy POLICY_NAME \ ]
Contoh:
gcloud compute security-policies rules delete 1000 \ --security-policy my-policy
Melampirkan dan menghapus kebijakan keamanan
Gunakan bagian berikut untuk melampirkan dan menghapus kebijakan keamanan dari layanan backend dan bucket backend.
Melampirkan kebijakan keamanan ke layanan backend
Gunakan petunjuk ini untuk melampirkan kebijakan keamanan Google Cloud Armor ke layanan backend. Kebijakan keamanan dapat dilampirkan ke lebih dari satu layanan backend, tetapi layanan backend hanya dapat memiliki satu dari setiap jenis kebijakan keamanan yang dilampirkan.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.
Di bagian tengah halaman, klik tab Target.
Klik Terapkan kebijakan ke target baru.
Klik Add Target.
Di daftar Target, pilih target, lalu klik Tambahkan.
gcloud
Saat Anda melampirkan kebijakan keamanan backend ke layanan backend, gunakan
perintah gcloud compute backend-services
dan flag --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy my-policy
Saat Anda melampirkan kebijakan keamanan edge ke layanan backend, gunakan
perintah gcloud compute backend-services
dan
flag --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy my-policy
Menghapus kebijakan keamanan dari layanan backend
Gunakan petunjuk ini untuk menghapus kebijakan keamanan backend Google Cloud Armor atau kebijakan keamanan edge dari layanan backend.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.
Di bagian tengah halaman, klik tab Target.
Pilih layanan backend target tempat Anda menghapus kebijakan.
Klik Hapus.
Pada pesan Hapus target, klik Hapus.
gcloud
Saat Anda menghapus kebijakan keamanan backend, gunakan perintah gcloud compute
backend-services
dan flag --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy ""
Saat Anda menghapus kebijakan keamanan edge, gunakan perintah gcloud compute
backend-services
dan flag --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy ""
Melampirkan kebijakan keamanan ke bucket backend
Gunakan petunjuk ini untuk melampirkan kebijakan keamanan edge Google Cloud Armor ke bucket backend. Kebijakan keamanan edge dapat dilampirkan ke lebih dari satu bucket backend.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.
Di bagian tengah halaman, klik tab Target.
Klik Terapkan kebijakan ke target baru.
Klik Add Target.
Di daftar Target, pilih target, lalu klik Tambahkan.
gcloud
Saat Anda melampirkan kebijakan keamanan edge ke bucket backend, gunakan perintah cloud compute backend-buckets
dan flag --edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy my-edge-policy
Menghapus kebijakan keamanan dari bucket backend
Gunakan petunjuk ini untuk menghapus kebijakan keamanan edge Google Cloud Armor dari bucket backend.
Konsol
Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.
Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.
Di bagian tengah halaman, klik tab Target.
Pilih layanan backend target tempat Anda menghapus kebijakan.
Klik Hapus.
Pada pesan Hapus target, klik Hapus.
gcloud
Saat Anda menghapus kebijakan keamanan edge dari bucket backend, gunakan perintah cloud compute backend-buckets
dan flag --edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy ""
Mengimpor dan mengekspor kebijakan keamanan
Gunakan bagian berikut untuk mengimpor dan mengekspor kebijakan keamanan sebagai file YAML atau JSON.
Mengimpor kebijakan keamanan
Anda dapat mengimpor kebijakan keamanan Google Cloud Armor dari file YAML atau JSON menggunakan Google Cloud CLI. Anda tidak dapat menggunakan perintah import
untuk memperbarui
aturan kebijakan yang ada. Sebagai gantinya, Anda harus memperbarui aturan satu per satu menggunakan
prosedur Memperbarui satu aturan dalam kebijakan keamanan, atau semuanya
sekaligus menggunakan
prosedur Memperbarui beberapa aturan secara otomatis dalam kebijakan keamanan.
gcloud
Untuk mengimpor kebijakan keamanan, gunakan
perintah gcloud compute security-policies import NAME
.
Ganti NAME
dengan nama kebijakan keamanan yang
Anda impor. Jika Anda tidak memberikan format file, format yang benar
akan diasumsikan berdasarkan struktur file. Jika struktur tidak valid, Anda
akan melihat error.
gcloud compute security-policies import NAME \ --file-name FILE_NAME \ [--file-format FILE_FORMAT]
Misalnya, perintah berikut akan memperbarui kebijakan my-policy
dengan
mengimpor file my-file
.
gcloud compute security-policies import my-policy \ --file-name my-file \ --file-format json
Jika sidik jari kebijakan sudah tidak berlaku saat Anda mengimpornya, Google Cloud Armor akan menampilkan error. Artinya,
kebijakan telah diubah sejak Anda terakhir kali mengekspornya. Untuk memperbaikinya,
gunakan perintah describe
pada kebijakan untuk mendapatkan sidik jari terbaru.
Gabungkan perbedaan apa pun antara kebijakan yang dijelaskan dan kebijakan Anda, lalu
ganti sidik jari yang sudah tidak berlaku dengan sidik jari terbaru.
Mengekspor kebijakan keamanan
Anda dapat mengekspor kebijakan keamanan Google Cloud Armor sebagai file YAML atau JSON menggunakan Google Cloud CLI. Mengekspor kebijakan memungkinkan Anda mengambil salinannya yang dapat Anda ubah atau simpan di kontrol sumber.
gcloud
Dalam perintah berikut,
NAME
adalah nama kebijakan keamanan. Format file yang valid adalah YAML dan JSON. Jika Anda tidak menyediakan format file, Google Cloud Armor akan menggunakan YAML default.gcloud compute security-policies export NAME \ --file-name FILE_NAME \ --file-format FILE_FORMAT
Contoh berikut mengekspor kebijakan keamanan
my-policy
ke filemy-file
dalam format YAML:gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
Contoh berikut menunjukkan kebijakan keamanan yang diekspor:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: allow description: default rule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Anda dapat mengubah file yang diekspor dengan editor teks apa pun, lalu import kembali ke Google Cloud menggunakan perintah
import
.
Mencantumkan aturan yang telah dikonfigurasi sebelumnya
Cantumkan aturan yang telah dikonfigurasi sebelumnya untuk melihat aturan perlindungan aplikasi dan tanda tangan standar seperti Kumpulan Aturan Inti ModSecurity yang disediakan Google Cloud Armor. Aturan yang telah dikonfigurasi sebelumnya ini berisi beberapa tanda tangan bawaan yang digunakan Google Cloud Armor untuk dievaluasi terhadap permintaan yang masuk. Anda dapat menambahkan aturan yang telah dikonfigurasi sebelumnya ini ke aturan baru atau yang sudah ada dengan menggunakan referensi bahasa aturan kustom.
Untuk informasi selengkapnya, lihat aturan yang telah dikonfigurasi sebelumnya.
gcloud
Jalankan perintah
gcloud compute security-policies list-preconfigured-expression-sets
:gcloud compute security-policies list-preconfigured-expression-sets
Contoh berikut menunjukkan bentuk output dari perintah:
EXPRESSION_SET expression-set-1 RULE_ID SENSITIVITY expression-set-1-id-1 sensitivity-value-1 expression-set-1-id-2 sensitivity-value-2 expression-set-2 alias-1 RULE_ID SENSITIVITY expression-set-2-id-1 sensitivity-value-1 expression-set-2-id-2 sensitivity-value-2
Contoh berikut menyertakan contoh output sebenarnya dari perintah. Perhatikan bahwa output sebenarnya akan menyertakan semua aturan yang tercantum dalam Menyesuaikan aturan WAF Google Cloud Armor.
gcloud compute security-policies list-preconfigured-expression-sets
EXPRESSION_SET sqli-canary RULE_ID SENSITIVITY owasp-crs-v030001-id942110-sqli 2 owasp-crs-v030001-id942120-sqli 2 … xss-canary RULE_ID SENSITIVITY owasp-crs-v030001-id941110-xss 1 owasp-crs-v030001-id941120-xss 1 … sourceiplist-fastly sourceiplist-cloudflare sourceiplist-imperva
Langkah selanjutnya
- Menyesuaikan aturan firewall aplikasi web (WAF)
- Memecahkan masalah
- Menggunakan referensi bahasa aturan kustom