Konfigurasi DMZ di Debian 6 Squeeze dengan Iptables
DMZ? Wah nama baru nih. Nama makanan apa ya itu? Hehe. Bukan nama makanan kok. Saya juga waktu awal kenal yang namanya DMZ agak aneh juga. Apa salah mau ngetik DNS jadinya DMZ? Ternyata bukan. Memang ada yang namanya DMZ. DMZ itu singkatan dari De-Militarized Zone yang merupakan mekanisme untuk melindungi sistem internal dari serangan hacker atau pihak-pihak lain yang ingin memasuki sistem tanpa mempunyai hak akses. Sehingga karena DMZ dapat diakses oleh pengguna yang tidak mempunyai hak, maka DMZ tidak mengandung rule. Secara esensial, DMZ melakukan perpindahan semua layanan suatu jaringan ke jaringan lain yang berbeda. DMZ terdiri dari semua port terbuka, yang dapat dilihat oleh pihak luar. Sehingga jika hacker menyerang dan melakukan cracking pada server yang mempunyai DMZ, maka hacker tersebut hanya dapat mengakses host yang berada pada DMZ, tidak pada jaringan internal.
Bisa dilihat pada gambar diatas, jika kita telah membuat suaru area DMZ, maka seluruh akses dari internet tidak akan bisa masuk ke jaringan lokal. Tapi hanya mentok sampai host yang ada di area DMZ saja.
Pengimplementasian DMZ yang paling sering saya lakukan adalah dengan membuat sebuah webserver lokal yang dapat diakses dari internet dengan teknik NAT (Network Address Translation) dan PAT (Port Adresses Translation).
Lalu bagaimanakah cara konfigurasi DMZ di Debian 6 Squeeze?
DMZ di Debian sebenarnya hanyalah hasil dari penerapan rule-rule di firewall. Sekarang coba lihat terlebih dahulu gambar topologi dibawah ini :
Disitu terlihat ada 5 buah Server yang memiliki tugas masing-masing yang berada di area DMZ. Sekarang kita akan membuat bagaimana caranya apabila ketika seseorang mengakses ip publik jaringan kita, ia akan dialihkan secara otomatis ke area DMZ.
1. Buatlah sebuah file di direktori /etc/network/if-up.d/ bernama iptables-dmz :
# nano /etc/network/if-up.d/iptables-dmz
2. Isikan didalam file tersebut script dibawah ini :
#!/bin/sh
#Memperbolehkan akses forward dan keluar jaringan
iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# DMZ untuk DNS
iptables -A INPUT -p tcp -d 200.100.1.1 --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 200.100.1.1 --dport 53 -j DNAT --to 192.168.1.2:53
iptables -A INPUT -p udp -d 200.100.1.1 --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.1.2 --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -p udp -d 200.100.1.1 --dport 53 -j DNAT --to 192.168.1.2:53
#DMZ untuk Webserver
iptables -A INPUT -p tcp -d 200.100.1.1 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.1.3 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 200.100.1.1 --dport 80 -j DNAT --to 192.168.1.3:80
#DMZ untuk FTP
iptables -A INPUT -p tcp -d 200.100.1.1 --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.1.4 --dport 21 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 200.100.1.1 --dport 21 -j DNAT --to 192.168.1.4:21
#DMZ untuk FTP Passive
iptables -A INPUT -p tcp -m multiport -d 200.100.1.1 --dport 5000:5005 -j ACCEPT
iptables -A FORWARD -p tcp -m multiport -d 192.168.1.4 --dport 5000:5005 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m multiport -d 200.100.1.1 --dport 5000:5005 -j DNAT --to 192.168.1.4
#DMZ untuk Mail
iptables -A INPUT -p tcp -m multiport -d 200.100.1.1 --dport 80,25,110,143 -j ACCEPT
iptables -A FORWARD -p tcp -m multiport -d 192.168.1.5 --dport 80,25,110,143 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m multiport -d 200.100.1.1 --dport 80,25,110,143 -j DNAT --to 192.168.1.5
#DMZ untuk Samba
iptables -A INPUT -p udp -m multiport -d 200.100.1.1 --dport 137:139 -j ACCEPT
iptables -A FORWARD -p udp -m multiport -d 192.168.1.6 --dport 137:139 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m multiport -d 200.100.1.1 --dport 137:139 -j DNAT --to 192.168.1.6
exit 0
Simpanlah file tersebut dan jangan lupa berilah hak akses executable :
# chmod +x /etc/network/if-up.d/iptables-dmz
3. Restart komputer kalian.
4. Sekarang cobalah untuk mengakses masing-masing servis tetapi jangan menggunakan ip lokal milik server, melainkan menggunakan ip publiknya.
Buka browser dan akses web ke alamat : http://200.100.1.1
Buka browser dan akses ftp ke alamat : ftp://200.100.1.1
Buka browser dan akses webmail (squirrelmail) ke alamat : http://200.100.1.1/squirrelmail
Buka File Manager (Nautilus jika di client Ubuntu dan Windows Explorer jika di client Windows) dan akses Samba file sharing ke : smb://200.100.1.1 (client Ubuntu) atau \\200.100.1.1 (client Windows)
Jika berhasil maka seluruh servis yang biasanya hanya dapat dibuka melalui ip lokal saja, sekarang juga dapat diakses dari ip publik yang berada di internet. Dengan konfigurasi ini pula, seluruh serangan yang dilancarkan oleh seseorang dari luar jaringan tidak akan bisa masuk ke jaringan internal, melainkan hanya bisa sampai ke area DMZ saja.
Semoga bermanfaat :)
Sumber : http://www.linuxku.com/2012/12/konfigurasi-dmz-di-debian-6-squeeze.html