Lab Keamanan Web
Kali Linux Indonesia: Cara Praktis Menyiapkan Lab Web Vulnerable di Docker
Pelajari langkah mudah membangun lab web vulnerable DVWA dengan Docker di Kali Linux Indonesia. Panduan etis untuk pemula keamanan siber.

Menjalankan lab web yang sengaja dibuat rentan di mesin lokal adalah fondasi penting bagi siapa pun yang mendalami keamanan web. Kali Linux Indonesia selalu merekomendasikan pemula untuk tidak langsung menguji situs publik, melainkan membangun laboratorium sendiri menggunakan Docker. Kita bisa memutar kontainer yang berisi DVWA (Damn Vulnerable Web Application) hanya dalam beberapa menit. Catatan ini saya tulis berdasarkan pengalaman pribadi menyiapkan lab di Kali Linux terbaru, lengkap dengan jebakan kecil yang sering bikin bingung pemula.
Persiapan dan Instalasi Docker di Kali Linux
Langkah paling awal adalah memastikan sistem Kali Linux dalam kondisi segar. Saya biasa menjalankan sudo apt update && sudo apt upgrade -y sebelum menyentuh package baru. Docker pada Kali Linux bisa dipasang lewat repository resmi dengan perintah sudo apt install docker.io. Versi yang saya pakai saat ini adalah Docker CE 24.0.7 yang sudah kompatibel dengan kernel Kali 2024.4. Setelah instalasi selesai, jangan lupa menjalankan sudo systemctl enable docker --now agar service langsung aktif dan otomatis menyala setelah reboot.
Satu kesalahan klasik adalah lupa menambahkan user ke grup docker. Tanpa ini, setiap perintah docker akan meminta sudo. Cukup jalankan sudo usermod -aG docker $USER, lalu logout dan login ulang agar perubahan berlaku. Pengujian sederhana dengan docker run hello-world akan memastikan Docker berfungsi normal. Dari sini kita sudah siap menarik image lab rentan.
Menarik dan Menjalankan DVWA
DVWA adalah proyek open source yang dikelola oleh Digininja dan telah menjadi standar latihan web hacking. Hingga tulisan ini dibuat, citra resmi di Docker Hub sudah ditarik lebih dari 10 juta kali. Kita tidak perlu mengunduh kode sumber dan mengonfigurasi PHP/MySQL manual karena Docker sudah membungkus semua dependensi. Cukup jalankan:
docker pull vulnerables/web-dvwa
Proses ini akan mengambil layer image yang cukup ringan, sekitar 800 MB. Setelah selesai, lab bisa dihidupkan dengan satu perintah:
docker run -d -p 80:80 --name dvwa-lab vulnerables/web-dvwa
Flag -d menjalankan kontainer di background, -p 80:80 memetakan port host ke port kontainer, dan --name memberi nama yang mudah diingat. Kali Linux Indonesia menganjurkan penggunaan port non-standar seperti 8080 jika port 80 sudah dipakai service lain, misalnya dengan -p 8080:80.
Begitu kontainer berjalan, buka browser di Kali dan arahkan ke http://localhost/setup.php. Halaman ini akan otomatis membuat tabel yang dibutuhkan. Klik tombol “Create / Reset Database”, lalu kita akan diarahkan ke halaman login. Kredensial default adalah admin dan password. Segera masuk ke menu “DVWA Security” dan set tingkat keamanan ke low untuk latihan awal. DVWA menyediakan empat tingkat: Low, Medium, High, dan Impossible, yang masing-masing menuntut pendekatan eksploitasi berbeda.
Eksplorasi Awal dan Etika Lab
Setelah lab hidup, saya biasanya langsung menguji koneksi dari terminal Kali dengan nmap -p 80 localhost. Ini membantu memastikan service HTTP benar-benar merespons. Dari sini, kita bisa mulai menjajal skenario seperti SQL Injection di halaman SQL Injection, atau serangan Cross-Site Scripting di bagian XSS (Stored). Setiap kerentanan disertai tombol “View Source” yang membongkar kode PHP di baliknya, jadi kita bisa belajar mengapa sebuah serangan bisa tembus.
Pendekatan yang saya pakai selalu berpegang pada satu aturan: jangan pernah mengarahkan tools Kali ke sistem yang bukan milik kita atau tanpa izin tertulis. Lab lokal seperti ini menghilangkan risiko hukum dan menyediakan lingkungan ulang yang bisa dirusak tanpa konsekuensi. Jika suatu saat Anda menemukan bug di lab dan ingin mendokumentasikannya, dokumentasi resmi DVWA bisa dijadikan acuan utama (https://github.com/digininja/DVWA) . Di sanalah Anda bisa mempelajari struktur aplikasi dan bahkan mengubah kodenya langsung di kontainer untuk eksperimen lebih lanjut.
Lab yang sudah matang bisa dihentikan kapan saja dengan docker stop dvwa-lab dan dihidupkan lagi dengan docker start dvwa-lab. Kontainer bisa dihapus total menggunakan docker rm -f dvwa-lab tanpa meninggalkan jejak di sistem host. Fleksibilitas ini sangat membantu ketika kita ingin mereset database yang sudah berantakan akibat uji coba berlebihan. Salam lab aman, semoga catatan ini berguna untuk perjalanan belajar Anda.