Mengelola kebijakan keamanan Cloud Armor

Halaman ini menjelaskan cara mengelola kebijakan keamanan Google Cloud Armor dan memfilter traffic yang masuk ke aplikasi Anda. Kebijakan keamanan Cloud Armor membantu melindungi layanan dan aplikasi web Anda dari serangan distributed denial of service (DDoS) dan ancaman lainnya dari internet. Menerapkan postur keamanan yang kuat memerlukan pengelolaan kebijakan keamanan Anda melalui pembuatan, pengujian, dan konsolidasi. Untuk membuat atau melihat kebijakan keamanan, lihat Membuat dan melihat kebijakan keamanan Cloud Armor.

Mengelola kebijakan keamanan

Bagian berikut menjelaskan cara mencantumkan, memperbarui, menghapus, atau menguji kebijakan keamanan.

Membuat daftar kebijakan keamanan

Ikuti langkah-langkah di bagian ini untuk mencantumkan kebijakan keamanan Cloud Armor di project Anda.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Untuk melihat kebijakan, dalam daftar kebijakan, klik nama kebijakan tertentu tersebut.

gcloud

gcloud compute security-policies list

Contoh:

gcloud compute security-policies list

Output:

NAME: my-policy
REGION: us-central1

Untuk informasi selengkapnya, lihat gcloud compute security-policies list.

Memperbarui kebijakan keamanan

Langkah-langkah di bagian ini menjelaskan cara memperbarui kebijakan keamanan Cloud Armor. Anda dapat mengubah deskripsi kebijakan, mengubah aturan default, mengubah layanan backend target, atau menambahkan aturan.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Temukan nama kebijakan yang ingin Anda perbarui dalam daftar kebijakan, lalu klik Menu untuk kebijakan tersebut.

    • Untuk memperbarui deskripsi atau tindakan aturan default, pilih Edit, lakukan perubahan, lalu klik Perbarui.
    • Untuk menambahkan aturan, pilih Tambahkan aturan, lalu ikuti langkah-langkah di Menambahkan aturan ke kebijakan keamanan.
    • Untuk mengganti layanan backend target, pilih Apply policy to target, klik Add Target, pilih target, lalu klik Add.

gcloud

Untuk memperbarui kebijakan keamanan, gunakan langkah-langkah Google Cloud CLI berikut:

Menghapus beberapa kebijakan keamanan

Bagian ini menjelaskan cara menghapus kebijakan keamanan Cloud Armor. Hapus semua layanan backend dari kebijakan sebelum Anda menghapusnya.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Centang kotak di samping kebijakan yang ingin Anda hapus.

  3. Di pojok kanan atas halaman, klik Delete.

gcloud

Gunakan 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 memverifikasi bahwa kebijakan dan aturan berfungsi seperti yang diharapkan.

Mengelola aturan kebijakan keamanan

Bagian berikut menjelaskan cara mencantumkan, menambahkan, memperbarui, atau menghapus aturan kebijakan keamanan.

Membuat daftar aturan dalam kebijakan keamanan

Ikuti langkah-langkah di bagian ini untuk membuat daftar aturan dalam kebijakan keamanan Cloud Armor.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan tertentu. Halaman Policy details menampilkan aturan kebijakan di tab Rules.

gcloud

Gunakan perintah gcloud berikut untuk mencantumkan semua aturan dalam kebijakan keamanan:

gcloud compute security-policies describe NAME \

Gunakan perintah gcloud berikut untuk mencantumkan semua aturan dalam satu kebijakan keamanan di wilayah tertentu beserta deskripsi kebijakan:

gcloud compute security-policies describe NAME \
  --region REGION

Gunakan perintah gcloud berikut untuk mendeskripsikan aturan:

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

Untuk informasi selengkapnya, lihat gcloud compute security-policies describe.

Menambahkan aturan ke kebijakan keamanan

