Codelab Aturan WAF yang Telah Dikonfigurasi di Cloud Armor

1. Pengantar

Halo! Selamat datang di codelab aturan WAF yang telah dikonfigurasi di Cloud Armor.

Google Cloud Armor adalah solusi keamanan jaringan edge perusahaan dari Google yang memberikan perlindungan DDoS, penerapan aturan WAF, dan pengelolaan adaptif dalam skala besar.

Cloud Armor telah memperluas set aturan WAF yang telah dikonfigurasi sebelumnya untuk memitigasi kerentanan keamanan aplikasi web 10 Teratas OWASP. Kumpulan aturan didasarkan pada OWASP Modsecurity core rule set versi 3.0.2 untuk melindungi dari beberapa risiko keamanan aplikasi web paling umum termasuk penyertaan file lokal (lfi), penyertaan file jarak jauh (rfi), eksekusi kode jarak jauh (rce), dan banyak lagi.

Dalam codelab ini, Anda akan mempelajari cara mengurangi beberapa kerentanan umum menggunakan aturan WAF Google Cloud Armor.

Yang akan Anda pelajari

  • Cara menyiapkan Grup Instance dan Load Balancer Global untuk mendukung layanan
  • Cara mengonfigurasi kebijakan keamanan Cloud Armor dengan aturan WAF yang telah dikonfigurasi sebelumnya untuk melindungi dari lfi, rce, pemindai, serangan protokol, dan fiksasi sesi
  • Cara memvalidasi bahwa Cloud Armor memitigasi serangan dengan mengamati log.

Yang Anda butuhkan

  • Pengetahuan dasar tentang Google Compute Engine ( codelab)
  • Pengetahuan dasar mengenai networking dan TCP/IP
  • Pengetahuan dasar mengenai command line Unix/Linux
  • Sangat membantu jika Anda telah menyelesaikan tur jaringan di GCP dengan Jaringan di Google Cloud
  • (Opsional) Selesaikan lab Cloudnet20 Cloud Armor untuk mempelajari cara melindungi workload dengan aturan injeksi SQL, berbasis IP, dan berbasis geografis.

Topologi Codelab & kasus penggunaan

119e13312f3cec25.jpeg

Gambar 1 - Topologi codelab aturan WAF Cloud Armor

Aplikasi OWASP Juice Shop berguna untuk pelatihan dan awareness tentang keamanan, karena aplikasi ini berisi instance setiap 10 kerentanan keamanan Teratas OWASP—dari desainnya. Penyerang dapat mengeksploitasinya untuk tujuan pengujian. Dalam codelab ini, kita akan menggunakannya untuk mendemonstrasikan beberapa serangan aplikasi yang diikuti dengan melindungi aplikasi dengan aturan WAF Cloud Armor. Aplikasi akan ditangani oleh Load Balancer Google Cloud, tempat kebijakan dan aturan keamanan Cloud Armor akan diterapkan. Server ini akan ditayangkan di internet publik yang dapat dijangkau dari hampir mana saja, serta dilindungi menggunakan aturan firewall Cloud Armor dan VPC.

2. Penyiapan dan Persyaratan

Penyiapan lingkungan mandiri

  1. Login ke Cloud Console lalu buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.

96a9c957bc475304.png

b9a10ebdf5b5a448.png

a1e3c01a38fa61c2.png

Ingat project ID, nama unik di semua project Google Cloud (maaf, nama di atas telah digunakan dan tidak akan berfungsi untuk Anda!) Project ID tersebut selanjutnya akan dirujuk di codelab ini sebagai PROJECT_ID.

  1. Selanjutnya, Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.

Menjalankan operasi dalam codelab ini seharusnya tidak memerlukan banyak biaya, bahkan mungkin tidak sama sekali. Pastikan untuk mengikuti petunjuk yang ada di bagian "Membersihkan" yang memberi tahu Anda cara menonaktifkan resource sehingga tidak menimbulkan penagihan di luar tutorial ini. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai$300 USD.

Mulai Cloud Shell

Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.

Dari GCP Console, klik ikon Cloud Shell di toolbar kanan atas:

