Iptables dapat disimpulkian sebagai software yang bertugas untuk membuat filter pada server, atau umumnya lebih dikenal dengan sebutan firewall.
Sama seperti Linux pada umunya, konfigurasi iptables pada Ubuntu dengan menggunakan perintah iptables-save untuk menyimpan, dan iptables-restore untuk menjalankan atau mengaktifkannya, begitu juga dengan perintah filter, nat dan mangle.
Untuk jelasanya anda bisa membacanya pada tutorial help di Ubuntu, disana akan dijelaskan secara detail bagaimana cara penggunaan atau konfigurasi iptables pada Ubuntu, mulai dari save, edit sampai dengan pengaktifan menggunakan command line.
Berikut contoh konfigurasi sederhananya
sudo nano /etc/iptables.rules
copykan kode berikut ini
*filter :INPUT ACCEPT [368:102354] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [92952:20764374] -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT -I INPUT 2 -p icmp --icmp-type echo-request -j ACCEPT -A INPUT -j DROP COMMIT
Setelah itu kita akan cek apakah iptables sudah aktif pada server kita, ketikkan perintah:
sudo iptables -xvL
contoh hasil
Chain INPUT (policy ACCEPT 24 packets, 1776 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 13 packets, 1316 bytes) pkts bytes target prot opt in out source destination
Keterangan diatas menjelaskan bahwa iptables belum aktif pada server, oleh karena itu jalankan perintah untuk mengaktifkan iptables, ketikkan perintah dibawah:
sudo iptables-restore < /etc/iptables.rules
Setelah itu silahkan cek kembali iptables dengan perintah seperti diatas
sudo iptables -xvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all — lo any anywhere anywhere 0 0 ACCEPT all — any any anywhere anywhere state RELATED,ESTABLISHED 0 0 ACCEPT tcp — any any anywhere anywhere tcp dpt:ssh 0 0 ACCEPT tcp — any any anywhere anywhere tcp dpt:www 0 0 DROP all — any any anywhere anywhere
Terlihat pada keterangan diatas bahwa iptables sudah berjalan dan terdapat filter untuk ssh dan webserver, nah sekarang tinggal memikirkan gimana caranya supaya perintah diatas bisa jalan berbarengan dengan server hidup atau menyala.
Langkah pertama buat script sederhana untuk mematikannya, ketikkan perintah berikut :
sudo nano /etc/iptables.shutdown
copykan code berikut:
echo "Stopping Firewall..." iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT
sudo chomd 755 /etc/iptables.shutdown
Langkah Kedua buat script. untuk startupnya :
sudo nano /etc/init.d/iptables
copykan perintah dibawah:
#!/bin/bash ### BEGIN INIT INFO # Provides: iptables # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO if [ "$1" == "start" ] ; then sudo iptables-restore < /etc/iptables.rules echo 'Starting Firewall....' elif [ "$1" == "restart" ] ; then sudo /etc/iptables.shutdown echo 'Starting Firewall....' sudo iptables-restore < /etc/iptables.rules else sudo /etc/iptables.shutdown fi
lanjutkan dengan perintah berikut:
sudo chmod 755 /etc/init.d/iptables
Langkah terakhir adalah membuat symbolik link ke /etc/rc.d dengan menggunakan perintah update-rc.d
sudo update-rc.d iptables start 20 2 3 4 5 . stop 99 0 1 6 .
Sampai dengan langkah ini, jika ingin mengaktifkan iptables sobat tinggal ketikkan perintah:
sudo service iptables start
dan untuk mematikannya
sudo service iptables stop
Jika sobat ingin menambahkan atau mengedit perintah iptables, editlah konfigurasi yang ada di iptables.rules, seperti biasa setelah selesai, simpan file dan jalankan perintah stop dan start diatas.