Packet Filtering
Penapisan paket (bahasa Inggris: Packet filtering) adalah mekanisme yang dapat memblokir paket-paket data jaringan yang dilakukan berdasarkan peraturan yang telah ditentukan sebelumnya.Packet filtering adalah salah satu jenis teknologi keamanan yang digunakan untuk mengatur paket-paket apa saja yang diizinkan masuk ke dalam sistem atau jaringan dan paket-paket apa saja yang diblokir. Packet filtering umumnya digunakan untuk memblokir lalu lintas yang mencurigakan yang datang dari alamat IP yang mencurigakan, nomor port TCP/UDP yang mencurigakan, jenis protokol aplikasi yang mencurigakan, dan kriteria lainnya. Akhir-akhir ini, fitur packet filtering telah dimasukkan ke dalam banyak sistem operasi (IPTables dalam GNU/Linux, dan IP Filter dalam Windows) sebagai sebuah fitur standar, selain tentunya firewall dan router.
Implementasi
Packet filtering terbagi menjadi dua jenis, yakni:- Static packet filtering (Penapisan paket statis)
- Dynamic packet filtering (Penapisan paket dinamis), atau sering juga disebut sebagai Stateful Packet Filter.
Penapisan paket statis
Administrator jaringan dapat membuat peraturan tersebut sebagai daftar yang berurutan. Setiap paket yang datang kepada filter, akan dibandingkan dengan setiap peraturan yang diterapkan di dalam filter tersebut, hingga sebuah kecocokan ditemukan. Jika tidak ada yang cocok, maka paket yang datang tersebut ditolak, dan berlaku sebaliknya.
Peraturan tersebut dapat digunakan untuk menerima paket atau menolaknya dengan menggunakan basis informasi yang diperoleh dari header protokol yang digunakan, dan jenis dari paket tersebut. Kebanyakan perangkat yang memiliki fitur packet filtering, menawarkan kepada administrator jaringan untuk membuat dua jenis peraturan, yakni inbound rule dan outbound rule. Inbound rule merujuk kepada inspeksi paket akan dilakukan terhadap paket yang datang dari luar, sementara outbound rule merujuk inspeksi paket akan dilakukan terhadap paket yang hendak keluar.
Penapisan paket dinamis
Sebagai contoh, sebuah dynamic packet filter dapat dikonfigurasikan sedemikian rupa sehingga hanya lalu lintas inbound protokol Hypertext Transfer Protocol (HTTP) saja yang diizinkan masuk jaringan, sebagai respons dari request dari klien HTTP yang berada di dalam jaringan. Untuk melakukan hal ini, lalu lintas oubound yang melalui port 80/TCP akan diizinkan, sehingga request HTTP dari klien yang berada di dalam jaringan dapat diteruskan dan disampaikan ke luar jaringan. Ketika sebuah request HTTP outbound datang melalui filter, filter kemudian akan melakukan inspeksi terhadap paket untuk memperoleh informasi sesi koneksi TCP dari request yang bersangkutan, dan kemudian akan membuka port 80 untuk lalu lintas inbound sebagai respons terhadap request tersebut. Ketika respons HTTP datang, respons tersebut akan melalui port 80 ke dalam jaringan, dan kemudian filter pun menutup port 80 untuk lalu lintas inbound.
Pendekatan seperti ini tidak mungkin dilakukan di dalam static packet filtering, yang hanya dapat dikonfigurasikan untuk memblokir lalu lintas inbound ke port 80 atau membukanya, bukan sebagian dari lalu lintas tersebut. Meskipun demikian, dynamic packet filtering juga dapat dikelabui oleh penyerang, karena para penyerang dapat "membajak" sebuah sesi koneksi TCP dan membuat lalu lintas yang datang ke jaringan merupakan lalu lintas yang diizinkan. Selain itu, dynamic packet filtering juga hanya dapat digunakan pada paket-paket TCP saja, dan tidak dapat digunakan untuk paket User Datagram Protocol (UDP) atau paket Internet Control Message Protocol (ICMP), mengingat UDP dan ICMP bersifat connectionless yang tidak perlu membangun sebuah sesi koneksi (seperti halnya TCP) untuk mulai berkomunikasi dan bertukar informasi.