bce75f34b2c53987.png

Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:

f6ef2b5f13479f3a.png

Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda di lab ini dapat dilakukan hanya dengan browser.

Sebelum memulai

Di dalam Cloud Shell, pastikan project ID Anda sudah disiapkan

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
PROJECT_ID=[YOUR-PROJECT-NAME]
echo $PROJECT_ID

Aktifkan API

Aktifkan semua layanan yang diperlukan

gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com        
gcloud services enable monitoring.googleapis.com 

3. Membuat jaringan VPC

Membuat jaringan VPC

Dari Cloud Shell

gcloud compute networks create ca-lab-vpc --subnet-mode custom

Output

Created
NAME        SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE  GATEWAY_IPV4
ca-lab-vpc  CUSTOM       REGIONAL

Membuat subnet

Dari Cloud Shell

gcloud compute networks subnets create ca-lab-subnet \
        --network ca-lab-vpc --range 10.0.0.0/24 --region us-central1

Output

Created 
NAME           REGION       NETWORK       RANGE
ca-lab-subnet  us-central1  ca-lab-vpc    10.0.0.0/24

Membuat aturan firewall VPC

Setelah membuat VPC dan subnet, sekarang Anda akan menyiapkan beberapa aturan firewall. Aturan firewall pertama akan digunakan untuk mengizinkan semua IP mengakses IP eksternal dari situs aplikasi pengujian di port 3000. Aturan firewall kedua akan digunakan untuk mengizinkan health check dari IP sumber load balancer.

Dari Cloud Shell

gcloud compute firewall-rules create allow-js-site --allow tcp:3000 --network ca-lab-vpc

Output

Creating firewall...done.
NAME           NETWORK     DIRECTION  PRIORITY  ALLOW     DENY  DISABLED
allow-js-site  ca-lab-vpc  INGRESS    1000      tcp:3000        False

Buat aturan FW untuk mengizinkan uji respons dari rentang health check Google.

Dari Cloud Shell

gcloud compute firewall-rules create allow-health-check \
    --network=ca-lab-vpc \
    --action=allow \
    --direction=ingress \
    --source-ranges=130.211.0.0/22,35.191.0.0/16 \
    --target-tags=allow-healthcheck \
    --rules=tcp

Output

Creating firewall...done.
NAME                NETWORK     DIRECTION  PRIORITY  ALLOW  DENY  DISABLED
allow-health-check  ca-lab-vpc  INGRESS    1000      tcp          False

4. Menyiapkan aplikasi pengujian

Langkah selanjutnya adalah membuat aplikasi pengujian, dalam hal ini server web OWASP Juice Shop.

Saat membuat instance komputasi, kami menggunakan image container untuk memastikan server memiliki layanan yang sesuai. Server ini akan di-deploy di us-central1-c dan akan memiliki tag jaringan yang mengizinkan health check.

Membuat aplikasi OWASP Juice Shop

Gunakan aplikasi OWASP Juice Shop open source yang terkenal untuk berperan sebagai aplikasi yang rentan. Anda juga dapat menggunakan aplikasi ini untuk melakukan tantangan keamanan OWASP melalui situs mereka.

Dari Cloud Shell

gcloud compute instances create-with-container owasp-juice-shop-app --container-image bkimminich/juice-shop \
     --network ca-lab-vpc \
     --subnet ca-lab-subnet \
     --private-network-ip=10.0.0.3 \
     --machine-type n1-standard-2 \
     --zone us-central1-c \
     --tags allow-healthcheck

Output

NAME                  ZONE           MACHINE_TYPE   PREEMPTIBLE  
owasp-juice-shop-app  us-central1-c  n1-standard-2               

INTERNAL_IP  EXTERNAL_IP     STATUS
10.0.0.3     <public IP>     RUNNING

Menyiapkan komponen load balancer Cloud: grup instance

Buat grup instance yang tidak dikelola.

Dari Cloud Shell

gcloud compute instance-groups unmanaged create juice-shop-group \
    --zone=us-central1-c

Output

NAME              LOCATION       SCOPE  NETWORK  MANAGED  INSTANCES
juice-shop-group  us-central1-c  zone                     0

