Firewall 

Firewall merupakan sebuah perangkat yang diletakkan antara Internet dengan jaringan internal Informasi yang keluar atau masuk harus melalui firewall ini.Tujuan utama dari firewall adalah untuk menjaga (prevent) agar akses (ke dalam maupun ke luar) dari orang yang tidak berwenang (unauthorized access) tidak dapat dilakukan. Konfigurasi dari firewall bergantung kepada kebijaksanaan (policy) dari organisasi yang bersangkutan, yang dapat dibagi menjadi dua jenis:

- apa2 yang tidak diperbolehkan secara eksplisit dianggap tidak diperbolehkan (prohibitted)

- apa2 yang tidak dilarang secara eksplisit dianggap diperbolehkan (permitted) 

Firewall bekerja dengan mengamati paket IP (Internet Protocol) yang melewatinya. Berdasarkan konfigurasi dari firewall maka akses dapat diatur berdasarkan IP address, port, dan arah informasi. Detail dari konfigurasi bergantung kepada masing-masing firewall. Firewall dapat berupa sebuah perangkat keras yang sudah dilengkapi dengan perangkat lunak tertentu, sehingga pemakai (administrator) tinggal melakukan konfigurasi dari firewall tersebut. Firewall juga dapat berupa perangkat lunak yang ditambahkan kepada sebuah server (baik UNIX maupun Windows NT), yang dikonfigurasi menjadi firewall. Dalam hal ini, sebetulnya perangkat komputer dengan prosesor Intel 80486 sudah cukup untuk menjadi firewall yang sederhana. 

Firewall biasanya melakukan dua fungsi; fungsi (IP) filtering dan fungsi proxy. Keduanya dapat dilakukan pada sebuah perangkat komputer (device) atau dilakukan secara terpisah.  

Firewall Implementations

Teknologi firewall umunya mempunyai 5 jenis implementasi yang berubah menurut perkembangan teknologi jaringan /internet. Implementasi firewall umum adalah seperti berikut:

- Packet filter firewalls

- Circuit level firewalls

- Application level firewalls with proxies

- Dynamic packet filter firewalls

- Kernel Proxy firewalls  

Packet Filter Firewalls

Firewall ini adalah yang terawal digunakan. Ia bertugas mengawal aksess di tingkat  transport layer. Setiap packet atau data yang melalui jaringan/internet akan di analisa dan dibandingkan dengan policy atau rules yang ditetapkan oleh administrator sewaktu koneksi masuk atau keluar dari jaringan/internet. Contoh policy di bawah implementasi ini adalah seperti di tabel berikut: 

Rule # Interface Protocol Source Port IP Destination Destination Port
1 Internal TCP 10.106.2.* * 80
2 Internal UDP 10.106.2.* * 69
3 External TCP * 10.106.2.2 80

- Tanda asterisk * menunjukkan wildcard yaitu semua IP yang sah dari 0-255.

- Rule 1 mengijinkan koneksi TCP lokal yang bermula dari IP 10.106.2.0 - 255 membuat koneksi ke mana dan dari mana IP melalui port 80 yang umumnya bagi fasilitas web.

- Rule 2 mengijinkan koneksi UDP local yang bermula dari IP 10.106.2.0 - 255 membuat koneksi ke mana dan dari mana IP melalui port 69 yaitu bagi fasilitas TFTP.

- Rule 3 mengijinkan koneksi TCP luar ke mana dan dari mana IP untuk berkomunikasi dengan IP lokal 10.106.2.2 melalui port 80 yang mungkin adalah web server dari suatu organisasi tertentu.  

Selain kombinasi policy di atas, tidak ada koneksi lain yang dibenarkan. 

Kelebihan Packet filter :

- Komputer2 bawah jaringan/internet ini tidak memerlukan configurasi khusus. Semua proses filter ini dilakukan oleh firewall server atau gateway dalam jaringan/internet.

- Teknik ini bagus karena hanya memerlukan bilangan kecil penilaian packet dilakukan.

Kekurangan packet filter :

- Firewall ini tidak mempunyai page caching. Page caching adalah sejenis servis yang membolehkan komputer share cache atau pemakaian cache bersama.

- Packet filter hanya bekerja di tingkat transport layer. Tidak dapat mengenali command di tingkat application layer yang memungkinkan command tertentu tidak dapat berfungsi walaupun protokol tersebut dibenarkan oleh firewall policy.

- Packet filter tidak dapat menghindari koneksi dari firewall server. Ia hanya mengawasi jaringan/internet, tetapi tidak dirinya sendiri. Ini memungkinkan firewall server dimasuki hacker.  

Di bawah sistem Windows NT, pengguna personal boleh menetapkan policy packet filter ini dengan menambah MS Loopback Adapter dalam network di Control Panel. Kemudian masukkan IP address lokal ke komputer serta tetapkan packet filter rules seperti contoh di atas di bahagian security. 

Circuit Level Firewalls

Circuit level firewall berfungsi sebagai referee. Ia mengandaikan setiap packet data yang melalui firewall adalah satu connection request atau data yang dipindahkan melalui koneksi antara client dan server. Sebagai referee, ia akan memastikan 3 way handshake TCP yang berlaku semasa pemindahan data itu sah atau tidak. Kalau tidak, koneksi tersebut akan diputuskan.