Ikuti langkah-langkah di bagian ini untuk menambahkan aturan ke kebijakan keamanan Cloud Armor.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan untuk membuka halaman Policy details.

  3. Di bagian tengah halaman, klik tab Rules.

  4. Klik Add Rule.

  5. Opsional: Masukkan deskripsi aturan.

  6. Pilih mode:

    • Basic mode: 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 yang berlaku untuk aturan:

    • Basic mode: masukkan dari satu (1) hingga 10 rentang alamat IP yang akan dicocokkan dengan aturan. Anda dapat menambahkan maksimal 10 rentang alamat IP. Untuk batas, lihat Kuota dan batas Cloud Armor.

    • Mode lanjutan:

      • Pembuat kondisi kecocokan (Pratinjau): gunakan pembuat visual untuk membuat ekspresi tanpa menulis kode CEL mentah. Gabungkan dan kelompokkan kondisi, lalu terapkan transformasi string. Lihat Menggunakan pembuat kondisi kecocokan.
      • Editor kondisi kecocokan: masukkan ekspresi untuk dievaluasi terhadap permintaan yang masuk. Untuk mengetahui informasi selengkapnya, lihat referensi bahasa aturan kustom.
    • Ekspresi berikut cocok dengan permintaan dari alamat IP 1.2.3.4 yang berisi string example di header User-Agent:

        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 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 header user-id berisi nilai yang dienkode Base64 yang, saat didekode, berisi string tertentu:

          has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
        

    • Ekspresi berikut menggunakan set ekspresi yang telah dikonfigurasi sebelumnya untuk mencocokkan serangan SQLi:

          evaluatePreconfiguredWaf('sqli-stable')
        

  8. Dalam daftar Tindakan, pilih Izinkan atau Tolak.

  9. Jika Anda mengonfigurasi aturan penolakan (Deny), pilih pesan Deny status.

  10. Untuk mengaktifkan mode pratinjau untuk aturan, pilih Aktifkan.

  11. Di kolom Priority, masukkan bilangan bulat positif.

  12. Klik Add.

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 dengan prioritas 1000 untuk memblokir traffic dari rentang alamat IP 192.0.2.0/24 dan 198.51.100.0/24:

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. Perintah berikut menambahkan aturan untuk mengizinkan traffic dari alamat IP 1.2.3.4 yang 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 wilayah 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 yang didekode Base64 dari header user-id 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 set ekspresi yang telah dikonfigurasi sebelumnya untuk mengatasi serangan SQLi:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "evaluatePreconfiguredWaf('sqli-stable')" \
    --action deny-403

Memperbarui satu aturan dalam kebijakan keamanan

Bagian ini menjelaskan cara memperbarui satu aturan dalam kebijakan keamanan 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 Cloud Armor policies.

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan untuk membuka halaman Policy details.

  3. Di bagian tengah halaman, klik tab Rules.

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

  5. Lakukan perubahan, lalu klik Update.

gcloud

Gunakan perintah berikut untuk memperbarui aturan. Anda hanya dapat mengupdate satu kebijakan keamanan dalam satu waktu:

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 mengupdate 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 mengetahui informasi selengkapnya tentang perintah sebelumnya, lihat gcloud compute security-policies rules update.

Untuk memperbarui prioritas aturan, gunakan REST API. Lihat securityPolicies.patchRule.

Menggunakan pembuat kondisi

Pembuat kondisi kecocokan adalah antarmuka visual di Google Cloud konsol yang membantu Anda membuat ekspresi aturan Cloud Armor yang kompleks tanpa menulis kode Common Expression Language (CEL). Daripada menulis kode, Anda dapat menggunakan UI terstruktur pembangun untuk menggabungkan kondisi dan mengelompokkan logika, yang dapat membantu Anda menghindari error sintaksis dan memvisualisasikan struktur aturan dengan lebih baik. Builder mendukung daftar datar dan logika bertingkat hingga lima tingkat ekspresi. Gunakan alat ini saat Anda mengonfigurasi aturan untuk membantu melindungi backend multi-cloud atau deployment hybrid, yang mungkin mengharuskan Anda memeriksa atribut permintaan tertentu sebelum merutekan traffic.

Fitur pembuat kondisi kecocokan

Pembangun kondisi kecocokan mencakup fitur berikut:

  • Logika dan penyusunan bertingkat: gabungkan beberapa kondisi menggunakan operator AND dan OR. Penyusun mendukung pengelompokan dan penyusunan hingga lima ekspresi.
  • Transformasi string: untuk atribut berbasis string (seperti request.path atau request.headers), terapkan transformasi untuk menormalisasi data sebelum evaluasi. Transformasi yang didukung meliputi:
    • Huruf Kecil dan Huruf Besar
    • Decode Base64
    • Dekode URL dan Dekode URL (Unicode)
    • Konversi UTF-8 ke Unicode
  • Penguraian dua arah: beralih antara pembuat kondisi Pencocokan visual dan editor kondisi Pencocokan teks mentah. UI mengurai kode CEL mentah menjadi blok visual secara otomatis.
  • Dukungan fungsi: builder menyediakan kontrol UI untuk ekspresi berbasis fungsi, seperti aturan WAF yang telah dikonfigurasi sebelumnya, grup alamat, dan Threat Intelligence.

