Tembok api

Mengatur dan mengontrol lalu lintas jaringan

Fungsi pertama yang dapat dilakukan oleh tembok api adalah tembok api harus dapat mengatur dan mengontrol lalu lintas jaringan yang diizinkan untuk mengakses jaringan privat atau komputer yang dilindungi oleh tembok api. Tembok api melakukan hal yang demikian, dengan melakukan inspeksi terhadap paket-paket dan memantau koneksi yang sedang dibuat, lalu melakukan penapisan (filtering) terhadap koneksi berdasarkan hasil inspeksi paket dan koneksi tersebut.

Stateful Packet Inspection

Ketika sebuah tembok api menggabungkan stateful inspection dengan packet inspection, maka firewall tersebut dinamakan dengan Stateful Packet Inspection (SPI). SPI merupakan proses inspeksi paket yang tidak dilakukan dengan menggunakan struktur paket dan data yang terkandung dalam paket, tetapi juga pada keadaan apa host-host yang saling berkomunikasi tersebut berada. SPI mengizinkan tembok api untuk melakukan penapisan tidak hanya berdasarkan isi paket tersebut, tetapi juga berdasarkan koneksi atau keadaan koneksi, sehingga dapat mengakibatkan tembok api memiliki kemampuan yang lebih fleksibel, mudah diatur, dan memiliki skalabilitas dalam hal penapisan yang tinggi.
Salah satu keunggulan dari SPI dibandingkan dengan inspeksi paket biasa adalah bahwa ketika sebuah koneksi telah dikenali dan diizinkan (tentu saja setelah dilakukan inspeksi), umumnya sebuah kebijakan (policy) tidak dibutuhkan untuk mengizinkan komunikasi balasan karena tembok api tahu respons apa yang diharapkan akan diterima. Hal ini memungkinkan inspeksi terhadap data dan perintah yang terkandung dalam sebuah paket data untuk menentukan apakah sebuah koneksi diizinkan atau tidak, lalu tembok api akan secara otomatis memantau keadaan percakapan dan secara dinamis mengizinkan lalu lintas yang sesuai dengan keadaan. Ini merupakan peningkatan yang cukup signifikan jika dibandingkan dengan tembok api dengan inspeksi paket biasa. Apalagi, proses ini diselesaikan tanpa adanya kebutuhan untuk mendefinisikan sebuah kebijakan untuk mengizinkan respons dan komunikasi selanjutnya. Kebanyakan tembok api modern telah mendukung fungsi ini.

Melindungi sumber daya dalam jaringan privat

Salah satu tugas tembok api adalah melindungi sumber daya dari ancaman yang mungkin datang. Proteksi ini dapat diperoleh dengan menggunakan beberapa pengaturan peraturan akses (access control), penggunaan SPI, application proxy, atau kombinasi dari semuanya untuk mengamankan host yang dilindungi supaya tidak dapat diakses oleh host-host yang mencurigakan atau dari lalu lintas jaringan yang mencurigakan. Meskipun demikian, tembok api bukan satu-satunya metode proteksi teraman terhadap sumber daya, dan mempercayakan proteksi tembok api dari ancaman secara eksklusif adalah salah satu kesalahan fatal.
Jika sebuah host yang menjalankan sistem operasi tertentu yang memiliki lubang keamanan yang belum ditambal dikoneksikan ke Internet, firewall mungkin tidak dapat mencegah dieksploitasinya host tersebut oleh host-host lainnya, khususnya jika exploit tersebut menggunakan lalu lintas yang oleh firewall telah diizinkan (dalam konfigurasinya). Sebagai contoh, jika sebuah packet-inspection tembok api mengizinkan lalu lintas HTTP ke sebuah web server yang menjalankan sebuah layanan web yang memiliki lubang keamanan yang belum ditambal, maka seorang pengguna yang "iseng" dapat saja membuat exploit untuk meruntuhkan web server tersebut karena memang web server yang bersangkutan memiliki lubang keamanan yang belum ditambal.
Dalam contoh ini, web server tersebut akhirnya mengakibatkan proteksi yang ditawarkan oleh tembok api menjadi tidak berguna. Hal ini disebabkan oleh firewall tidak dapat membedakan antara request HTTP yang mencurigakan atau tidak. Apalagi, jika firewall yang digunakan bukan application proxy. Oleh karena itulah, sumber daya yang dilindungi haruslah dipelihara dengan melakukan penambalan terhadap lubang-lubang keamanan, selain tentunya dilindungi oleh tembok api.

Cara kerja tembok api

Tembok api berada di antara kedua jaringan seperti internet dan komputer sehingga tembok api berfungsi sebagai pelindung. Tujuan utama adanya firewall adalah untuk user yang tidak menginginkan lalu lintas jaringan yang berusaha masuk ke komputer, namun tidak hanya itu saja yang bisa dilakukan tembok api. Firewall juga dapat menganalisis jaringan yang mencoba masuk ke komputer anda, dan dapat melakukan apa yang harus dilakukan ketika jaringan tersebut masuk. Contohnya saja, tembok api bisa diatur untuk memblokir beberapa jenis jaringan yang mencoba keluar atau mencatat log lalu lintas jaringan yang mencurigakan.
Firewall bisa memiliki berbagai aturan yang dapat anda tambahkan atau hapus untuk menolak jaringan tertentu. Contohnya saja, hanya dapat mengakses alamat IP tertentu atau mengumpulkan semua akses dari tempat lain untuk ke satu tempat yang aman terlebih dahulu

Packet-Filter Firewall

Pada bentuknya yang paling sederhana, sebuah tembok api adalah sebuah router atau komputer yang dilengkapi dengan dua buah NIC (Network Interface Card, kartu antarmuka jaringan) yang mampu melakukan penapisan atau penyaringan terhadap paket-paket yang masuk. Perangkat jenis ini umumnya disebut dengan packet-filtering router.
Firewall jenis ini bekerja dengan cara membandingkan alamat sumber dari paket-paket tersebut dengan kebijakan pengontrolan akses yang terdaftar dalam Access Control List firewall, router tersebut akan mencoba memutuskan apakah hendak meneruskan paket yang masuk tersebut ke tujuannya atau menghentikannya. Pada bentuk yang lebih sederhana lagi, tembok api hanya melakukan pengujian terhadap alamat IP atau nama domain yang menjadi sumber paket dan akan menentukan apakah hendak meneruskan atau menolak paket tersebut. Meskipun demikian, packet-filtering router tidak dapat digunakan untuk memberikan akses (atau menolaknya) dengan menggunakan basis hak-hak yang dimiliki oleh pengguna.
Packet-filtering router juga dapat dikonfigurasikan agar menghentikan beberapa jenis lalu lintas jaringan dan tentu saja mengizinkannya. Umumnya, hal ini dilakukan dengan mengaktifkan/menonaktifkan port TCP/IP dalam sistem tembok api tersebut. Sebagai contoh, port 25 yang digunakan oleh Protokol SMTP (Simple Mail Transfer Protocol) umumnya dibiarkan terbuka oleh beberapa tembok api untuk mengizinkan surat elektronik dari Internet masuk ke dalam jaringan privat, sementara port lainnya seperti port 23 yang digunakan oleh Protokol Telnet dapat dinonaktifkan untuk mencegah pengguna Internet untuk mengakses layanan yang terdapat dalam jaringan privat tersebut. Firewall juga dapat memberikan semacam pengecualian (exception) agar beberapa aplikasi dapat melewati tembok api tersebut. Dengan menggunakan pendekatan ini, keamanan akan lebih kuat tetapi memiliki kelemahan yang signifikan yakni kerumitan konfigurasi terhadap tembok api: daftar Access Control List firewall akan membesar seiring dengan banyaknya alamat IP, nama domain, atau port yang dimasukkan ke dalamnya, selain tentunya juga exception yang diberlakukan.

Circuit Level Gateway

Firewall jenis lainnya adalah Circuit-Level Gateway, yang umumnya berupa komponen dalam sebuah proxy server. Tembok api jenis ini beroperasi pada level yang lebih tinggi dalam model referensi tujuh lapis OSI (bekerja pada lapisan sesi/session layer) daripada Packet Filter Firewall. Modifikasi ini membuat tembok api jenis ini berguna dalam rangka menyembunyikan informasi mengenai jaringan terproteksi, meskipun tembok api ini tidak melakukan penyaringan terhadap paket-paket individual yang mengalir dalam koneksi.
Dengan menggunakan tembok api jenis ini, koneksi yang terjadi antara pengguna dan jaringan pun disembunyikan dari pengguna. Pengguna akan dihadapkan secara langsung dengan firewall pada saat proses pembuatan koneksi dan tembok api pun akan membentuk koneksi dengan sumber daya jaringan yang hendak diakses oleh pengguna setelah mengubah alamat IP dari paket yang ditransmisikan oleh dua belah pihak. Hal ini mengakibatkan terjadinya sebuah sirkuit virtual (virtual circuit) antara pengguna dan sumber daya jaringan yang ia akses.
Tembok api ini dianggap lebih aman dibandingkan dengan Packet-Filtering Firewall, karena pengguna eksternal tidak dapat melihat alamat IP jaringan internal dalam paket-paket yang ia terima, melainkan alamat IP dari tembok api.

Application Level Firewall