Tambahkan instance Juice Shop GCE ke grup instance yang tidak dikelola.

Dari Cloud Shell

gcloud compute instance-groups unmanaged add-instances juice-shop-group \
    --zone=us-central1-c \
    --instances=owasp-juice-shop-app

Output

Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].

Setel port bernama ke port aplikasi Juice Shop.

Dari Cloud Shell

gcloud compute instance-groups unmanaged set-named-ports \
juice-shop-group \
   --named-ports=http:3000 \
   --zone=us-central1-c

Output

Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].

Setelah Anda membuat grup instance yang tidak dikelola, langkah berikutnya adalah membuat health check, layanan backend, peta URL, proxy target, dan aturan penerusan.

Menyiapkan komponen load balancer Cloud: health check

Buat pemeriksaan kondisi untuk port layanan Juice Shop.

Dari Cloud Shell

gcloud compute health-checks create tcp tcp-port-3000 \
        --port 3000

Output

Created 
NAME           PROTOCOL
tcp-port-3000  TCP

Menyiapkan komponen load balancer Cloud: layanan backend

Buat parameter layanan backend.

Dari Cloud Shell

gcloud compute backend-services create juice-shop-backend \
        --protocol HTTP \
        --port-name http \
        --health-checks tcp-port-3000 \
        --enable-logging \
        --global 

Output

NAME                BACKENDS  PROTOCOL
juice-shop-backend            HTTP

Tambahkan grup instance Juice Shop ke layanan backend.

Dari Cloud Shell

 gcloud compute backend-services add-backend juice-shop-backend \
        --instance-group=juice-shop-group \
        --instance-group-zone=us-central1-c \
        --global

Output

Updated [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/backendServices/juice-shop-backend].

Menyiapkan komponen load balancer Parameter: Peta URL

Buat peta URL yang akan dikirim ke backend.

Dari Cloud Shell

gcloud compute url-maps create juice-shop-loadbalancer \
        --default-service juice-shop-backend

Output

NAME                     DEFAULT_SERVICE
juice-shop-loadbalancer  backendServices/juice-shop-backend

Menyiapkan komponen load balancer Cl: target proxy

Buat Proxy Target untuk menghadap peta URL.

Dari Cloud Shell

gcloud compute target-http-proxies create juice-shop-proxy \
        --url-map juice-shop-loadbalancer

Output

NAME              URL_MAP
juice-shop-proxy  juice-shop-loadbalancer

Menyiapkan komponen load balancer Cloud: aturan penerusan

Membuat aturan penerusan untuk Load Balancer.

Dari Cloud Shell

gcloud compute forwarding-rules create juice-shop-rule \
        --global \
        --target-http-proxy=juice-shop-proxy \
        --ports=80

Output

Created [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/forwardingRules/juice-shop-rule].

Memverifikasi apakah layanan Juice Shop sudah online

Dari Cloud Shell

PUBLIC_SVC_IP="$(gcloud compute forwarding-rules describe juice-shop-rule  --global --format="value(IPAddress)")"

Dari Cloud Shell

echo $PUBLIC_SVC_IP

Output

<public VIP of service>

Tunggu beberapa menit sebelum melanjutkan, jika tidak Anda akan mengambil respons HTTP/1.1 404 Not Found.

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP

Output

HTTP/1.1 200 OK
<...>

Anda juga dapat membuka browser untuk melihat Juice Shop.

428c18eee6708c28.pngS

Sekarang kami siap untuk mengeksplorasi kerentanan Juice Shop dan cara melindunginya dengan kumpulan aturan WAF Cloud Armor.

5. Menunjukkan kerentanan yang telah diketahui

Demi menghemat waktu, kami akan mendemonstrasikan status sebelum dan sesudah aturan WAF Cloud Armor disebarluaskan dalam langkah-langkah ringkas.

Mengamati kerentanan LFI: path traversal

Penyertaan File Lokal adalah proses pengamatan file yang ada di server dengan memanfaatkan kurangnya validasi input dalam permintaan untuk berpotensi mengekspos data sensitif. Berikut ini hanya menunjukkan bahwa path traversal dimungkinkan. Di browser Anda atau dengan curl, amati jalur yang ada yang dilayani oleh aplikasi.

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp

Output

HTTP/1.1 200 OK
<...>

Perhatikan juga bahwa path traversal berfungsi:

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp/../

Output

HTTP/1.1 200 OK
<...>

Mengamati kerentanan RCE

Remote Code Execution mencakup berbagai skenario injeksi perintah UNIX dan Windows yang memungkinkan penyerang menjalankan perintah OS yang biasanya dibatasi hanya untuk pengguna dengan hak istimewa. Berikut ini adalah eksekusi perintah ls sederhana yang diteruskan.

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls

Output

HTTP/1.1 200 OK
<...>

Anda dapat menghapus tanda curl untuk mengamati output lengkapnya.

Mengamati akses pemindai yang dikenal

Aplikasi pemindaian komersial dan open source untuk berbagai tujuan, termasuk pemindaian kerentanan. Alat ini menggunakan Agen Pengguna yang sudah dikenal dan Header lainnya. Amati fungsi curl dengan Header Agen Pengguna yang terkenal:

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"

Output

HTTP/1.1 200 OK
<...>

Mengamati serangan protokol: Pemisahan HTTP

Beberapa aplikasi web menggunakan input dari pengguna untuk menghasilkan header dalam respons. Jika aplikasi tidak memfilter input dengan benar, penyerang berpotensi meracuni parameter input dengan urutan %0d%0a (urutan CRLF yang digunakan untuk memisahkan jalur yang berbeda). Respons tersebut kemudian dapat ditafsirkan sebagai dua respons oleh apa pun yang terjadi untuk mengurainya, seperti server proxy perantara, yang berpotensi menyajikan konten palsu dalam permintaan berikutnya. Masukkan urutan %0d%0a ke dalam parameter input, yang dapat menyebabkan penayangan halaman yang menyesatkan.

Dari Cloud Shell

curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"

Output

HTTP/1.1 200 OK
<...>

Mengamati fiksasi sesi

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP -H session_id=X

Output

HTTP/1.1 200 OK
<...>

6. Menentukan aturan WAF Cloud Armor

Buat daftar aturan WAF yang telah dikonfigurasi sebelumnya:

Dari Cloud Shell

gcloud compute security-policies list-preconfigured-expression-sets

Output

EXPRESSION_SET
Sqli-canary
RULE_ID
    owasp-crs-v030001-id942110-sqli
    owasp-crs-v030001-id942120-sqli
<...>

Membuat kebijakan keamanan Cloud Armor

Dari Cloud Shell:

gcloud compute security-policies create block-with-modsec-crs \
    --description "Block with OWASP ModSecurity CRS"

Memperbarui aturan default kebijakan keamanan

Perhatikan bahwa prioritas aturan default memiliki nilai numerik 2147483647

Dari Cloud Shell:

gcloud compute security-policies rules update 2147483647 \
    --security-policy block-with-modsec-crs \
    --action "deny-403"

Karena aturan default dikonfigurasi dengan tindakan tolak, kami harus mengizinkan akses dari IP Anda. Temukan IP publik Anda (curl, ipMonkey, whatismyip, dll.).

Dari Cloud Shell:

MY_IP=$(curl ifconfig.me)

Tambahkan aturan pertama untuk mengizinkan akses dari IP Anda (MASUKKAN IP ANDA DI BAWAH)

Dari Cloud Shell:

gcloud compute security-policies rules create 10000 \
    --security-policy  block-with-modsec-crs  \
    --description "allow traffic from my IP" \
    --src-ip-ranges "$MY_IP/32" \
    --action "allow"

Memperbarui kebijakan keamanan untuk memblokir serangan LFI

Menerapkan Set Aturan Inti OWASP ModSecurity yang mencegah traversal jalur untuk penyertaan file lokal.

Dari Cloud Shell:

gcloud compute security-policies rules create 9000 \
    --security-policy block-with-modsec-crs  \
    --description "block local file inclusion" \
     --expression "evaluatePreconfiguredExpr('lfi-stable')" \
    --action deny-403

