Mengonfigurasi kebijakan keamanan Google Cloud Armor

Gunakan petunjuk ini untuk membuat kebijakan keamanan Google Cloud Armor agar dapat memfilter traffic masuk ke tujuan berikut:

  • Load Balancer Aplikasi eksternal global
  • Load Balancer Aplikasi Klasik
  • Load Balancer Aplikasi eksternal regional
  • Load Balancer Jaringan proxy eksternal
  • Load Balancer Jaringan proxy klasik
  • Load Balancer Jaringan passthrough eksternal
  • Penerusan protokol
  • VM dengan alamat IP publik

Untuk mendapatkan informasi konseptual tentang kebijakan keamanan, lihat Ringkasan kebijakan keamanan Google Cloud Armor.

Sebelum memulai

Sebelum mengonfigurasi kebijakan keamanan, lakukan hal berikut:

  • Pastikan Anda telah memahami konsep Load Balancer Aplikasi eksternal.

  • Periksa layanan backend yang ada untuk menentukan layanan mana yang belum disertai kebijakan keamanan. Layanan backend ini dan backend terkaitnya tidak dilindungi oleh Google Cloud Armor. Untuk menambahkan perlindungan yang diberikan Google Cloud Armor, gunakan petunjuk dalam dokumen ini untuk menambahkan 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 Admin Keamanan Compute (roles/compute.securityAdmin) Identity and Access Management (IAM):

  • Mengonfigurasi, mengubah, mengupdate, 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 Admin Keamanan (roles/iam.securityAdmin) dan peran Admin Jaringan Compute dapat melihat kebijakan keamanan Google Cloud Armor menggunakan metode API SecurityPolicies get, list, dan getRule.

Menyiapkan izin IAM untuk peran khusus

Tabel berikut mencantumkan izin dasar peran IAM dan metode API yang terkait.

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 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 tidak terbiasa dengan 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 independen. 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 dari 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 region AU:

    origin.region_code == 'AU'
    
  • Ekspresi berikut cocok dengan permintaan dari region 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 bernomor 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 yang didekode Base64 dari header user-id berisi nilai tertentu:

    has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
    
  • Ekspresi berikut menggunakan kecocokan kumpulan ekspresi yang telah dikonfigurasi sebelumnya terhadap serangan SQLi:

    evaluatePreconfiguredExpr('sqli-stable')
    

Mengelola kebijakan keamanan

Gunakan bagian berikut untuk mencantumkan kebijakan keamanan di project Anda, memperbarui kebijakan keamanan, menghapus kebijakan keamanan, atau menguji kebijakan keamanan Anda.

Membuat daftar kebijakan keamanan

Gunakan petunjuk ini untuk mencantumkan semua kebijakan keamanan Google Cloud Armor dalam project saat ini atau dalam 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, klik namanya di halaman Kebijakan keamanan di daftar kebijakan.

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 mengupdate kebijakan tertentu, di halaman Security policies pada daftar kebijakan, klik Menu untuk kebijakan yang ingin diupdate.

    • Untuk memperbarui deskripsi kebijakan tindakan aturan default, pilih Edit, buat perubahan, lalu klik Update.
    • Untuk menambahkan aturan, pilih Add rule, lalu ikuti petunjuk di bagian Menambahkan aturan ke kebijakan keamanan.
    • Untuk mengubah layanan backend target untuk kebijakan tersebut, pilih Apply policy to target, klik Add Target, pilih target, lalu klik Add.

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, di samping nama kebijakan keamanan yang ingin Anda hapus, pilih kotak centang.

  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 Anda untuk memastikan 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.

Membuat daftar 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 Detail kebijakan akan ditampilkan, dan aturan kebijakan tercantum pada tab Aturan di bagian tengah halaman.

gcloud

Gunakan perintah gcloud berikut untuk mencantumkan semua aturan dalam satu kebijakan keamanan beserta deskripsi kebijakannya:

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 Detail kebijakan 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 tempat aturan tersebut 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 masuk. Untuk mengetahui 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 region AU:

        origin.region_code == 'AU'
        
      • Ekspresi berikut cocok dengan permintaan dari region 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('/bad_path/')
        
      • Ekspresi berikut cocok dengan permintaan jika nilai yang didekode Base64 dari header user-id berisi nilai tertentu:

        has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
        
      • Ekspresi berikut menggunakan ekspresi yang telah dikonfigurasi sebelumnya agar 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 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 1000 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 khusus. Perintah berikut menambahkan aturan untuk mengizinkan traffic dari alamat IP 1.2.3.4 dan berisi string example di header agen pengguna:

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('/bad_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 Detail kebijakan akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Aturan.

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

  5. Buat perubahan, lalu klik Update.

gcloud

Gunakan perintah ini untuk memperbarui aturan dengan prioritas yang ditentukan dalam kebijakan keamanan yang ditetapkan. Anda hanya dapat mengupdate satu kebijakan keamanan dalam satu waktu 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 akan 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.

Mengupdate beberapa aturan secara atomik dalam kebijakan keamanan

Update atomik menerapkan perubahan ke beberapa aturan dalam satu update. Saat memperbarui aturan satu per satu, Anda mungkin melihat beberapa perilaku yang tidak diinginkan karena aturan lama dan baru mungkin bekerja sama dalam waktu singkat.

Untuk memperbarui beberapa aturan secara atomik, ekspor kebijakan keamanan saat ini ke file JSON atau YAML, lalu ubah. Gunakan file yang telah diubah untuk membuat kebijakan keamanan baru, lalu ganti kebijakan keamanan untuk layanan backend yang relevan.

gcloud

  1. Ekspor kebijakan yang akan diperbarui, seperti yang ditunjukkan pada contoh berikut:

    gcloud compute security-policies export my-policy \
        --file-name my-file \
        --file-format yaml
    

    Kebijakan yang diekspor akan terlihat seperti 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, lalu tentukan nama file dan format yang dimodifikasi, seperti 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 pada contoh berikut:

    gcloud compute backend-services update my-backend \
        --security-policy ""
    
  5. Tambahkan kebijakan keamanan baru ke layanan backend, seperti yang ditunjukkan pada 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 Detail kebijakan akan ditampilkan.

  3. Di bagian tengah halaman, pada tab Aturan, centang kotak di samping aturan yang ingin dihapus.

  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 pada satu waktu, tetapi Anda 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 menambahkan kebijakan keamanan Google Cloud Armor ke layanan backend. Kebijakan keamanan dapat dipasang ke lebih dari satu layanan backend, tetapi layanan backend hanya dapat memiliki satu dari setiap jenis kebijakan keamanan yang disertakan padanya.

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 Detail kebijakan akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Target.

  4. Klik Terapkan kebijakan ke target baru.

  5. Klik Add Target.

  6. Dalam daftar Target, pilih target, lalu klik Add.

gcloud

Saat Anda memasang kebijakan keamanan backend ke layanan backend, gunakan perintah gcloud compute backend-services dan tanda --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy my-policy

Saat Anda memasang 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 atau kebijakan keamanan edge Google Cloud Armor 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 Detail kebijakan 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 tanda --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy ""

Saat Anda menghapus kebijakan keamanan edge, gunakan perintah gcloud compute backend-services dan tanda --edge-security-policy:

gcloud compute backend-services update my-backend \
    --edge-security-policy ""

Melampirkan kebijakan keamanan ke bucket backend

Gunakan petunjuk ini untuk menambahkan kebijakan keamanan edge Google Cloud Armor ke bucket backend. Kebijakan keamanan edge dapat dipasang 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 Detail kebijakan akan ditampilkan.

  3. Di bagian tengah halaman, klik tab Target.

  4. Klik Terapkan kebijakan ke target baru.

  5. Klik Add Target.

  6. Dalam daftar Target, pilih target, lalu klik Add.

gcloud

Saat Anda memasang 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 Detail kebijakan 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 sudah ada. Sebagai gantinya, Anda harus memperbarui aturan satu per satu menggunakan prosedur Memperbarui satu aturan dalam kebijakan keamanan, atau memperbarui sekaligus dengan menggunakan prosedur Memperbarui beberapa aturan secara atomik 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 dianggap berdasarkan struktur file. Jika struktur tidak valid, Anda akan melihat pesan 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 usang 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 semua perbedaan antara kebijakan yang dijelaskan dan kebijakan Anda, lalu ganti sidik jari yang sudah tidak berlaku dengan yang terbaru.

Ekspor kebijakan keamanan

Anda dapat mengekspor kebijakan keamanan Google Cloud Armor sebagai file YAML atau JSON menggunakan Google Cloud CLI. Dengan mengekspor kebijakan, Anda dapat mengambil salinannya yang dapat diubah atau disimpan di kontrol sumber.

gcloud

  1. Dalam perintah berikut, NAME adalah nama kebijakan keamanan. Format file yang valid adalah YAML dan JSON. Jika Anda tidak memberikan 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 standar yang tersedia

Buat daftar aturan yang telah dikonfigurasi sebelumnya untuk melihat tanda tangan dan aturan perlindungan aplikasi yang telah ditetapkan seperti Kumpulan Aturan Inti ModSecurity yang disediakan Google Cloud Armor. Aturan yang telah dikonfigurasi ini berisi beberapa tanda tangan bawaan yang digunakan Google Cloud Armor untuk mengevaluasi permintaan masuk. Anda menambahkan aturan yang telah dikonfigurasi ini ke aturan baru atau yang sudah ada dengan menggunakan referensi bahasa aturan khusus.

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 aktual dari perintah. Perlu diperhatikan bahwa output yang sebenarnya akan mencakup semua aturan yang tercantum dalam aturan WAF Tuning 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