Tembok api jenis lainnya adalah Application Level Gateway (atau Application-Level Firewall atau sering juga disebut sebagai Proxy Firewall), yang umumnya juga merupakan komponen dari sebuah proxy server. Firewall ini tidak mengizinkan paket yang datang untuk melewati tembok api secara langsung. Tetapi, aplikasi proxy yang berjalan dalam komputer yang menjalankan tembok api akan meneruskan permintaan tersebut kepada layanan yang tersedia dalam jaringan privat dan kemudian meneruskan respons dari permintaan tersebut kepada komputer yang membuat permintaan pertama kali yang terletak dalam jaringan publik yang tidak aman.
Umumnya, tembok api jenis ini akan melakukan autentikasi terlebih dahulu terhadap pengguna sebelum mengizinkan pengguna tersebut untuk mengakses jaringan. Selain itu, tembok api ini juga mengimplementasikan mekanisme auditing dan pencatatan (logging) sebagai bagian dari kebijakan keamanan yang diterapkannya. Application Level Firewall juga umumnya mengharuskan beberapa konfigurasi yang diberlakukan pada pengguna untuk mengizinkan mesin klien agar dapat berfungsi. Sebagai contoh, jika sebuah proxy FTP dikonfigurasikan di atas sebuah application layer gateway, proxy tersebut dapat dikonfigurasikan untuk mengizinlan beberapa perintah FTP, dan menolak beberapa perintah lainnya. Jenis ini paling sering diimplementasikan pada proxy SMTP sehingga mereka dapat menerima surat elektronik dari luar (tanpa menampakkan alamat e-mail internal), lalu meneruskan e-mail tersebut kepada e-mail server dalam jaringan. Tetapi, karena adanya pemrosesan yang lebih rumit, tembok api jenis ini mengharuskan komputer yang dikonfigurasikan sebagai application gateway memiliki spesifikasi yang tinggi, dan tentu saja jauh lebih lambat dibandingkan dengan packet-filter tembok api.

Tembok api NAT

NAT (Network Address Translation) Firewall secara otomatis menyediakan proteksi terhadap sistem yang berada di balik tembok api karena NAT Firewall hanya mengizinkan koneksi yang datang dari komputer-komputer yang berada di balik tembok api. Tujuan dari NAT adalah untuk melakukan multiplexing terhadap lalu lintas dari jaringan internal untuk kemudian menyampaikannya kepada jaringan yang lebih luas (MAN, WAN atau Internet) seolah-olah paket tersebut datang dari sebuah alamat IP atau beberapa alamat IP. NAT Firewall membuat tabel dalam memori yang mengandung informasi mengenai koneksi yang dilihat oleh tembok api. Tabel ini akan memetakan alamat jaringan internal ke alamat eksternal. Kemampuan untuk menaruh keseluruhan jaringan di belakang sebuah alamat IP didasarkan terhadap pemetaan terhadap port-port dalam NAT firewall.

Tembok api stateful

Stateful Firewall merupakan sebuah tembok api yang menggabungkan keunggulan yang ditawarkan oleh packet-filtering firewall, NAT Firewall, Circuit-Level Firewall dan Proxy Firewall dalam satu sistem. Stateful Firewall dapat melakukan filtering terhadap lalu lintas berdasarkan karakteristik paket, seperti halnya packet-filtering firewall, dan juga memiliki pengecekan terhadap sesi koneksi untuk meyakinkan bahwa sesi koneksi yang terbentuk tersebut diizinlan. Tidak seperti Proxy Firewall atau Circuit Level Firewall, Stateful Firewall umumnya didesain agar lebih transparan (seperti halnya packet-filtering firewall atau NAT firewall). Tetapi, stateful tembok api juga mencakup beberapa aspek yang dimiliki oleh application level firewall, sebab ia juga melakukan inspeksi terhadap data yang datang dari lapisan aplikasi (application layer) dengan menggunakan layanan tertentu. Tembok api ini hanya tersedia pada beberapa tembok api kelas atas, semacam Cisco PIX. Karena menggabungkan keunggulan jenis-jenis tembok api lainnya, stateful tembok api menjadi lebih kompleks.

Tembok api virtual

Virtual tembok api adalah sebutan untuk beberapa tembok api logis yang berada dalam sebuah perangkat fisik (komputer atau perangkat tembok api lainnya). Pengaturan ini mengizinkan beberapa jaringan agar dapat diproteksi oleh sebuah tembok api yang unik yang menjalankan kebijakan keamanan yang juga unik, cukup dengan menggunakan satu buah perangkat. Dengan menggunakan tembok api jenis ini, sebuah ISP (Internet Service Provider) dapat menyediakan layanan tembok api kepada para pelanggannya, sehingga mengamankan lalu lintas jaringan mereka, hanya dengan menggunakan satu buah perangkat. Hal ini jelas merupakan penghematan biaya yang signifikan, meski tembok api jenis ini hanya tersedia pada tembok api kelas atas, seperti Cisco PIX 535.