Mengonfigurasi kebijakan keamanan Google Cloud Armor

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 string example 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. 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:

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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Di halaman Kebijakan keamanan, centang kotak di samping nama kebijakan keamanan yang ingin Anda hapus.

  3. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Aturan.

  4. Klik Tambahkan Aturan.

  5. Opsional: Masukkan deskripsi aturan.

  6. Pilih mode:

    • Mode dasar: mengizinkan atau menolak traffic berdasarkan alamat IP atau rentang IP.
    • Mode lanjutan: mengizinkan atau menolak traffic berdasarkan ekspresi aturan.
  7. 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 string example 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')
        
  8. Untuk Action, pilih Allow atau Deny.

  9. Jika Anda mengonfigurasi aturan penolakan, pilih pesan Status tolak.

  10. Jika Anda ingin mengaktifkan mode pratinjau untuk aturan, centang kotak Enable.

  11. Di kolom Priority, masukkan bilangan bulat positif.

  12. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Aturan.

  4. Di samping aturan yang ingin diperbarui, klik Edit. Halaman Edit aturan akan ditampilkan.

  5. 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

  1. 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
    
  2. 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
    
  3. 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
    
  4. Hapus kebijakan keamanan lama dari layanan backend yang relevan, seperti yang ditunjukkan dalam contoh berikut:

    gcloud compute backend-services update my-backend \
        --security-policy ""
    
  5. Tambahkan kebijakan keamanan baru ke layanan backend, seperti yang ditunjukkan dalam contoh berikut:

    gcloud compute backend-services update my-backend \
        --security-policy new-policy
    
  6. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.

  3. Di bagian tengah halaman, pada tab Rules, centang kotak di samping aturan yang ingin Anda hapus.

  4. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Target.

  4. Klik Terapkan kebijakan ke target baru.

  5. Klik Add Target.

  6. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Target.

  4. Pilih layanan backend target tempat Anda menghapus kebijakan.

  5. Klik Hapus.

  6. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Target.

  4. Klik Terapkan kebijakan ke target baru.

  5. Klik Add Target.

  6. 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

  1. Di konsol Google Cloud, buka halaman Kebijakan Google Cloud Armor.

    Buka kebijakan Google Cloud Armor

  2. Di halaman Kebijakan keamanan, klik nama kebijakan keamanan. Halaman Policy details akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Target.

  4. Pilih layanan backend target tempat Anda menghapus kebijakan.

  5. Klik Hapus.

  6. 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

  1. 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 file my-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
      
  2. 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

  1. 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