Bagi setiap koneksi yang berlaku melalui firewall, sebuah jadwal koneksi sah akan diwujudkan termasuk current session state dan sequence information. Dengan perintah ini firewall akan dapat menentukan apakah sesuatu host tersebut coba untuk merampas sebuah session dengan meletakkan data miliknya atau packet ke dalam sebuah network stream. Kalau firewall gagal mensahkan validitas sebuah koneksi, ia akan memutuskan koneksi dan data dalam sessi tersebut akan dikeluarkan dari jadwal. 

Kelebihan sistem firewall ini adalah:

- Teliti dalam mengendalikan data trafic

- Koneksi dapat dihalang dari semua jaringan/internet atau dari sebuah host secara spesifik

- Network address translation dapat diimplementasi untuk mempertahankan skim alamat network lokal.

Kekurangannya :

- Ia tidak mendukung koneksi dari protokol selain TCP. UDP misalnya adalah connectionless protocol yang tidak dapat didukung oleh firewall ini.

- Agak susah menguji firewall ini kecuali diimplementasi langsung dari host yang sebenarnya.

- Tidak menggunakan web page caching. 

Application Level Firewall with Proxies

Firewall ini menilai data di tingkat  applikasi sebelum mengijinkan sebuah koneksi berlaku antara dua host. Perintah yang dinilai termasuklah connection state dan sequencing information, user passwords dan jenis servis yang diminta.

Firewall ini umumnya meliputi servis proxy yaitu servis yang menjadi perantara di antara dua buah host. Ia memerlukan sebuah proxy server yang menawarkan fasilitas proxy yang mengijinkan koneksi di tingkat  applikasi di buat oleh client menerusi port tertentu di proxy server tersebut. 

Apabila sebuah client menetapkan konfigurasi proxy, setiap koneksi membangkitkan jenis servis yang di kombinasikan di atas akan dibuat melalui proxy. Proxy server akan menerima request dari  clientnya dan membandingkan dengan rules yang telah ditetapkan di proxy tersebut. Seandainya  permintaan itu sah atau memenuhi kriteria rules-nya, ia akan menyambung permintaan client-nya ke host yang diminta bagi pihak client.Kemudian akan forward data yang diminta tersebut kepada client. Melalui cara ini, sebuah client sebenarnya tidak bersambung secara terus kepada host yang dimaksudkannya.

Konsep ini juga digunakan bagi anonymous proxy service yang dibahas di sub-bab terdahulu. Bagaimanapun ia tidak ditetapkan secara terus pada browser seperti contoh di atas karena ia adalah terbuka melalui servis web.

Jenis2 service yang ditawarkan di bawah proxy server ialah telnet, FTP, HTTP, HTTPS, NNTP, Gopher, Socks, WAIS, POP3, SMTP, IMAP dan Real Audio.  

Kelebihan menggunakan firewall ini adalah :

- Menyembunyikan IP Address local sebuah jaringan

- Memperbolehkan akses atas servis proxy di tingkat  applikasi seperti HTTP dan FTP.

- Setiap komunikasi yang dibenarkan dari  LAN  perlu melalui servis proxy di firewall dan menghadang komunikasi yang berbahaya dari dalam.

- Penetapan proxy dapat dibuat tingkat applikasi yang mana diteruskan ke client.

- Proxy service dapat merekam  setiap transaksi atau komunikasi secara terperinci.

- Dapat ditetapkan untuk route ke sebuah server spesifik tanpa membedakan  identitas  hostname dan IP Address.

Kekurangan sistem firewall adalah :

- Servis proxy ini ditawarkan pada port tertentu saja menurut jenis servis yang digunakan.

- Terdapat performance delay yang melambatkan penerimaan data ke client karena terdapat 2 jenis proses yang berlaku, di server proxy dan applikasi client.

- Apabila kita memasukkan protokol baru, harus men-set proxy yang specifik.

- Client terpaksa menetapkan konfigurasi secara manual pada host masing2 sebelum menggunakan proxy.

- Sebahagian proxy memerlukan aksess terdaftar yang perlu disahkan setiap kali membuat koneksi. Makin lambat lagi proses koneksi.  

Dynamic Packet Filter Firewall

Firewall ini adalah versi baru yang merupakan kombinasi application level firewall dan packet filter firewall. Ia mengijinkan security firewall di buat secara on-the-fly. Teknologi firewall ini turut mendukung protokol UDP yang sebelumnya tidak didukung oleh kebanyakkan firewall karena sifatnya yang connectionless. 

Kernel Proxy Firewall

Firewall ini diimplementasi ditingkat  kernel sebuah OS. Bila sesuatu request dibuat diterima oleh firewall ini, TCP/IP stack baru akan dibuat secara on-the-fly. Stack ini mengandung protokol proxy yang diperlukan untuk sesuatu koneksi. Mengijinkan tambahan rule baru diimplementasi yang akan menilai transmisi data.Begitu data dipindahkan ke tingkat  network stack, network packet tersebut akan dapat diperiksa dan diperiksa ulang lagi di setiap tingkat . Jika sembarang rules tidak dipatuhi di tingkat -tingkat  ini, packet data tersebut akan diabaikan.