DVWA: instalasi Ubuntu 26.04
Instalasi DVWA Versi Terbaru di Ubuntu Server 26.04
Metode yang direkomendasikan adalah memakai Docker Compose dari repositori resmi DVWA. Image resminya berada di `ghcr.io/digininja/dvwa:latest` dan diperbarui mengikuti perubahan pada cabang `master`. Jangan memakai image lama `vulnerables/web-dvwa`, karena sudah bertahun-tahun tidak diperbarui. ([GitHub][1])
> Peringatan: DVWA memang sengaja dibuat sangat rentan. Jangan membukanya ke internet publik. Gunakan VM, jaringan laboratorium, atau akses melalui SSH tunnel. Pengembang DVWA secara resmi memperingatkan bahwa server yang terekspos internet dapat dengan mudah dikompromikan. ([GitHub][1])
1. Perbarui Ubuntu dan pasang kebutuhan dasar
sudo apt update sudo apt install -y ca-certificates curl git
Penjelasan:
- `sudo`: menjalankan perintah dengan hak administrator.
- `apt update`: memperbarui daftar paket.
- `apt install`: memasang paket.
- `-y`: otomatis menjawab “yes”.
- `ca-certificates`: memvalidasi koneksi HTTPS.
- `curl`: mengunduh data dari internet.
- `git`: mengambil source code DVWA.
2. Tambahkan repositori resmi Docker
Buat direktori untuk kunci keamanan repositori:
sudo install -m 0755 -d /etc/apt/keyrings
- `install`: membuat direktori atau menyalin file sekaligus mengatur izin.
- `-m 0755`: pemilik boleh menulis; pengguna lain boleh membaca dan masuk.
- `-d`: membuat direktori.
Unduh kunci GPG resmi Docker:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \ -o /etc/apt/keyrings/docker.asc
Arti opsi:
- `-f`: gagal bila server mengembalikan error HTTP.
- `-s`: mode senyap.
- `-S`: tetap tampilkan pesan error.
- `-L`: mengikuti pengalihan URL.
- `-o`: menentukan nama file hasil unduhan.
Atur agar kunci dapat dibaca:
sudo chmod a+r /etc/apt/keyrings/docker.asc
Tambahkan repositori Docker:
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF Types: deb URIs: https://download.docker.com/linux/ubuntu Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") Components: stable Architectures: $(dpkg --print-architecture) Signed-By: /etc/apt/keyrings/docker.asc EOF
Docker secara resmi telah mencantumkan Ubuntu Resolute 26.04 LTS sebagai sistem yang didukung. ([Docker Documentation][2])
3. Instal Docker Engine dan Docker Compose
sudo apt update sudo apt install -y \ docker-ce \ docker-ce-cli \ containerd.io \ docker-buildx-plugin \ docker-compose-plugin
Kegunaan paket:
- `docker-ce`: Docker Engine.
- `docker-ce-cli`: perintah terminal `docker`.
- `containerd.io`: pengelola runtime container.
- `docker-buildx-plugin`: fitur pembangunan image modern.
- `docker-compose-plugin`: menyediakan perintah `docker compose`.
Aktifkan Docker:
sudo systemctl enable --now docker
- `enable`: Docker dijalankan ketika server boot.
- `--now`: langsung menjalankan Docker sekarang.
Periksa instalasi:
sudo docker version sudo docker compose version
Uji Docker:
sudo docker run --rm hello-world
- `run`: menjalankan container.
- `--rm`: menghapus container pengujian setelah selesai.
Instruksi tersebut mengikuti prosedur resmi Docker untuk Ubuntu 26.04. ([Docker Documentation][2])
4. Unduh DVWA terbaru
Buat direktori laboratorium:
mkdir -p ~/lab cd ~/lab
- `mkdir`: membuat direktori.
- `-p`: tidak error apabila direktori sudah tersedia.
- `~`: direktori home pengguna.
- `cd`: masuk ke direktori.
Clone repositori resmi:
git clone --depth 1 https://github.com/digininja/DVWA.git
- `clone`: menyalin repositori Git.
- `--depth 1`: hanya mengambil commit terbaru sehingga unduhan lebih kecil.
Masuk ke direktori DVWA:
cd DVWA
5. Jalankan DVWA
Unduh image terbaru:
sudo docker compose pull
Jalankan DVWA dan MariaDB:
sudo docker compose up -d
- `up`: membuat dan menjalankan seluruh layanan pada `compose.yml`.
- `-d`: menjalankan container di belakang layar atau *detached mode*.
Periksa status:
sudo docker compose ps
Seharusnya terdapat dua layanan utama:
dvwa db
Periksa respons web:
curl -I http://127.0.0.1:4280
- `-I`: hanya mengambil HTTP header, bukan seluruh isi halaman.
Konfigurasi resmi DVWA menggunakan port:
127.0.0.1:4280
Artinya, secara bawaan DVWA hanya dapat diakses dari server itu sendiri. ([GitHub][3])
6. Akses DVWA dari komputer lain dengan SSH tunnel
Jalankan dari laptop atau komputer Anda:
ssh -L 4280:127.0.0.1:4280 nama_user@IP_SERVER
Contoh:
ssh -L 4280:127.0.0.1:4280 onno@192.168.1.50
Penjelasan:
- `ssh`: membuka koneksi aman ke server.
- `-L`: membuat *local port forwarding*.
- `4280` pertama: port pada laptop.
- `127.0.0.1:4280`: alamat DVWA pada server.
- `nama_user@IP_SERVER`: akun dan alamat server.
Biarkan terminal SSH tetap terbuka. Kemudian buka pada browser laptop:
http://127.0.0.1:4280
Metode ini paling aman karena port DVWA tidak dibuka ke seluruh jaringan.
7. Buat database DVWA
Pada browser:
1. Buka halaman Setup DVWA. 2. Klik Create / Reset Database. 3. Tunggu sampai database selesai dibuat. 4. Kembali ke halaman login.
Dokumentasi DVWA memang mengharuskan database dibuat melalui tombol tersebut. ([GitHub][1])
Login bawaan:
Username: admin Password: password
Kredensial tersebut berasal dari dokumentasi resmi DVWA. ([GitHub][1])
8. Membuka DVWA ke jaringan laboratorium
Lakukan hanya apabila DVWA harus diakses langsung oleh VM attacker seperti Kali Linux atau CachyOS.
Cari IP privat server:
ip -br address
Contoh IP server:
192.168.1.50
Edit konfigurasi:
nano compose.yml
Cari:
ports: - 127.0.0.1:4280:80
Ganti dengan IP privat server:
ports: - 192.168.1.50:4280:80
Simpan di Nano:
Ctrl+O Enter Ctrl+X
Terapkan perubahan:
sudo docker compose up -d --force-recreate
- `--force-recreate`: membuat ulang container meskipun konfigurasi dianggap tidak berubah.
Sekarang akses dari VM attacker:
http://192.168.1.50:4280
Jangan menggantinya dengan `0.0.0.0:4280:80` pada server yang terhubung ke internet. Docker juga memperingatkan bahwa port container yang dipublikasikan dapat melewati sebagian aturan UFW; karena itu, mengikat port langsung ke IP jaringan laboratorium lebih aman daripada membuka semua antarmuka. ([Docker Documentation][2])
9. Melihat log bila terjadi error
sudo docker compose logs --tail=100
- `logs`: menampilkan log container.
- `--tail=100`: hanya menampilkan 100 baris terakhir.
Mengikuti log secara langsung:
sudo docker compose logs -f
- `-f`: terus mengikuti log baru, seperti `tail -f`.
- Tekan `Ctrl+C` untuk berhenti melihat log; container tetap berjalan.
== 10. Menghentikan dan menjalankan kembali
Berhenti sementara:
sudo docker compose stop
Jalankan kembali:
sudo docker compose start
Hentikan dan hapus container serta network:
sudo docker compose down
Database tetap tersimpan karena berada di Docker volume.
Untuk menghapus DVWA beserta seluruh database:
sudo docker compose down -v
- `-v`: menghapus volume.
- Perintah ini menghapus seluruh data dan hasil latihan DVWA.
== 11. Memperbarui DVWA ke versi terbaru
cd ~/lab/DVWA git pull --ff-only sudo docker compose pull sudo docker compose up -d
- `git pull`: mengambil source terbaru.
- `--ff-only`: mencegah Git membuat merge yang tidak diinginkan.
- `docker compose pull`: mengunduh image terbaru.
- `docker compose up -d`: menerapkan versi terbaru.
Untuk memastikan image yang sedang dipakai:
sudo docker image inspect ghcr.io/digininja/dvwa:latest \ --format 'Template:.Id Template:.Created'
Instalasi akhirnya menjadi:
Ubuntu Server 26.04
│
├── Docker Engine
├── DVWA resmi terbaru
├── MariaDB
└── http://127.0.0.1:4280
[1]: https://github.com/digininja/DVWA/ "GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA) · GitHub" [2]: https://docs.docker.com/engine/install/ubuntu/ "Install Docker Engine on Ubuntu | Docker Docs" [3]: https://github.com/digininja/DVWA/blob/master/compose.yml "DVWA/compose.yml at master · digininja/DVWA · GitHub"