Friday, January 6, 2012

FIREWALL -- IPTABLES (IPCHAINS)

Dalam operasi linux sebuah firewall bisa disetting dengan keinginan sendiri melalui command line atau shell. Di linux sendiri ada aplikasi iptables yang membantu kita dalam melakukan filter layaknya aplikasi firewall di windows.
Dalam tabel filter terdapat 3 buah build-in chains (susah dibahasa indonesiakan) dimana kita bisa meletakkan aturan-aturan untuk firewall kita. Nah mulai puyeng ya…? Kita lanjutin ke pembahasan aja….. :)

Berikut 3 buah “rantai” seperti tersebut :
1. INPUT (untuk paket yang ditujukan ke firewall kita)
2. FORWARD (untuk paket yang di route lewat firewall kita, misalnya sebagai server yang menghubungkan jaringan local ke jaringan internet.
3. OUTPUT (untuk paket yang berasal dari firewall)

Target And Jumps

Setiap rule yang ada di firewall akan mencoba mengidentifikasi setiap paket yang ada di “rantai”, jika sesuai maka akan dianggap sebagai target, kemudian akan diarahkan ke proses selanjutnya, atau istilahnya di jump over ke proses selanjutnya. Atau kata sederhananya apa yang akan dilakukan jika terdapat paket yang cocok dengan rule??
Berikut adalah beberapa Jumps yang populer :
1. ACCEPT (proses di iptables selesai, dan paket dilanjutkan ke tempat seharusnya, misalnya applikasi tujuan)
2. DROP (proses di iptables selesai, dan paket diblock)
3. REJECT (proses di iptables selesai, dan paket diblock lalu mengirimkan pesan ke host pengirim bahwa paket diblock)

Selanjutnya adalah COMMANDS yang bisa kita digunakan :
Oh iya ada juga nih aturan penulisannya untuk masing-masing commands yang digunakan berikut kejelasannya :
iptables [-t table] -[AD] chain rule-specification [options]
iptables [-t table] -I chain [rulenum] rule-specification [options]
iptables [-t table] -R chain rulenum rule-specification [options]
iptables [-t table] -D chain rulenum [options]
iptables [-t table] -[LFZ] [chain] [options]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target [options]
iptables [-t table] -E old-chain-name new-chain-name
-t = menentukan nama tabel (filter, nat, mangle, raw). jika tidak ditulis, maka defaultnya adalah “filter”.

ket : chain ==> misalnya INPUT, OUTPUT, atau FORWARD
rulenum ==> nomor urut aturan dalam chain
target ==> seperti yang dijelaskan pada bagian target and jumps di atas

nah, ini commandsnya :
1. -A ==> menambahkan rule di baris terakhir chain yang ditentukan.
(iptables -A INPUT -j DROP : semua paket yang masuk ke chain INPUT akan di DROP)
2. -D ==> menghapus rule yang ada di chain tertentu, ada dua jenis penghapusan, yaitu dengan nomor urut rule (rulenum) atau dengan pencocokan rule-specification.
(iptables -D INPUT 1, atau iptables -D INPUT -s 10.14.210.100 -j DROP : yg pertama adalah menghapus rule pertama di chain input, yang kedua adalah menghapus rule yang cocok dengan spesifikasi tersebut di chain INPUT)
3. -I ==> menambahkan rule di baris dan chain yang ditentukan.
(iptables -I INPUT 1 –dport 80 -j ACCEPT : menambahkan rule di urutan pertama pada chain INPUT)
4. -R ==> mereplace rule yang ada di chain berdasarkan rulenum.
(iptables -R INPUT 1 -s 192.168.0.1 -j DROP : menimpa rule nomor satu di chain INPUT dengan rule baru tersebut)
5. -L ==> menampilkan daftar rule seluruhnya atau di chain tertentu jika jenis chain ditentukan.
(iptables -L INPUT : menampilkan semua rule yang ada di chain INPUT)
6. -F ==> menghapus semua rule atau semua rule di chain tertentu jika jenis chain ditentukan.
(iptables -F : menghapus semua rule yang ada di semua chain)
7. -Z ==> untuk meng-nol-kan semua counter yang di chain tertentu, misalkan coba -v, setelah itu gunakan -Z, lalu lihat beda -v setelah di -Z.
(iptables -Z INPUT)
8. -N ==> membuat sebuah chain baru.
(iptables -N ALLOW : membuat sebuah chain bernama ALLOW)
9. -X ==> menghapus chain tertentu.
(iptables -X ALLOW : menghapus chain bernama ALLOW)
10. -P ==> untuk menentukan default target dari chain tertentu.
(iptables -P INPUT ACCEPT : jika paket tidak ada yang cocok dengan semua rule yang ada, maka akan dipaksa mengikuti rule default ini)
11. -E ==> mengubah nama chain.
(iptaables -E ALLOW ALLOWAH : mengubah nama chain dari ALLOW jadi ALLOWAH)

Note : Nomor rule dimulai dari satu (mesti dari awal ya!!!).
Selanjutnya adalah daftar parameter pembentuk rule-specification :
-s ==> source
(iptables -A INPUT -s 192.168.1.1)
-d ==> destination
(iptables -A INPUT -d 192.168.1.1)
-p ==> protocol
(iptables -A INPUT -s 192.168.1.1 -p tcp)
-i ==> in-interface
(iptables -A INPUT -i eth0)
-o ==> out-interface
(iptables -A FORWARD -o eth0)
–sport ==> source port
(iptables -A INPUT -s 192.168.1.1 -p tcp –sport 22)
–dport ==> destination port
(iptables -A INPUT -p tcp –dport 22)
–sys ==> untuk identifikasi new connection request
(iptables -A INPUT -i ppp0 -p tcp –syn –dport ! 80 -j DROP)

Note: Gunakan tanda ! untuk negasi/ pernyataan tidak/ selain OK.
Gunakan tanda : untuk menyatakan sampai, misal port 10 sampai 20, maka ditulis 10:20.

0 comments:

Post a Comment

LOVEMYLIFE © 2008. Design by :Yanku Templates Sponsored by: Tutorial87 Commentcute