Langsung saja kita bahas seputar IPTABLES. Apa itu
IPTABLES?
Iptables adalah suatu tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap (trafic) 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.
Ada beberapa istilah penting dalam IPTABLES ini ,diantaranya chain dan target.
Iptables adalah suatu tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap (trafic) 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.
Ada beberapa istilah penting dalam IPTABLES ini ,diantaranya chain dan target.
Chain/rantai digambarkan sebagai jalur aliran data.
Chain pada IPTables:
- INPUT –
Semua paket yang ditujukan untuk host komputer.
- OUTPUT –
Semua paket yang berasal dari host komputer.
- FORWARD –
Semua paket yang bukan dari atau untuk komputer host, tetapi melalui
komputer host. Tabel ini digunakan jika komputer sebagai router.
Sedangkan target adalah tujuan perlakuan terhadap rule. Pada target ini terletak keputusan, paket data mau diapakan, apakah mau di tolak, atau diteruskan atau diolah terlebih dahulu. Berikut daftar table target iptables.
ACCEPT Rantai paket tersebut diterima dalam rule
DROP Rantai paket tersebut “dijatuhkan”
REJECT Rantai paket tersebut ditolak seperti DROP
DNAT Rantai paket di “destination nat” kan ke address lain
SNAT Rantai paket di arahkan ke source nat tertentu
REDIRECT Rantai paket di redirect ke suatu addres dan port tertentu
MASQUERADE Bekerja seperti SNAT tapi tidak memerlukan source
REJECT Bekerja seperti DROP
Beberapa contoh target dan sintaksnya
Beberapa
contoh command
Beberapa contoh TCP matches
Berikut contoh kasus IPTABLES pada soal shift jarkom modul 5
Soal
Soal
- Semua
subnet tidak dapat mengakses TCP port 21, 443, 66 pada DMZ kecuali
KEBUN_BIBIT sedangkan port TCP yang diizinkan untuk mengakses DMZ adalah
port 80, 8080, 22.
- Mengijinkan
semua akses UDP ke DMZ.
- Subnet DMZ
tidak dapat di PING dari luar selain subnet AJK dan jaringan internal.
- Koneksi
kepada DMZ melalui ssh dibatasi sebanyak 5 koneksi.
- Buatlah
sebuah perintah iptables untuk mengatasi synflood
- Buatlah
sebuah perintah iptables untuk mengatasi force ssh attack.
- Buatlah
perintah iptables untuk memblok paket scanning. Contoh: xmas, file scan.
- Subnet
taman_bungkul hanya bisa diakses oleh subnet kebun_bibit, subnet plasa_surabaya hanya
bisa diakses ketika jam kerja (08.00 – 16.00), subnet sutos tidak bisa
melakukan koneksi ke YM dan Facebook serta tidak bisa melakukan streaming
video pada hari dan jam kerja (senin-jumat 07.00-17.00).
- Selain DMZ
gunakan NAT untuk mengakses jaringan luar (tidak boleh menggunakan
masquerade).
- Catat semua log yang
di-drop oleh firewall.
Jawaban :
1.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 21 -j
REJECT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 443 -j
REJECT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 66 -j
REJECT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 21 -s
192.168.40.0/22 -j ACCEPT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 443 -s
192.168.40.0/22 -j ACCEPT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 66 -s
192.168.40.0/22 -j ACCEPT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 80 -j
ACCEPT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 8080
-j ACCEPT;
iptables -A FORWARD -p tcp -d 10.151.71.80/29 --dport 22 -j
ACCEPT;
2.
#allow udp access
iptables -A FORWARD -p udp -d 10.151.71.80/29 -j ACCEPT;
3.
#ping DMZ only from ajk and internal
iptables -A FORWARD -p icmp -d 10.151.71.80/29 -s
10.151.36.0./24 --icmp-type echo-request -j ACCEPT;
iptables -A FORWARD -p icmp -d 10.151.71.80/29 -s
10.151.0.0/22 --icmp-type echo-request -j ACCEPT;
4. Koneksi kepada DMZ melalui ssh dibatasi sebanyak 5
koneksi.
iptables -A INPUT -p tcp -d --dport 22 -i eth0 -m state
--state NEW -m recent --set;
iptables -A INPUT -p tcp -d --dport 22 -i eth0 -m state
--state NEW -m recent --update --seconds 1 --hitcount 5 -j REJECT;
5. iptables untuk mengatasi synflood
iptables -N syn-flood
iptables -A syn-flood -m limit --limit 10/second
--limit-burst 50 -j RETURN
iptables -A syn-flood -j LOG --log-prefix "SYN flood:
"
iptables -A syn-flood -j DROP
6. Perintah IP Tables untuk mengatasi SSH Attack
iptables -A INPUT -i _eth0_ -p tcp --dport 22 -m state
--state NEW -m recent --set --name SSH
iptables -A INPUT -i _eth0_ -p tcp --dport 22 -m state
--state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j
DROP
membatasi akses SSH yang masuk tak lebih dari 8 akses
permenit
7. Buatlah perintah iptables untuk memblok paket scanning.
Contoh: xmas, file scan.
XMAS
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
Drop all NULL packets
iptables -A INPIT -p tcp --tcp-flags ALL NONE -j DROP
8.
#Subnet taman_bungkul hanya bisa diakses oleh subnet
kebun_bibit
iptables -A FORWARD -p tcp -d 192.168.60.0/22 -s
192.168.40.0/21 -j ACCEPT;
iptables -A FORWARD -p tcp -d 192.168.60.0/22 -j REJECT;
#plasa surabaya hanya diakses jam kerja
iptables -A FORWARD -p tcp –d 192.168.62.0/23 -m time
--timestart 08:00 --timestop 16:00 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT;
iptables -A FORWARD -p tcp –d 200.200.200.64/26 -j REJECT;
#subnet sutos tidak bisa melakukan koneksi ke YM dan
Facebook serta tidak bisa melakukan streaming video pada hari dan jam kerja
(senin-jumat 07.00-17.00)
iptables -A FORWARD -p tcp -d 200.200.201.0/24 -m time
--timestart 07:00 --timestop 17:00 --weekdays Mon,Tue,Wed,Thu,Fri -j REJECT
iptables -A FORWARD -p tcp –s 10.151.72.56/30 --dport
5000:5010 -m time --timestart 07:00 --timestop 17:00 --weekdays
Mon,Tue,Wed,Thu,Fri -j REJECT
iptables -A FORWARD -p tcp -d www.facebook.com –s
192.168.44.0 -m time --timestart 07:00 --timestop 17:00 --weekdays
Mon,Tue,Wed,Thu,Fri -j REJECT
iptables -A FORWARD -p tcp -d www.messenger.yahoo.com –s
192.168.44.0 -m time --timestart 07:00 --timestop 17:00 --weekdays
Mon,Tue,Wed,Thu,Fri -j REJECT
iptables -A FORWARD -p tcp -d www.youtube.com –s
192.168.44.0 -m time --timestart 07:00 --timestop 17:00 --weekdays
Mon,Tue,Wed,Thu,Fri -j REJECT
9.iptables -t nat -A POSTROUTING -o ppp0 -j SNAT \ --to
$PPPIP
10. Lihat di /var/log/firewall, warn, messages -clutter