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 dari Google yang menyediakan perlindungan DDOS, penerapan aturan WAF, dan pengelolaan adaptif dalam skala besar.

Cloud Armor telah memperluas rangkaian aturan WAF yang dikonfigurasi sebelumnya untuk memitigasi kerentanan keamanan aplikasi web berdasarkan OWASP Top 10. Rangkaian aturan ini didasarkan pada OWASP Modsecurity core rule set 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 geografis, 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 terkait keamanan karena sengaja dirancang agar berisi contoh dari setiap kerentanan keamanan yang termasuk dalam OWASP Top 10. Penyerang dapat mengeksploitasi aplikasi tersebut untuk tujuan pengujian. Dalam codelab ini, kita akan menggunakannya untuk mendemonstrasikan beberapa serangan aplikasi, lalu melindungi aplikasi tersebut dengan aturan WAF Cloud Armor. Aplikasi tersebut akan menggunakan Load Balancer Google Cloud sebagai frontend, yang menjadi tempat diterapkannya kebijakan dan aturan keamanan Cloud Armor. Aplikasi ini akan disajikan di internet publik sehingga dapat dijangkau dari hampir semua tempat dan dilindungi menggunakan Cloud Armor serta aturan firewall 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.pngb9a10ebdf5b5a448.pnga1e3c01a38fa61c2.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, sekarang 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, yang dalam kasus ini adalah server web OWASP Juice Shop.

Saat membuat instance komputasi, kita 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 open source yang sudah dikenal luas, yaitu OWASP Juice Shop, sebagai aplikasi yang rentan. Anda juga dapat menggunakan aplikasi ini untuk melakukan verifikasi 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 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 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].

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

Menyiapkan 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

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

Menyiapkan komponen Cloud load balancer: proxy target

Buat Target Proxy untuk mengarahkan 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

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

Memastikan layanan Juice Shop 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 akan mendapatkan 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 mempelajari kerentanan Juice Shop dan cara melindunginya dengan rangkaian aturan WAF Cloud Armor.

5. Mendemonstrasikan kerentanan yang diketahui

Untuk menghemat waktu, kita akan mendemonstrasikan keadaan sebelum dan sesudah aturan WAF Cloud Armor diterapkan dalam beberapa langkah singkat.

Mengamati kerentanan LFI: path traversal

Penyertaan File Lokal adalah proses untuk melihat file yang ada di server dengan mengeksploitasi lemahnya validasi input pada permintaan, yang berpotensi mengungkap data sensitif. Contoh berikut hanya menunjukkan bahwa path traversal dapat dilakukan. Di browser Anda atau dengan curl, amati jalur yang disajikan oleh aplikasi.

Dari Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp

Output

HTTP/1.1 200 OK
<...>

Perhatikan juga bahwa path traversal juga dapat dilakukan:

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, baik dengan perintah UNIX maupun Windows, yang memungkinkan penyerang mengeksekusi perintah OS yang biasanya hanya dapat dijalankan oleh pengguna dengan hak istimewa. Contoh 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 flag curl untuk mengamati output lengkapnya.

Mengamati akses pemindai yang sudah dikenal luas

Alat pemindaian komersial dan open source dapat memindai aplikasi dengan berbagai tujuan, termasuk memindai kerentanan. Alat tersebut menggunakan User-Agent dan Header lainnya yang sudah dikenal luas. Perhatikan bahwa curl berjalan dengan baik menggunakan Header User-Agent yang sudah dikenal luas:

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 memanipulasi parameter input dengan urutan %0d%0a (urutan CRLF yang digunakan untuk memisahkan baris berbeda). Respons tersebut kemudian dapat diinterpretasikan sebagai dua respons oleh proses apa pun yang menguraikannya pada waktu tertentu, seperti server proxy perantara, yang berpotensi menyajikan konten palsu dalam permintaan berikutnya. Sisipkan urutan %0d%0a ke parameter input, yang dapat menyebabkan disajikannya halaman 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 deny, 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 (SISIPKAN 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 untuk mencegah path traversal yang tujuannya mengeksekusi 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)

Berdasarkan OWASP ModSecurity Core Rule Set, terapkan aturan yang mencari RCE, termasuk injeksi perintah. Perintah OS umum akan 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, klien HTTP untuk pembuatan skrip, dan web crawler yang sudah dikenal luas.

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

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

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

Berdasarkan 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

Penerapan aturan mungkin memerlukan waktu beberapa saat (tidak lebih dari 10 menit). Setelah yakin bahwa waktu yang berlalu sudah cukup, lakukan pengujian terhadap kerentanan yang sebelumnya didemonstrasikan untuk mengonfirmasi penerapan aturan WAF Cloud Armor pada langkah berikutnya.

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

Pastikan kerentanan LFI dimitigasi

Dari Cloud Shell

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

Output

HTTP/1.1 403 Forbidden
<...>

Pastikan serangan RCE dimitigasi

Dari Cloud Shell

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

Output

HTTP/1.1 403 Forbidden
<..>

Mengonfirmasi deteksi pemindai yang sudah dikenal luas

Dari Cloud Shell

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

Output

HTTP/1.1 403 Forbidden
<..>

Mengonfirmasi bahwa serangan protokol dimitigasi

Berdasarkan OWASP ModSecurity Core Rule Set ver.3.0.2, mitigasi serangan protokol dipastikan 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
<..>

Memastikan 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: aturan dengan angka yang lebih rendah dievaluasi terlebih dahulu, dan setelah aturan tersebut dipicu, pemrosesan tidak akan berlanjut ke aturan dengan angka prioritas yang lebih tinggi.

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

*Perhatikan bahwa aturan "izinkan IP Anda" dikonfigurasi dengan angka prioritas tertinggi untuk mengizinkan akses ke situs, sekaligus tetap memblokir setiap serangan.

9. Mengamati log kebijakan keamanan Cloud Armor

Dari halaman Konsol Cloud Armor, Anda dapat melihat detail kebijakan keamanan dan mengklik tab Logs, lalu mengklik link View policy logs untuk diarahkan ke halaman Cloud Logging. Log ini akan otomatis difilter berdasarkan kebijakan keamanan yang diinginkan, misalnya resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs). Perhatikan kode respons error 403 dan perluas detail log untuk melihat nama kebijakan keamanan yang diterapkan, nilai kolom yang cocok, hingga ID ekspresi yang telah dikonfigurasi sebelumnya (atau ID tanda tangan). Screenshot berikut menunjukkan contoh log untuk kebijakan keamanan yang diterapkan dan dikonfigurasi di 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 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