Memperbarui kebijakan keamanan untuk memblokir Remote Code Execution (rce)

Sesuai dengan Set Aturan Inti ModSecurity OWASP, terapkan aturan yang mencari rce, termasuk injeksi perintah. Perintah OS yang umum terdeteksi dan diblokir.

Dari Cloud Shell:

gcloud compute security-policies rules create 9001 \
    --security-policy block-with-modsec-crs  \
    --description "block rce attacks" \
     --expression "evaluatePreconfiguredExpr('rce-stable')" \
    --action deny-403

Memperbarui kebijakan keamanan untuk memblokir pemindai keamanan

Terapkan OWASP ModSecurity Core Rule Set untuk memblokir pemindai keamanan, pembuatan skrip klien HTTP, dan web crawler yang terkenal.

Dari Cloud Shell:

gcloud compute security-policies rules create 9002 \
    --security-policy block-with-modsec-crs  \
    --description "block scanners" \
     --expression "evaluatePreconfiguredExpr('scannerdetection-stable')" \
    --action deny-403

Memperbarui kebijakan keamanan untuk memblokir serangan protokol

Sesuai dengan OWASP ModSecurity Core Rule Set, terapkan aturan yang mencari karakter Carriage Return (CR) %0d dan Linefeed (LF) %0a serta jenis serangan protokol lainnya seperti HTTP Request Smuggling.

Dari Cloud Shell:

gcloud compute security-policies rules create 9003 \
    --security-policy block-with-modsec-crs  \
    --description "block protocol attacks" \
     --expression "evaluatePreconfiguredExpr('protocolattack-stable')" \
    --action deny-403

Memperbarui kebijakan keamanan untuk memblokir fiksasi sesi

Sesuai dengan Kumpulan Aturan Inti ModSecurity OWASP, terapkan aturan yang...

Dari Cloud Shell:

gcloud compute security-policies rules create 9004 \
    --security-policy block-with-modsec-crs  \
    --description "block session fixation attacks" \
     --expression "evaluatePreconfiguredExpr('sessionfixation-stable')" \
    --action deny-403

Memasang kebijakan keamanan ke layanan backend

Dari Cloud Shell:

gcloud compute backend-services update juice-shop-backend \
    --security-policy block-with-modsec-crs \
    --global

Mungkin perlu waktu beberapa saat untuk menerapkan aturan (tetapi tidak lebih dari 10 menit). Setelah yakin bahwa cukup waktu telah berlalu, uji kerentanan yang ditunjukkan sebelumnya untuk mengonfirmasi penerapan aturan WAF Cloud Armor pada langkah berikutnya.

7. Amati perlindungan Cloud Armor dengan Kumpulan Aturan Inti OWASP ModSecurity

Mengonfirmasi bahwa kerentanan LFI telah dimitigasi

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/?a=../

Output

HTTP/1.1 403 Forbidden
<...>

Mengonfirmasi bahwa serangan RCE telah dimitigasi

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls

Output

HTTP/1.1 403 Forbidden
<..>

Mengonfirmasi deteksi pemindai yang dikenal

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"

Output

HTTP/1.1 403 Forbidden
<..>

Mengonfirmasi bahwa serangan protokol telah dimitigasi

Sesuai dengan OWASP ModSecurity Core Rule Set ver.3.0.2, serangan protokol dimitigasi dengan

Dari Cloud Shell

curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"

Output

HTTP/1.1 403 Forbidden
<..>

Mengonfirmasi bahwa upaya fiksasi sesi diblokir

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/?session_id=a

Output

HTTP/1.1 403 Forbidden
<..>

8. Meninjau Aturan Keamanan Cloud Armor

Setelah membuat kebijakan keamanan, mari kita lihat aturan apa yang telah dikonfigurasi.

d00e4102fc89e44f.png

