Codelab Aturan WAF yang Telah Dikonfigurasi di Cloud Armor

1. Pengantar

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

Google Cloud Armor adalah solusi keamanan jaringan edge tingkat perusahaan Google yang menyediakan perlindungan DDOS, penerapan aturan WAF, dan kemampuan 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 ini didasarkan pada kumpulan aturan inti ModSecurity OWASP versi 3.0.2 untuk melindungi dari beberapa risiko keamanan aplikasi web yang 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 memitigasi beberapa kerentanan umum dengan 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
  • Sebaiknya Anda telah menyelesaikan tur jaringan di GCP dengan Networking di Google Cloud
  • (Opsional) Selesaikan lab Cloudnet20 Cloud Armor untuk mempelajari cara melindungi workload dengan aturan berbasis IP, berbasis geo, dan injeksi SQL.

Topologi & kasus penggunaan codelab

119e13312f3cec25.jpeg

Gambar 1 - Topologi codelab aturan WAF Cloud Armor

Aplikasi OWASP Juice Shop berguna untuk pelatihan dan awareness keamanan, karena berisi instance dari setiap kerentanan keamanan OWASP Top 10—secara sengaja. Penyerang dapat mengeksploitasinya untuk tujuan pengujian. Dalam codelab ini, kita akan menggunakannya untuk mendemonstrasikan beberapa serangan aplikasi, lalu melindungi aplikasi dengan aturan WAF Cloud Armor. Aplikasi akan di-front-end oleh Google Cloud Load Balancer, yang akan menerapkan kebijakan dan aturan keamanan Cloud Armor. Layanan ini akan ditayangkan di internet publik sehingga dapat dijangkau dari hampir di mana saja dan dilindungi menggunakan aturan firewall VPC dan Cloud Armor.

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 Konsol GCP, 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

Create a VPC network

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, Anda akan menyiapkan beberapa aturan firewall. Aturan firewall pertama akan digunakan untuk mengizinkan semua IP mengakses IP eksternal 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 health check 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 berikutnya 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 akan mengizinkan health check.

Membuat aplikasi OWASP Juice Shop

Gunakan aplikasi OWASP Juice Shop open source yang terkenal 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

Siapkan komponen load balancer Cloud: grup instance

Buat grup instance tidak terkelola.

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 GCE Juice Shop ke grup instance tidak terkelola.

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

Tetapkan named port ke 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 membuat grup instance yang tidak dikelola, langkah selanjutnya adalah membuat health check, layanan backend, peta URL, proxy target, dan aturan penerusan.

Siapkan komponen load balancer Cloud: health check

Buat health check 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

Siapkan 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].

Siapkan komponen load balancer Cloud: Peta URL

Buat peta URL untuk 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

Siapkan komponen load balancer Cloud: proxy target

Buat Target Proxy untuk berada di depan 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

Siapkan komponen load balancer Cloud: aturan penerusan

Buat 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].

Verifikasi bahwa layanan Juice Shop sedang 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, atau Anda mungkin menerima 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.png

Sekarang kita siap menjelajahi kerentanan Juice Shop dan cara melindunginya dengan set aturan WAF Cloud Armor.

5. Menunjukkan kerentanan yang diketahui

Untuk menghemat waktu, kami akan mendemonstrasikan status sebelum dan setelah aturan WAF Cloud Armor diterapkan dalam langkah-langkah yang diringkas.

Mengamati kerentanan LFI: traversal jalur

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

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp

Output

HTTP/1.1 200 OK
<...>

Perhatikan juga bahwa traversal jalur juga berfungsi:

Dari Cloud Shell

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

Output

HTTP/1.1 200 OK
<...>

Mengamati kerentanan RCE

Eksekusi Kode Jarak Jauh mencakup berbagai skenario injeksi perintah UNIX dan Windows yang memungkinkan penyerang menjalankan perintah OS yang biasanya dibatasi untuk pengguna yang memiliki hak istimewa. Berikut menunjukkan 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 lengkap.

Mengamati akses pemindai terkenal

Aplikasi pemindaian komersial dan open source digunakan untuk berbagai tujuan, termasuk memindai kerentanan. Alat ini menggunakan Header dan User-Agent yang sudah dikenal. Amati curl berfungsi 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 merusak parameter input dengan urutan %0d%0a (urutan CRLF yang digunakan untuk memisahkan baris yang berbeda). Respons kemudian dapat ditafsirkan sebagai dua respons oleh apa pun yang memprosesnya, seperti server proxy perantara, yang berpotensi menayangkan konten palsu dalam permintaan berikutnya. Menyisipkan 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

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

Buat 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, kita 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"

Perbarui kebijakan keamanan untuk memblokir serangan LFI

Terapkan OWASP ModSecurity Core Rule Set yang mencegah path traversal 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

Perbarui kebijakan keamanan untuk memblokir Eksekusi Kode Jarak Jauh (rce)

Sesuai dengan OWASP ModSecurity Core Rule Set, terapkan aturan yang mencari rce, termasuk injeksi perintah. Perintah OS 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 yang sudah dikenal, klien HTTP pembuatan skrip, dan crawler web.

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

Perbarui 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

Perbarui kebijakan keamanan untuk memblokir pengikatan sesi

Sesuai dengan OWASP ModSecurity Core Rule Set, 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

Lampirkan kebijakan keamanan ke layanan backend

Dari Cloud Shell:

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

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

7. Mengamati perlindungan Cloud Armor dengan OWASP ModSecurity Core Rule Set

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 diatasi

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 diatasi

Menurut OWASP ModSecurity Core Rule Set ver.3.0.2, serangan protokol dimitigasi oleh

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 saja yang telah dikonfigurasi.

d00e4102fc89e44f.png

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

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

*Perhatikan bahwa aturan "izinkan IP Anda" dikonfigurasi dengan nomor prioritas tertinggi untuk mengizinkan akses ke situs, tetapi 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, lalu link View policy logs untuk diarahkan ke halaman Cloud Logging. Alat ini akan otomatis memfilter berdasarkan kebijakan keamanan yang diinginkan, misalnya resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs). Amati kode respons error 403 dan perluas detail log untuk mengamati nama kebijakan keamanan yang diterapkan, nilai kolom yang cocok, dan lebih lanjut lagi ID ekspresi yang telah dikonfigurasi sebelumnya (atau ID tanda tangan). Screenshot berikut menunjukkan contoh log untuk kebijakan keamanan yang diterapkan dan dikonfigurasi dalam codelab ini.

Log LFI

983a6cab0cff940d.png

Log RCE

988a3a571f9d9d45.png

Log deteksi pemindai

7ed661863ba27555.png

Log serangan protokol

17ee3cbe0bd98939.png

Log fiksasi sesi

80d1ddfd0fe982e1.png

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

Hapus resource load balancer

Resource Load Balancer yang akan dihapus ini mencakup aturan penerusan, target-http-proxies, url-maps, backend, health-checks, 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

Hapus instance

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

Hapus 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 sebelumnya oleh 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 memitigasi beberapa serangan 10 teratas OWASP melalui log

Langkah berikutnya