Peraturan iptables yang sering dipakai
Karena setting default setiap VPS itu berbeda tergantung sistem operasinya dan providernya maka seringkali firewall yang digunakan juga kosongan. Bisa dikatakan 50-50 lah ada aturan dasar iptables
dan yang lainnya memperbolehkan semua koneksi. Hal ini sangat tidak disarankan untuk dibiarkan karena bisa menambah kerja server kalau semua permintaan diproses, baik valid maupun tidak. Karena itulah saa sampai memiliki catatan peraturan iptables yang sering digunakan.
Akan saya pisah per fungsi rulenya, jadi silahkan pilih saja yang cocok dengan kebutuhan anda. Tapi saya sangat menganjurkan pahami dulu baru diterapkan. Kalau sampai anda terkunci dari VPS anda ya repot nantinya.
Memperbolehkan akses SSH yang masuk pada port 22:
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 --state ESTABLISHED -j ACCEPT
Akses ke loopback (biasanya 127.0.0.1):
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Mengijinkan koneksi HTTP (port 80):
iptables -A INPUT -i -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
Mengijinkan koneksi HTTPS (port 443):
iptables -A INPUT -i -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
Memperbolehkan koneksi yang dimulai dari VPS tersebut dan tentu saja koneksi yang masuk yang berhubungan juga sama:
iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Fungsinya? Koneksi DNS/cek hostname, update Linux dan seterusnya. Semuanya dimulai dari dalam VPS. Cocok bagi yang tidak ingin repot membuat detail peraturan koneksinya.
Memperbolehkan Ping:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Mengijinkan koneksi DNS:
iptables -A OUTPUT -p udp -o --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i --sport 53 -j ACCEPT
Mengijinkan SMTP:
iptables -A INPUT -i -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
Dan kalau anda sudah mensetting semua peraturan koneksi yang diperbolehkan bisa memblokir yang lainnya. Saya peringatkan dulu, pastikan peraturan anda benar karena kalau salah bisa ditendang dari VPS sesi SSH anda setelah memasang rule yang ini.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Manfaatnya apa? Selain koneksi yang anda perbolehkan sisanya akan dibuang tanpa pesan (DROP
). Menghemat resource VPS jadinya. Secara default iptables memperbolehkan semua sambungan dan ini tergantung sibuk tidaknya VPS anda bisa berpengaruh terhadap kinerja, soalnya setiap request akan diproses.
Membersihkan peraturan iptables:
iptables -F
Sekali lagi, harap teliti dan hati – hati! Bila sudah terlanjur maka anda bisa mencoba meresetnya dari sesi SSH yang masih aktif atau lewat Emergency Console dari panel VPS anda.