Aturan dievaluasi berdasarkan prioritas: angka yang lebih rendah akan dievaluasi terlebih dahulu dan setelah dipicu, pemrosesan tidak dilanjutkan untuk aturan dengan nilai prioritas yang lebih tinggi.

  • Prioritas 9000 - Blokir LFI (penyertaan file lokal)
  • Prioritas 9001 - Blokir RCE (eksekusi kode jarak jauh/injeksi perintah)
  • Prioritas 9002 - Pemindai Blok Terdeteksi
  • Prioritas 9003 - Serangan Protokol Blok seperti pemisahan HTTP dan penyelundupan HTTP
  • Prioritas 9004 - Serangan Fiksasi Sesi Blok
  • Prioritas 10000 - Izinkan IP Anda mengakses Situs
  • Prioritas Default - Tolak.

*Perhatikan "izinkan IP Anda" dikonfigurasi dengan nomor prioritas tertinggi untuk mengizinkan akses ke situs, namun memblokir serangan apa pun.

9. Mengamati log kebijakan keamanan Cloud Armor

Dari halaman Konsol Cloud Armor, Anda dapat melihat detail kebijakan keamanan dan mengklik tab Logs diikuti dengan link View policy logs untuk diarahkan ke halaman Cloud Logging. Ini akan otomatis melakukan filter berdasarkan kebijakan keamanan yang diminati, mis. resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs). Amati kode respons error 403 dan luaskan detail log untuk mengamati nama kebijakan keamanan yang diterapkan, nilai kolom yang cocok, dan lebih jauh ke bawah ID ekspresi yang telah dikonfigurasi sebelumnya (atau ID tanda tangan). Screenshot berikut menunjukkan contoh log untuk kebijakan keamanan yang diterapkan yang dikonfigurasi dalam codelab ini.

Log LFI

983a6cab0cff940d.pngS

Log RCE

988a3a571f9d9d45.pngS

Log deteksi pemindai

7ed661863ba27555.pngS

Log serangan protokol

17ee3cbe0bd98939.pngS

Log fiksasi sesi

80d1ddfd0fe982e1.pngS

10. Pembersihan Lab

Bersihkan resource setelah Anda menyelesaikan lab.

Jalankan perintah ini untuk menghapus kebijakan keamanan Cloud Armor, Load Balancer, instance, aturan firewall, dan jaringan VPC.

Menghapus kebijakan keamanan Cloud Armor dari layanan backend

gcloud -q compute backend-services update juice-shop-backend --security-policy "" --global

Menghapus kebijakan keamanan Cloud Armor

Menghapus kebijakan keamanan akan otomatis menghapus aturan terkait.

gcloud -q compute security-policies delete block-with-modsec-crs

Menghapus resource load balancer

Resource Load Balancer ini yang akan dihapus mencakup aturan penerusan, target-http-proxy, url-maps, backend, health-check, dan grup instance.

gcloud -q compute forwarding-rules delete juice-shop-rule --global

gcloud -q compute target-http-proxies delete juice-shop-proxy

gcloud -q compute url-maps delete juice-shop-loadbalancer

gcloud -q compute backend-services delete juice-shop-backend \
    --global

gcloud -q compute health-checks delete tcp-port-3000

gcloud -q compute instance-groups unmanaged delete juice-shop-group --zone=us-central1-c

Menghapus instance

gcloud -q compute instances delete owasp-juice-shop-app --zone us-central1-c

Menghapus aturan firewall, subnet, dan VPC

gcloud -q compute firewall-rules delete allow-health-check
gcloud -q compute firewall-rules delete allow-js-site
gcloud -q compute networks subnets delete ca-lab-subnet --region us-central1
gcloud -q compute networks delete ca-lab-vpc

11. Selamat!

Selamat, Anda telah menyelesaikan codelab aturan WAF yang telah dikonfigurasi di Cloud Armor.

Yang telah kita bahas

  • Cara menyiapkan grup instance dan Cloud Load Balancer global
  • Cara mengonfigurasi kebijakan keamanan Cloud Armor dengan aturan WAF yang telah dikonfigurasi sebelumnya untuk melindungi dari lfi, rce, pemindai, serangan protokol, dan fiksasi sesi
  • Cara memvalidasi bahwa Cloud Armor mengurangi beberapa dari 10 serangan teratas versi OWASP melalui log

Langkah berikutnya