Batasan

Pembuat kondisi kecocokan adalah antarmuka default untuk pembuatan aturan lanjutan. Jika ekspresi berisi logika yang tidak didukung (seperti makro yang tidak diketahui), pembangun akan dinonaktifkan. Dalam kasus ini, gunakan teks mentah di editor Kondisi pencocokan untuk mengedit aturan.

Selain itu, ketersediaan ekspresi tertentu di builder bergantung pada tingkatan Google Cloud Armor Enterprise project Anda dan jenis kebijakan keamanan.

Memperbarui beberapa aturan secara atomik dalam kebijakan keamanan

Anda dapat menggunakan fitur update atomik untuk menerapkan perubahan pada beberapa aturan dalam satu update. Pembaruan aturan tunggal dapat menyebabkan perilaku yang tidak diinginkan seperti error karena aturan lama dan baru mungkin tumpang-tindih untuk jangka waktu yang 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, lalu alihkan kebijakan keamanan untuk layanan backend.

gcloud

  1. Ekspor kebijakan yang akan diupdate, 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 seperti contoh berikut:

        description: my description
        fingerprint: PWfLGDWQDLY=
        id: '123'
        name: my-policy
        rules:
        - action: deny(404)
          description: my-rule-1
          match:
            expr:
              expression: evaluatePreconfiguredWaf('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 untuk mengubah kebijakan. Misalnya, Anda dapat mengubah prioritas aturan yang ada dan menambahkan aturan:

        description: my description
        fingerprint: PWfLGDWQDLY=
        id: '123'
        name: my-policy
        rules:
        - action: deny(404)
          description: my-rule-1
          match:
            expr:
              expression: evaluatePreconfiguredWaf('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 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

Ikuti langkah-langkah di bagian ini untuk menghapus aturan dari kebijakan keamanan Cloud Armor.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan untuk membuka halaman Policy details.

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

  4. Klik Delete.

gcloud

Gunakan perintah berikut untuk menghapus aturan. Anda hanya dapat mengubah satu kebijakan keamanan dalam 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

Bagian berikut menjelaskan cara melampirkan dan menghapus kebijakan keamanan.

Melampirkan kebijakan keamanan ke layanan backend

Ikuti langkah-langkah di bagian ini untuk melampirkan kebijakan keamanan Cloud Armor ke layanan backend. Anda dapat melampirkan kebijakan keamanan ke beberapa layanan backend, tetapi layanan backend hanya dapat memiliki satu dari setiap jenis kebijakan keamanan yang dilampirkan ke layanan tersebut.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan untuk membuka halaman Policy details.

  3. Di bagian tengah halaman, klik tab Targets.

  4. Klik Apply policy to new target.

  5. Klik Add Target.

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

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

Ikuti langkah-langkah di bagian ini untuk menghapus kebijakan keamanan Cloud Armor dari layanan backend.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan untuk membuka halaman Policy details.

  3. Di bagian tengah halaman, klik tab Targets.

  4. Pilih layanan backend target tempat Anda menghapus kebijakan.

  5. Klik Hapus.

  6. Pada pesan Remove target, klik Remove.

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 tanda --edge-security-policy:

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

Melampirkan kebijakan keamanan ke bucket backend

Ikuti langkah-langkah di bagian ini untuk melampirkan kebijakan keamanan edge Cloud Armor ke bucket backend. Anda dapat melampirkan kebijakan keamanan edge ke beberapa bucket backend.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan untuk membuka halaman Policy details.

  3. Di bagian tengah halaman, klik tab Targets.

  4. Klik Apply policy to new target.

  5. Klik Add Target.

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

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

Ikuti langkah-langkah di bagian ini untuk menghapus kebijakan keamanan edge Cloud Armor dari bucket backend.

Konsol

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

    Buka kebijakan Cloud Armor

  2. Klik nama kebijakan keamanan untuk membuka halaman Policy details.

  3. Di bagian tengah halaman, klik tab Targets.

  4. Pilih layanan backend target tempat Anda menghapus kebijakan.

  5. Klik Hapus.

  6. Pada pesan Remove target, klik Remove.

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

Bagian berikut menjelaskan cara mengimpor dan mengekspor kebijakan keamanan.

Mengekspor kebijakan keamanan

Anda dapat mengekspor kebijakan keamanan Cloud Armor sebagai file YAML atau JSON menggunakan Google Cloud CLI. Fitur ini memberikan manfaat berikut:

  • Menyimpan salinan untuk kontrol versi atau pencadangan: mengekspor akan memberikan salinan lokal kebijakan Anda. Simpan salinan ini dalam sistem kontrol sumber sebagai cadangan atau untuk melacak perubahan. Anda dapat mengimpor ulang nanti untuk memulihkan versi sebelumnya.

  • Mengubah dan memperbarui kebijakan secara lokal: ubah kebijakan yang diekspor secara offline menggunakan editor teks. Setelah melakukan perubahan, impor ulang kebijakan yang diperbarui untuk menerapkan modifikasi ke Cloud Armor.

gcloud

  1. Dalam perintah berikut, NAME adalah nama kebijakan keamanan. Format file yang valid adalah YAML dan JSON. Jika Anda tidak menentukan format file, Cloud Armor akan menggunakan YAML.

    gcloud compute security-policies export NAME \
        --file-name FILE_NAME  \
        --file-format FILE_FORMAT
    

    Contoh berikut menunjukkan perintah untuk 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. Ubah file yang diekspor dengan editor teks, lalu impor kembali ke Google Cloud dengan menggunakan perintah import.

Mengimpor kebijakan keamanan

Anda dapat mengimpor kebijakan keamanan 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, perbarui aturan satu per satu menggunakan prosedur Memperbarui satu aturan dalam kebijakan keamanan, atau semuanya sekaligus menggunakan prosedur Memperbarui beberapa aturan secara atomik dalam kebijakan keamanan.

gcloud

Untuk mengimpor kebijakan keamanan, gunakan perintah gcloud compute security-policies import NAME berikut.

gcloud compute security-policies import NAME \
    --file-name FILE_NAME  \
   [--file-format FILE_FORMAT]

Misalnya, perintah berikut memperbarui kebijakan my-policy dengan mengimpor file my-file.

gcloud compute security-policies import my-policy \
    --file-name my-file \
    --file-format json

Ganti NAME dengan nama kebijakan keamanan. Jika Anda tidak memberikan format file, format yang benar akan diasumsikan berdasarkan struktur file. Jika struktur tidak valid, gcloud CLI akan menampilkan pesan error.

Jika sidik jari kebijakan sudah tidak berlaku saat Anda mengimpornya, Cloud Armor akan menampilkan error. Artinya, kebijakan telah diubah sejak terakhir kali Anda mengekspornya. Untuk memperbaikinya, gunakan perintah describe pada kebijakan untuk mendapatkan sidik jari terbaru. Anda dapat menggunakan --format=yaml atau --format=json dengan perintah describe untuk mempermudah perbandingan. Bandingkan bagian rules dari output describe dengan bagian rules dalam file kebijakan Anda, gabungkan perbedaan, lalu ganti sidik jari yang sudah tidak berlaku dalam file Anda dengan sidik jari terbaru dari output describe.

Membuat daftar aturan yang telah dikonfigurasi dan tersedia

Selain aturan yang Anda konfigurasi sendiri, Cloud Armor menyediakan aturan yang telah dikonfigurasi sebelumnya yang dapat Anda gunakan dalam kebijakan keamanan. Anda dapat membuat daftar aturan yang telah dikonfigurasi sebelumnya untuk melihat aturan dan signature perlindungan aplikasi yang telah ditentukan sebelumnya seperti OWASP Core Rule Set yang disediakan Cloud Armor. Aturan ini berisi tanda tangan bawaan yang dievaluasi Cloud Armor berdasarkan permintaan masuk. Tambahkan aturan yang telah dikonfigurasi sebelumnya ini ke aturan baru atau yang sudah ada menggunakan referensi bahasa aturan kustom.

Untuk mengetahui 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 mencakup contoh output sebenarnya dari perintah tersebut. Perhatikan bahwa output sebenarnya akan mencakup semua aturan yang tercantum dalam Menyesuaikan aturan WAF Cloud Armor.

    gcloud compute security-policies list-preconfigured-expression-sets
    
    EXPRESSION_SET
    sqli-canary
        RULE_ID                          SENSITIVITY
        owasp-crs-v042200-id942120-sqli  2
        …
    xss-canary
        RULE_ID                         SENSITIVITY
        owasp-crs-v042200-id941110-xss  1
        owasp-crs-v042200-id941120-xss  2
    …
    sourceiplist-fastly
    sourceiplist-cloudflare
    sourceiplist-imperva
    

Langkah berikutnya