Belajar keamanan siber membutuhkan lingkungan praktik yang aman dan terkendali. Tanpa lab yang tepat, seorang pemula mungkin tergoda untuk mencoba teknik yang dipelajari pada sistem yang bukan miliknya — tindakan yang tidak etis dan berpotensi melanggar hukum. Untuk menghindari risiko tersebut, Docker hadir sebagai alat yang sangat membantu. Docker memungkinkan Anda menjalankan aplikasi dalam kontainer yang terisolasi dari sistem utama, sehingga setiap eksperimen dapat dilakukan tanpa merusak instalasi host atau meninggalkan jejak permanen.
Dengan Docker, membangun target latihan menjadi jauh lebih mudah. Kontainer dapat dibuat, dijalankan, dihentikan, dan dihapus dalam hitungan detik. Jika sebuah target rusak atau terlanjur kotor karena percobaan, Anda cukup menghapus kontainer dan membuat ulang dari image yang sama. Pendekatan ini sangat cocok untuk lab keamanan yang sekali pakai dan mudah dihapus, seperti yang akan kita bahas dalam tutorial ini. Penting untuk diingat: semua latihan hanya boleh dilakukan pada sistem milik sendiri atau yang Anda dapatkan izin tertulis untuk mengujinya.
Mengapa Docker Cocok untuk Lab Keamanan
Docker menjalankan aplikasi dalam kontainer yang terisolasi dari sistem utama. Isolasi ini menggunakan fitur kernel Linux seperti namespace dan cgroups untuk membatasi akses kontainer ke sumber daya host, seperti proses, jaringan, dan sistem berkas. Meskipun isolasi kontainer tidak seketat isolasi mesin virtual, untuk keperluan lab latihan keamanan hal ini sudah cukup memadai — terutama karena kita hanya akan menjalankan target yang sengaja dibuat rentan di lingkungan lokal.
Keunggulan utama Docker untuk lab keamanan adalah sifatnya yang sekali pakai dan mudah dibuang. Anda dapat membuat kontainer target, melakukan berbagai percobaan, lalu menghapusnya tanpa meninggalkan sisa di sistem utama. Jika target mengalami kerusakan atau konfigurasinya berantakan, Anda tinggal membuat ulang dari image yang sama dalam hitungan detik. Ini sangat berbeda dengan menginstal aplikasi rentan langsung di sistem operasi utama, yang bisa meninggalkan banyak berkas dan layanan yang sulit dibersihkan.
Selain itu, kontainer sangat ringan. Docker tidak memerlukan alokasi RAM atau ruang disk sebesar mesin virtual penuh, sehingga Anda bisa menjalankan beberapa target sekaligus di komputer dengan spesifikasi standar. Kemudahan ini membuat proses belajar lebih fokus pada materi keamanan, bukan pada urusan instalasi dan pemeliharaan lingkungan.
Persiapan Awal: Instalasi Docker dan Memilih Image Target
Sebelum membuat lab, pastikan Docker sudah terpasang di sistem Anda. Pada distribusi Linux berbasis Debian atau Ubuntu, Anda dapat menginstalnya dengan perintah berikut di terminal:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
Untuk pengguna Windows atau macOS, cara termudah adalah mengunduh dan memasang Docker Desktop dari situs resmi Docker. Setelah instalasi selesai, pastikan Docker berjalan dengan menjalankan perintah docker --version — jika muncul nomor versi, berarti Docker siap digunakan.
Langkah berikutnya adalah memilih image target yang akan dijadikan korban latihan. Image adalah cetakan dasar untuk membuat kontainer. Untuk latihan keamanan web, salah satu image yang umum dipakai adalah DVWA — Damn Vulnerable Web Application. Aplikasi ini sengaja dibuat dengan berbagai celah keamanan untuk tujuan edukasi. Anda dapat menarik image tersebut dengan perintah:
docker pull vulnerables/web-dvwa
Setelah image berhasil diunduh, jalankan kontainer dari image tersebut dan petakan port internal kontainer ke port lokal mesin Anda. Contoh perintahnya:
docker run -d -p 80:80 vulnerables/web-dvwa
Opsi -d menjalankan kontainer di latar belakang, sedangkan -p 80:80 memetakan port 80 kontainer ke port 80 host. Setelah perintah dijalankan, buka peramban dan akses http://localhost — Anda akan melihat halaman DVWA yang siap digunakan sebagai target latihan. Ingat, target ini hanya untuk lingkungan lokal Anda sendiri, bukan untuk diakses dari luar.
Menjalankan dan Mengelola Kontainer Sekali Pakai
Setelah kontainer target berjalan, Anda perlu mengetahui cara mengelolanya. Perintah dasar yang sering dipakai adalah:
docker ps— menampilkan daftar kontainer yang sedang berjalan.docker ps -a— menampilkan semua kontainer, termasuk yang sudah berhenti.docker stop <nama atau ID kontainer>— menghentikan kontainer.docker rm <nama atau ID kontainer>— menghapus kontainer yang sudah berhenti.docker rmi <nama image>— menghapus image dari penyimpanan lokal.
Siklus hidup kontainer dalam lab keamanan biasanya singkat: buat, gunakan untuk latihan, hentikan, lalu hapus. Setelah selesai bereksperimen, sangat disarankan untuk menghentikan dan menghapus kontainer agar tidak ada proses yang berjalan di latar belakang dan tidak ada data yang tertinggal. Anda bisa menggabungkan perintah docker stop dan docker rm dalam satu langkah, atau menggunakan opsi --rm saat pertama kali menjalankan kontainer. Contoh:
