Ada beberapa OS yang bisa menggunakan iptables sebagai firewall, salah satunya adalah Ubuntu.
Untuk melihat apakah iptable saat ini jalan atau tidak, bisa menggunakan perintah :
sudo iptables -L
Perintah tersebut akan menampilkan tiga chain yaitu input, forward dan output.
Contoh tampilannya adalah sebagai berikut :
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Nama chain menunjukkan traffic akan dilewatkan di rule yang mana.
input adalah semua traffic yang akan menuju ke server
output adalah semua traffic yang keluar dari server
forward adalah traffic yang akan melewati server
Untuk menambah rule, bisa menggunakan perintah :
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
setelah menambah rule, dapat dicek kembali apakah rule tersebut sudah terpasang dengan perintah : sudo iptables -L
misal kita akan menambah port ssh (default port 22), kita bisa menggunakan perintah :
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
Jika ingin menambahkan tule untuk akses HTTP/webserver, kita bisa menggunakan perintah :
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Setelah add semua rule yang diinginkan, tambahkan aturan input untuk drop
sudo iptables -P INPUT DROP
PERHATIAN : saat menambahkan rule drop, pastikan semua rule yang dibutuhkan sudah di accept, minimal SSH
Rule yang sama dapat menggunakan perintah yang sama, tinggal merubah chain name (Input, output, forward) dan memilih DROP (jika ingin di blok) dan ACCEPT (jika ingin diberikan akses)
Apabila server direstart, configurasi iptables akan terhapus. Untuk menghindari itu, maka simpan rule tersebut di file
sudo iptables-save > /etc/iptables/rules.v4
untuk restore rule yang disimpan, bisa menggunakan perintah :
# Overwrite rule yang sudah ada sudo iptables-restore < /etc/iptables/rules.v4 # menambahkan rule baru tanpa menghapus/overide rule yang sudah ada sudo iptables-restore -n < /etc/iptables/rules.v4
Kita bisa mengotomatiskan proses restore saat reboot dengan meninstall paket tambahan yaitu iptables-persistent
Untuk install bisa menggunakan perintah :
sudo apt-get install iptables-persistent
Kita juga bisa melihat iptables berdasarkan urutan. Untuk melihatnya gunakan perintah :
sudo iptables -L --line-numbers
Tampilan akan memperlihatkan nomor urutan dibaris depan
Chain INPUT (policy DROP) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED 2 ACCEPT tcp -- anywhere anywhere , dpt:ssh 3 ACCEPT tcp -- anywhere anywhere tcp dpt:http
apabila kita menambahkan, maka secara automatis rule akan di urutan paling akhir. Kita bisa menambahkan rule di urutan atas. Misal kita ingin menambahkan rule dan rule tersebut ada di index nomor 1, maka bisa menggunakan perintah :
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
Jika ingin me-remove rule yang sudah ada, misal ingin menghilangkan rule di index nomor 2. maka kita bisa menggunakan perintah :
sudo iptables -D INPUT 2
Jika ingin me-remove semua rule dan dikembalikan ke rule default.
PERHATIAN : Sebelum melakukan flush rule, sebelumnya rule default diset ACCEPT terlebih dahulu
sudo iptables -P INPUT ACCEPT
Setelah itu, baru di-flush
# Clear input chain sudo iptables -F INPUT # Flush the whole iptables sudo iptables -F