D(caps)alam dunia keamanan aplikasi web, perlindungan terhadap kerentanan adalah hal yang sangat penting. Sebelumnya, banyak organisasi menggunakan ModSecurity sebagai Web Application Firewall (WAF) untuk melindungi aplikasi web mereka. Namun, ModSecurity kini telah mencapai akhir masa pakai atau Ends-of-Life (EOL), dan saatnya untuk mencari alternatif yang lebih baik.
Tim OWASP (Open Worldwide Application Security Project) telah merilis Coraza, sebuah WAF yang dirancang untuk memberikan perlindungan yang lebih kuat dan efektif terhadap berbagai serangan di aplikasi web. Kita akan menggunakan OWASP Coraza WAF untuk melindungi OWASP Juice Shop Vulnerable Web, dengan skema seperti gambar berikut :
Apa itu Coraza?
Coraza adalah WAF berbasis Go yang dirancang untuk berfungsi secara native dengan Kubernetes dan Docker. Dengan fokus pada kemudahan penggunaan, Coraza menawarkan arsitektur yang fleksibel dan mudah dikonfigurasi, memungkinkan pengguna untuk mengadaptasi dan mengintegrasikannya ke dalam lingkungan mereka dengan cepat. Salah satu fitur menonjol dari Coraza adalah dukungannya terhadap spesifikasi OWASP Core Rule Set, yang merupakan seperangkat aturan yang dirancang untuk melindungi aplikasi web dari serangan umum.
Langkah-langkah Instalasi
1. Instal VMware Workstation Pro 17
Pertama, pastikan Anda menginstal VMware Workstation Pro 17 di sistem Anda. Software ini akan memungkinkan Anda untuk membuat mesin virtual yang diperlukan untuk instalasi selanjutnya. Langkah bisa lihat pada link berikut :
2. Instal VM Ubuntu Server 24.04.5
Setelah VMware terinstal, buat mesin virtual baru dan instal Ubuntu Server 24.04.5. Pastikan Anda mengkonfigurasi sumber daya VM sesuai kebutuhan aplikasi yang akan Anda jalankan. Langkah bisa lihat pada link berikut :
3. Instal OWASP Juice Shop dengan Docker
Setelah VM Ubuntu Anda siap, instal OWASP Juice Shop dengan Docker. Langkah bisa lihat pada link berikut :
OWASP Juice Shop adalah aplikasi web yang dirancang untuk menguji keamanan dan menemukan kerentanan, sehingga sangat cocok untuk demonstrasi ini.(alert-success)
pastikan sudah bisa akses OWASP Juice Shop via browser pada alamat http://<IP Address VM>:3000
4. Instal OWASP Coraza WAF dengan Docker
Untuk menjalankan OWASP Coraza WAF menggunakan Docker, kita perlu menginstal Docker terlebih dahulu. Jalankan perintah berikut untuk menginstal Docker:
curl -fsSL https://get.docker.com -o get-docker.sh(code-box)
sh get-docker.sh(code-box)
Setelah instalasi selesai, Verifikasi instalasi Docker:
docker --version(code-box)
Selanjutnya, Anda perlu menginstal Coraza WAF. Jalankan perintah berikut untuk mengunduh dan menjalankannya:
1). Clone repositori:
git clone https://github.com/nurlanchip/coraza-envoy.git(code-box)
2). Masuk ke direktori proyek:
cd coraza-envoy(code-box)
3). Edit file envoy.yaml untuk memperbarui alamat IP dan port server backend:
nano envoy.yaml(code-box)
Ubah baris 119 dan 120 untuk dengan alamat IP dan port server VM OWASP Juice Shop yang benar. Kemudian simpan perubahan.
4). Jalankan Docker container:
docker compose up(code-box)
tunggu proses pada terminal, hingga text sudah tidak running
5). Akses aplikasi di browser Anda melalui:
http://<IP Address VM OWASP Coraza>
maka landing page OWASP Juice Shop akan muncul pada Browser
5. Install lnav
sudo apt install lnav(code-box)
lnav /coraza-envoy/error.log(code-box)
6. Uji Kerentanan: Serangan SQL, XSS, dan Lainnya
Setelah semua terinstal, saatnya untuk menguji kemampuan Coraza dalam melindungi aplikasi. Cobalah melakukan beberapa serangan umum, seperti:
Jangan lupa mengganti <IP Address VM OWASP Coraza>(alert-warning)
- SQL Injection: http://<IP Address VM OWASP Coraza>/?id=1+and+1=2+union+select+1
- XSS: http://<IP Address VM OWASP Coraza>/?id=<img+src=x+onerror=alert()>
- Path Traversal: http://<IP Address VM OWASP Coraza>/?id=../../../../etc/passwd
- Code Injection: http://<IP Address VM OWASP Coraza>/?id=phpinfo();system('id')
- XXE: http://<IP Address VM OWASP Coraza>/?id=<?xml+version="1.0"?><!DOCTYPE+foo+SYSTEM+"">
' OR 1=1 --(code-box)
7. Tampilkan Log di lnav
Anda dapat memantau log Coraza untuk melihat bagaimana WAF menangani serangan yang dilakukan. Jalankan perintah berikut untuk menampilkan log secara real-time:
lnav /coraza-envoy/error.log (code-box)
Pastikan untuk mengganti path logs coraza dengan path yang sesuai di sistem Anda (alert-warning)
8. Video Tutorial Step-by-step di YouTube
Kesimpulan
Dengan mengganti ModSecurity dengan Coraza, Anda dapat memastikan bahwa aplikasi web Anda terlindungi dengan baik terhadap serangan umum. Coraza menawarkan solusi modern dan fleksibel yang dirancang untuk memenuhi kebutuhan keamanan aplikasi web saat ini. Uji coba dengan OWASP Juice Shop memberikan kesempatan untuk memahami cara kerja Coraza dalam melindungi aplikasi dari berbagai ancaman.
Referensi
- OWASP Coraza WAF https://coraza.io
- Kode pertama dibuat oleh Zufar Dhiyaulhaq : https://github.com/zufardhiyaulhaq/envoy-http-proxy
- Kemudian ditambakan fungsi export logs oleh Rizky Fachrurozy : https://github.com/blackabed/ProteksiCoraza