Facebook Twitter

IPTABLES

Apa itu iptables?

IPTABLES adalah suatu tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap (traffic) lalulintas data. Secara sederhana digambarkan sebagai pengatur lalulintas data. Dengan iptables inilah kita akan mengatur semua lalulintas dalam komputer kita, baik yang masuk ke komputer, keluar dari komputer, ataupun traffic yang sekedar melewati komputer kita. Kita bisa mengkonfigurasi iptables di rc.local.

Ini dia soal dan script yang kelompok saya kerjakan di rc.local
a. Semua subnet tidak dapat mengakses port 21, 443, 66 pada DMZ kecuali subnet KEBUN BIBIT sedangkan port TCP yang diijinkan mengakses DMZ adalah port 80, 8080, 22
iptables -A FORWARD -p tcp -i eth0 -s 172.16.2.0/24 -d 10.151.77.8/29 -m multiport --dport 21,443,66 -j ACCEPT
iptables -A FORWARD -p tcp -i eth0 -s 0.0.0.0/0 -d 10.151.77.8/29 -m multiport --dport 80,8080,22 -j ACCEPT

b. Mengijinkan semua akses UDP ke DMZ
iptables -A FORWARD -p udp -i eth0 -s 0.0.0.0/0 -d 10.151.77.8/29 -j ACCEPT

c. Subnet tidak dapat di PING dari luar selain subnet AJK dan jaringan internal
iptables -A FORWARD -p icmp -i eth0 -s  172.16.0.0/16 -d 10.151.77.8/29 -j ACCEPT
iptables -A FORWARD -p icmp -i eth0 -s 10.151.76.0/24 -d 10.151.77.8/29 -j ACCEPT

d. Koneksi kepada DMZ melalui ssh dibatasi sebanyak 5 koneksi
iptables -A FORWARD -p tcp -i eth1 -d 10.151.77.8/29 --syn --dport 22 -m connlimit --connlimit-above 5 -j REJECT

e. Buatlah sebuah perintah Iptables untuk mengatasi synflood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j REJECT

f. Buatlah perintah Iptables untuk mengatasi force ssh attack
iptables -I FORWARD -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -I FORWARD -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j REJECT

g. Buatlah Iptables untuk memblok paket scanning. Contoh : xmas, fin scan
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j REJECT
Force Fragments packets check

iptables -A FORWARD -f -j REJECT
XMAS packets

Incoming malformed XMAS packets REJECT them:

iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j REJECT
REJECT all NULL packets

Incoming malformed NULL packets:

iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j REJECT
Block Spoofing and bad addresses

h. Subnet TAMAN BUNGKUL hanya diakses oleh subnet KEBUN BIBIT, subnet PLASA SURABAYA hanya diakses ketika jam (08.00-16.00), subnet SUTOS tidak bisa melakukan koneksi ke Yahoo Messenger dan Facebook serta tidak bisa melakukan streaming video pada hari dan jam kerja (senin-jumat 07.00-17.00)
monkasel:
iptables -A FORWARD -p all -i eth0 -s ! 172.16.2.0/24 -d 172.16.0.0/23 -j REJECT
siola
iptables -A FORWARD -p all -s 0/0 -d 172.168.4.0/25 -m time --timestart 09:00 --timestop 16:00 -j ACCEPT
stasiun gubeng
iptables -A FORWARD -p all -s 0/0 -s 172.16.3.0/24 -d 173.252.110.27 -m time --timestart 07:00 --timestop 17:00 -j REJECT
iptables -A FORWARD -p all -s 0/0 -s 172.16.3.0/24 -d 68.180.190.124 -m time --timestart 07:00 --timestop 17:00 -j REJECT

i. Selain DMZ gunakan NAT untuk mengakses jaringan luar (tidak boleh mengunakan masquerade)
iptables -t nat -A POSTROUTING -s 10.151.77.8/29 -o eth0 -j SNAT --to-source 10.151.76.6
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth0 -j MASQUERADE

j. Catat semua log yang di drop oleh firewall
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP