Iptables merupakan aplikasi untuk administrasi filterin g paket dan Network Address Translation (NAT) pad a IPv4. Gambaran umum, iptables digunakan untuk konfigurasi, merawat dan memeriksa rules tables (tabel aturan) tentang filter paket IP yang terdapat di kernel linux . Tiap-tiap tables memiliki beberapa built-in (bawaan) chains kernel linux dan chains buatan user sendiri. Setiap chains memiliki list / daftar aturan untuk mencocokkan suatu paket yang datang. Setiap aturan tersebut berfungsi memberikan keputusan eksekusi apa yan g akan dilakukan bila paket yang datang cocok dengan aturan yang telah dibuat.
Berikut gambaran dan contoh kegunaan iptables :
Terlihat bahwa komputer A, B dan C mengirim paket data kepada komputer D yang sudah dolengkapi iptables. Pada konfigurasi iptables dibuat pernyataan bahwa hanya paket yang memiliki hurup C yang boleh diterima komputer D, selain itu ditolak semua. Dan hasilnya, hanya komputer C saja yang bisa mengirimkan paket dan diterima komputer D. Tentunya dengan gambaran sederhana ini kita bisa membayangkan kegunaan iptables lebih detail. Misalkan bila ada komputer asing yan g mengirimkan paket data untuk keperluan scanning atau hacking maka paket tersebut langsung ditolak oleh komputer kita.
Iptables memiliki 4 tabel aturan yaitu filter, nat, mangle dan raw. Yang akan saya bahas adalah aturan "filter" karena ini yang seringkali digunakan dalam pengaturan jaringan. Kita sudah tahu bahwa pada table terdapat chains (rantai) yang berisi rules / aturan.
Namun perlu diketahui tiap table memiliki chains yang berbeda-beda. Chains pada tables "filter" dari 3 fungsi yaitu INPUT, FOR WARD dan OUTPUT. INPUT untuk paket yang disiapkan untuk soket lokal atau komputer kita sendiri. FORWARD untuk paket yang diarahkan / routing ke box dan OUTPUT untuk paket yang di generate / dibuat sendiri.
Cara gampangnya untuk memahami, chains INPUT berguna untuk mengatasi paket data yang masuk. FORWARD berguna untuk men galihkan paket yang datang dan OUTPUT berguna untuk men ghasilkan paket data yang akan diteruskan nantin ya. Setelah kita mengetahui ketiga fungsi chains tersebut maka kita perlu mengetahui command / perintah dalam konfigurasi iptables. Perlu diketahui bahwa dalam satu chain terdiri dari beberapa rule / aturan. Tiap-tiap aturan tersebut memiliki urutan prioritas tersendiri. Bila ada paket datang maka akan disesuaikan dengan chains. Setelah dikelompokkan maka paket tersebut diseleksi oleh rule yang terdapat pada chain. Bila ada paket datang yang tidak cocok dengan aturan pertama maka akan diteruskan menuju seleksi aturan kedua dan selanjutnya hingga aturan terakhir. Berikut command-command yang umum digunak an :
-A
yaitu append. Memiliki struktur -A [chain] [aturan]. Berfungsi untuk menetapkan aturan ke dalam chains.
Contoh : iptables -A INPUT -s 192.168.0.1
-D
yaitu delete aturan. Memiliki struktur -D [chain] [aturan] atau -D [chain] [nomor urutan aturan]. Berfungsi untuk menghapus aturan dari chains atau menghapus aturan berdasarkan urutan list didalam chains.
Contoh : iptables -D INPUT 1 ( menghapus
aturan pertama dalam chain INPUT )
-I
yaitu insert. Memiliki struktur - I [chain] [ nomor urutan aturan] [aturan]. Berfungsi untuk memasukan aturan baru kedalam chain. Bila nomor urutan aturan adalah 1 berarti aturan tersebut dimasukkan ke prioritas utama dalam chain.
Contoh : iptables -I OUTPUT 2 –s 192.168.0.1
-R
yaitu replace. Memiliki struktur -R [chain] [nomor urutan aturan] [ aturan baru]. Berfungsi untuk menimpa / me-replace aturan lama dengan aturan baru dalam chain.
Contoh : iptables -I OUTPUT 2 -s 192.168.0.1 ( menimpa rule kedua dengan rule baru –s 192.168.0.1
-L
yaitu list. Memiliki struktur - L [chain]. Berfungsi untuk menampilkan daftar aturan-aturan didalam chain. Bila chain tidak disertakan maka akan muncul aturan dalam semua chain.
Contoh : iptables -L INPUT
-F
yaitu flush. Memiliki struktur -F [chain]. Berfungsi untuk menghilangkan semua aturan pada chain.
Contoh: iptables -F FOR WARD ( menghapus semua aturan didalam chain
FORWARD)
-N
yaitu new. Memiliki struktur -N [ chain] . Berfungsi untuk membuat chain baru.
Contoh: iptables -N GET
-X
yaitu delete chain. Memiliki struktur -X [chain]. Berfungsi untuk men ghapus chain dan ini berbeda dengan -D yang ber guna untuk menghapus rule saja. Untuk menghapus chain,
dipastikan terlebih dahulu bahwa tidak ada aturan -aturan didalam chain tersebut. Dapat
digunak an flush untuk menghapus aturan-aturan di dalam chains.
Contoh: iptables –X GET
-E
yaitu rename chain. Memiliki struktur -E [chain lama] [chain baru]. Berfungsi untuk me-rename / mengganti nama chain yang ada didalam iptables.
Contoh: iptables -E GET PUT
Setelah kita mengetahui perintah-perintah pada iptables, yang kira perlu pahami berikutnya adalah parameter. Kita melihat contoh perintah "iptables -I OUTPUT 2 –s 192.168.0.1". Disini, -s merupakan parameter. Kegunaan parameter adalah untuk mengidentifikasik an spesifikasi aturan dan digunakan untuk mengikuti perintah umum seperti add, delete, insert, replace dan append.
-p
yaitu menunjukkan protokol. Untuk mengindentifikasikan protokol dalam rule seperti tcp, udp, icmp,dst diperlukan parameter ini.
Contoh: iptables -A INPUT -p tcp
-m
yaitu match option. Mirip dengan -p tetapi p erbedaannya adalah modul yang digunakan. Bila pada -p menggunakan modul yang bersifat spesifik tetapi berbeda dengan -m. Dengan menggunakan parameter ini, kita bebas menentukan nama module yang dipakai dan meng-variasikannya dalam perintah selanjutnya.
Contoh : iptables -A INPUT –s 192.168.0.0/16 -m comment --comment "IP yang di-blok" ( berarti modul comment berisi perintah --comment "IP yang di-blok" )
-s
yaitu sour ce alamat hostname / ip.
Contoh : iptables -A INPUT -s 192.168.0 .1
-d
yaitu destination / tujuan dari alamat ip.
Contoh: iptables -A INPUT -d 192.168.0.2
-j
yaitu jump. B erfungsi untuk memberikan keputusan setelah paket data cocok dengan
aturan. Biasan ya terdapat di akhir perintah dan diikuti argumen perintah. Contoh :
iptables -A INPUT -s 192.168.0.2 -j DROP.
-i
yaitu in-interface alias nama interface yang menerima kiriman paket ( terbatas pada chain
INPUT, FORWAR D dan PREROUTING saja ).
Contoh: iptables -A INPUT -i eth0 –s 192.168.0.2
-o
yaitu out-interface alias nama interface yang akan mengirim paket keluar (terbatas pada chain FORWARD, OUTPUT dan POSTROUTING).
Contoh : iptables -A INPUT -o eth1 -s 192.168.0.2
-c
yaitu counter untuk menghitun g paket-paket yang lewat dari sebuah aturan. Penulisan parameter ditulis sebelum command semacam APPEND, INSERT,REPLACE,dst.
Contoh: iptables -c -A INPUT -s 192.168.0.2
-n
yaitu numeric. Parameter ini akan menampilkan o utput numeric seperti hostname,ip, port, nama network,dst.
Contoh: iptables -L –n yaitu verbose yang berarti menampilkan informasi secara keseluruhan alias dalam bahasa indonesia terjemahannya "bertele-tele". Contoh: iptables -L -n –v. Paket-paket yang masuk akan di periksa, apakah rusak, salah informasi atau tidak, kemudian di berikan ke chain INPUT. Tergantung pada informasi yang terdapat di dalam header paket dan kebijakan dalam ruleset, keputusan yang diambil untuk suatu paket
dapat berupa :
1. ACCEPT
Menerima paket dan diproses lebih lanjut oleh kernel
2. DROP
Menolak paket tanpa pemberitahuan terlebih dahulu
3. REJECT
Mengembalikan paket ke asalnya dngan pesan kesalahan ICMP
4. LOG
Melakukan log (pencatatan) terhadap paket yang bersesuaian
5. RETURN
Untuk chain user-defined akan dikembalikan ke chain yang memanggil, sedangkan untuk chain INPUT, OUTPUT dan FORWARD akan dijalankan
kebijakan default.
6. Mengirim ke chain user-defined
Rule dalam IPTABLES dapat dikenakan terhadap asal paket (-s), tujuan paket (-d), protocol (-p) dan port. Misalnya untuk menolak semua paket yang dating d ari mesin dengan IP Address 192.168.0.100 dapat di tulis :
IPTABLES –t filter –A INPUT –s 192.168.0.100 –j DROP atau
IPTABLES –A INPUT –s 192 .168.0.100 –j DROP
Baris kedua tidak menyertakan –t filter karena sebenarnya table default yang digunakan IPTABLES adalah filter Perintah-perintah diatas di tulis secara lan gsung di shell Linux. Sebaiknya anda login sebagai root atau user lain yang diberi wewenang menjalankan IPTABLES Tanda seru (!)
dapat ditempatkan di depan IP address untuk membuat pengecualian
terhadap IP tersebut. Perintah di bawah ini akan menolak semua paket yang masuk dari semua host kecuali dari mesin dengan IP address 192.168.0.100 IPTABLES –A INPUT –s ! 192.168.0.100 –j DROP
Perintah-perintah yan g digunakan:
Perintah Dasar Maksud dari Perintah
iptables Pembuatan firewall di dalam PC Man Melihat description suatu command atau perintah setup Memanggil konfigurasi computer melalui GUI
Perintah-perintah yan g digunakan:
1. Setting IP address k elas A
ifconfig eth0 50.50.50.1 netmask 255.0.0.0
2. Koneksikan jaringan
ping ip_address_tujuan
Tidak ada komentar:
Posting Komentar