Firewall adalah suatu peralatan keamanan yang menjadi satu keharusan bagi setiap komputer yang terhubung ke Internet dan juga menjadi suatu jenis aplikasi yang menyediakan sistem keamanan pada jaringan pribadi ( private networks ).
Perlu diingatkan di sini bahwa tanggapan global bahwa dengan adanya suatu firewall antara private networks dengan Internet akan menyelesaikan masalah keamanan data adalah tidak benar sama sekali. Walaupun firewall akan meningkatkan keamanan, tetapi firewall yang dipasang dengan cara yang tidak benar berisiko sama seperti tanpa firewall. Pada dasarnya firewall akan menambah perlindungan terhadap sistem private network yang terhubung dengan Internet, tetapi hal ini tidak akan menangkal cracker yang benar-benar ingin masuk dan merusak sistem.
Apakah Firewall Itu?
Firewall bertugas di pintu gerbang masuk jaringan dan setiap packet yang melaluinya perlu mematuhi policy firewall tersebut.
Terdapat tiga jenis firewall yang menjadi kegunaan umum di Internet saat ini, yaitu :
1. Packet Filtering Router
Pada dasarnya, setiap data yang kita kirimkan dalam jaringan atau Internet adalah packet. Dalam packet data ini ada yang dinamakan header dan ada yang dinamakan body. Kebanyakkan aplikasi firewall seperti pf (OpenBSD), ipfw/2 (FreeBSD dan NetBSD), dan iptables (Linux) mempunyai aturan khas di dalamnya yang disebut filtering instructions.
Pada Linux, iptables melihat header dari packet data ini untuk kemudian dianalisa apakah akan di-deny (membiarkan packet tersebut seolah-olah tidak pernah diterima), di-accept (menerima packet tersebut untuk diproses lebih lanjut), atau di-reject (menolak dan memberitahu pengirim bahwa packet data tidak bisa diterima). Aturan-aturan ini biasanya dikenal dengan akronim "rule chain". Kriteria-kriteria packet matching bergantung pada kebiasaan yang digunakan, Anda boleh memperkenalkan aturan yang bertindak berdasarkan alamat IP sumber paket, alamat IP destinasi paket, nomor port sumber, nomor port destinasi (untuk protokol yang membenarkan mekanisme protokol seperti TCP), hingga ke jenis paket (ICMP, UDP atau TCP).
2. Proxy server
Fungsinya dijalankan dengan daemon authentication (proses-proses yang berjalan di background dan berinteraksi secara terus-menerus dengan sistem) dan akan meneruskan paket-paket data ke multi-homed host atau host-host lain. Kebanyakan situs menggunakan kombinasi kedua jenis firewall ini. Dalam hal ini, hanya sebuah atau beberapa host yang dikenali dengan nama bastion host(s) yang dibenarkan untuk meneruskan paket-paket melalui packet filtering router ke dalam private network.
Beberapa Skenario Penggunaan Firewall
Private network: Traditional proxy
Dalam skenario ini, jaringan internal menggunakan IP internal seperti network 192.168.0.0/24 dan lain-lain. Untuk mengakses Internet, firewall menyediakan program perantara/proxy yang bertugas melanjutkan permintaan akses WWW/HTTP dan FTP. Biasanya digunakan program proxy seperti Squid, Internet Junkbuster, dan lain-lain. Pada sistem ini, jika client yang ada pada jaringan internal ingin mengakses Internet, misalnya ke detik.com, maka client akan mengirimkan request ke port proxy dari firewall (biasanya 3128/8080). Kemudian proxy di firewall melanjutkan request tersebut ke detik.com. Setelah request dijawab, data ditransfer ke proxy/firewall untuk kemudian diberikan ke client di jaringan internal.
Private network : Transparent proxy
Skenario ini hampir sama seperti di atas, namun client tidak perlu diset untuk memakai proxy server karena akses ke Internet akan secara diam-diam/tanpa sepengetahuan client telah dialihkan ke program proxy. Setiap trafik HTTP/FTP yang melewati firewall akan di- redirect/alihkan ke port proxy (seperti 8080/3128). Selanjutnya seperti di atas, trafic ditangani proxy server dan setelah diterima balasannya akan dikirim balik ke client.
Private network: Masquerading
Skenario ini sama seperti transparent proxy, namun ini bukan pengalihan traffic ke proxy server. Ini adalah proses penggantian label trafic dari dalam dengan label firewall, sehingga client di jaringan lokal merasa bahwa mereka langsung tersambung ke Internet, padahal yang terjadi adalah saat traffic melewati firewall, label traffic diganti dengan label firewall dan saat balasan datang, label firewall dibalikkan lagi.
Limited Internal Services
Kadangkala kita menginginkan beberapa komputer di jaringan internal kita bisa melayani akses dari Internet dibandingkan jika firewall yang menjalankan service tersebut. Dalam hal ini, firewall bisa mengalihkan permintaan service terhadap firewall kepada komputer pada jaringan internal. Hal ini biasanya disebut sebagai redirection.
Public Network
Dalam hal ini beberapa komputer dalam jaringan kita mempunyai IP global sehingga traffic mereka bisa diterima diseluruh jaringan. Melalui cara ini firewall hanya akan meneruskan traffic data yang diperbolehkan kepada komputer dalam jaringan internal tersebut.
Kegunaan Firewall
Mengapa kita memakai firewall? Berikut ini adalah alasannya:
Kontrol: kita bisa memperbolehkan atau mencegah sesuatu melewati jaringan kita.
Keamanan: kita bisa membatasi akses ke komputer kita.
Pengamatan: kita bisa memonitor data yang keluar masuk komputer/router kita.