Thursday, July 7, 2011

Firewall si Dinding Api !!



Firewall merupakan pertahanan pertama yang ditujukan untuk melindungi sebuah komputer atau network  dari traffic/ alur data yang tidak diinginkan.. Di Linux ,Firewall dibangun dengan suatu program yang bernama IPTables.

IPTables berguna untuk memeriksa paket data yang melewati firewall, paket yang diperbolehkan melewati firewall disebut trusted network.. dan yang tidak boleh melewati disebut untrusted network.

sebenarnya IPTables tidak hanya dikonfigurasikan untuk firewall , tp juga bisa berfungsi sebagai router yang dapat menggabungkan beberapa subnet IP yang berbeda ( belum ngerti ) sudah hampir semua linux kernel sudah mendukung penggunaan paket filtering menggunakan IPTables ini .. IPTables berisi aturan-aturan yang dapat dikelola dengan menggunakan perintah iptables pada terminal ..  disebut iptables sebab pada saat penggunaan perintah IPTables terlebih dahulu kita harus memilih tables apa yang kita kelola atau kita gunakan..

Untuk lebih mengerti fungsi dari aplikasi iptables ini mari kita belajar bersama dengan mengetahui makna dari istilah"nya ... cekidot :

Tables:
tempat dari kumpulan chain (aturan) firewall yang disimpan dan dikelola. dipengaturan awalnya iptables terdiri dari 3 tables yaitu Filter tables ,NAT Tables ,Mangle Tables.

Filter table:
salah satu table yang d maksudkan untuk menyaring paket yang menuju komputer atau pun yang meninggalkan komputer ,,, bahasa gaulnya sih incoming traffic sama outgoing traffic :D
selain itu juga bisa digunakan forward paket dari satu network dengan network yang lain.. biasanya komputer yang dijadikan firewall ini mempunyai network card yang terdiri dari 2 network card atau lebih .

Chain:
atau biasa kita sebut rule atau aturan, istilah ini merujuk pada kumpulan aturan yang digunakan firewall untuk menyaring paket data yang datang ataupun yang dikirimkan. chain pada filter ada 3 yaitu : INPUT, OUTPUT, FORWARD. dalam penggunaan chain ini harus menggunakan huruf besar.
  • INPUT : Chain ini digunakan untuk menyaring semua traffic yang datang menuju firewall
  • OUTPUT : Chain ini digunakan untuk menyaring semua traffic yang meninggalkan firewall
  • FORWARD : Chain ini digunakan untuk mem-forward, tidak jauh arti dari kata forward . yaitu melewatkan paket dibelakang firewall menuju komputer lain. jadi chain ini tidak memperdulikan aturan lain yang penting dia memforward paket menuju komputer lain..

NAT Table:
diatas kita telah membahas tentang chain dan jenis chain pada paket filtering. nah sekarang kita akan membahas table yang lain ..yaitu NAT Table , yang berguna untuk mengubah informasi paket data . Dengan NAT Table ini kita diperbolehkan mengubah private ip menjadi public ip. sehingga private address dapat berkomunikasi dengan public address.
Chain pada NAT Table:
  • MASQUERADE : bentuk pada suatu SNAT yang digunakan untuk mengubah internal IP address menjadi eksternal IP address
  • POSTROUTING : chain yang digunakan untuk memeriksa paket data saat setelah paket data tersebut meninggalkan proses routing yang dialami paket. klo bahasa bukunya sih algoritma routing.
  • PREROUTING : chain ini digunakan untuk memeriksa paket saat memasuki system tetapi sebelum terfilter.

Matches :
untuk menentukan tidndakan yang dilakukan terhadap sebuah paket data. IPTables memeriksa paket data tersebut dengan kriteria yang telah di tentukan .. tentunya dengan menggunakan fungsi dari chain dalam IPTables tersebut.

Target:
keputusan akhir dari sebuah chain terhadap suatu paket data yang diperiksa.. untuk menjalankan target yang kita inginkan gunakan perintah -jump (-j)
beberapa target yang secara default terdapat pada IPTables:
  • ACCEPT : Paket yang cocok dengan chain akan diterima
  • DROP : Paket yang cocok dengan chain dan langsung di buang.
  • REJECT : Paket yang cocok dengan chain ditolak , chain ini hampir sama dengan DROP .. tetapi pada target REJECT ini .. dia akan memberikan pesan kesalahan ketika suatu paket di REJECT. sedangkan DROP langsung membuang paket tersebut.
  • LOG : Paket yang sesuai dengan chain ini akan di LOG .
  • RETURN : Paket yang cocok dengan chain akan diproses dan akan dikembalikan ke chain yang memanggilnya. 
  • SNAT : Jika dipanjangin berarti Source Network Addrees Translation , yang berguna untuk melakukan perubahan alamat asal. dalam penggunaannya. table ini biasanya digunakan dengan chain MASQUERADE. intinya Internal IP ===> Eksternal IP
  • DNAT : Kependekan dari Destination Network Addrees Translation , yang berguna jika ingin melakukan perubahan alamat tujuan. dalam penggunaannya, table ini digunakan dengan chain PREROUTING. intinya Eksternal IP ===> Internal IP

TERIMA KASIH ... semoga bacaan ini bermanfaat bagi pembaca dan terlebih bagi penulis (copas padahal mah) :D Alhamdulillah ..