Salah satu tujuan utama dari perangkat pfSense adalah bekerja sebagai firewall. Firewall ini bertugas untuk memutuskan lalu lintas mana yang akan diperbolehkan untuk lewat atau di blokir pada jaringan. Sebelumnya kita sudah belajar mengenai instalasi pfSense pada perangkat MikroBits. Bagi yang belum lihat, bisa mempelajarinya pada artikel berikut ini
Instalasi PFSense pada MikroBits.
Perlu diketahui, pfsense merupakan open source firewall yang memiliki beberapa fitur jaringan di dalamnya. Salah satu fitur yang sering digunakan adalah firewall, load balance, dll. Bahkan pfsense bisa diinstall package tambahan pihak ketiga agar fitur yang dimiliki lebih lengkap.
Kali ini, kami akan membahas mengenai firewall yang ada pada pfsense. Seperti fitur apa saja yang ada didalamnya, serta kegunaan dan konfigurasinya.
Konfigurasi Firewall Rules pada pfSense
Contoh kasus, kita ingin menerapkan beberapa rules firewall berikut ini :
- Accept ICMP dari WAN
- Accept HTTP (80) dari WAN dari IP 192.168.76.0/23
- Block seluruh koneksi
Sesuai dengan kebutuhan di atas, kita memiliki keperluan untuk melakukan block seluruh koneksi kecuali ICMP dari WAN, dan HTTP port 80 dari 192.168.76.0/23 untuk kebutuhan remote. Secara default pada Firewall Rules pada pfsense adalah block. Sehingga jika kita tidak membuat rule yang diizinkan maka semua rule atau hampir semua trafik otomatis di block oleh firewall.
Dengan demikian maka kita bisa membuat semacam white-list. Yaitu dengan mendefinisikan rule-rule apa saja yang diperbolehkan melewati firewall. Karena pembacaan rule firewall akan berurutan, kita tidak perlu membuat rule block karena default rule firewallnya adalah block.
Untuk mengakses firewall, bisa membuka Menu Firewall kemudian Rules.
Setelah itu kita akan masuk kedalam menu firewall rules. Dan akan terdapat beberapa menu yang bisa digunakan seperti LAN, WAN, Floating. Pada menu ini, kita bisa menentukan dari mana firewall rules akan dijalankan. Dan berdasarkan kasus diatas, maka interface yang kita pilih adalah interface WAN.
Setelah itu kita bisa klik add. Tombol add disini ada 2 namun Anda tidak perlu bingung bahwa tombol add yang berada di kiri dengan icon ke atas menandakan bahwa rule yang baru saja dibuat akan berada di paling atas, sedangkan add dengan icon kebawah akan menandakan bahwa rule yang ditambahkan akan berada di paling bawah.
Seperti konfigurasi firewall pada umumnya, kita bisa menyesuaikan matcher dan action yang dibutuhkan. Matcher merupakan kriteria packet yang akan kita tangkap menggunakan firewall. Sedangkan action merupakan perlakukan jika matcher terpenuhi.
Sebagai contoh kasus pertama, kita akan membuat rule agar ICMP (ping) bisa dijalankan dari interface WAN atau internet. Rule yang bisa diterapkan adalah sebagai berikut :
Berikut beberapa penjelasan parameter yang ada pada firewall rules :
-
Action: Pada parameter ini terdapat 3 opsi yang bisa kita pilih, yaitu Pass, Block, dan Reject. Action Pass berfungsi untuk memperbolehkan koneksi atau Accept. Block digunakan untuk melakukan drop trafik secara diam-diam, sedangkan reject juga berfungsi untuk melakukan drop trafik, namun memberikan informasi ke pengirim bahwa koneksi ditolak.
-
Disabled: Parameter ini untuk menentukan apakah rule yang dibuat akan aktif atau tidak.
-
Interface: Pilih interface yang akan digunakan, sesuai dengan kasus di atas interface yang di pilih adalah interface WAN.
-
Address Family: Pilih versi IP yang digunakan. Bisa IPv4, IPv6, atau IPv4+IPv6
-
Protocol: Pilih protocol yang akan diterapkan, sesuai dengan kasus kita bisa memilih ICMP
-
ICMP Subtypes: Pilih sub-type ICMP
-
Source: Parameter ini berfungsi untuk memilih dari mana pengirim datang. Ada beberapa opsi yang bisa di pilih seperti: Any, Single Host or Alias, Network, WAN Net, WAN Address, dll.
-
Destination: Parameter ini berfungsi untuk memilih tujuan dari rule yang dibuat. Pada kasus ini kita bisa memilih WAN Address.
-
Description: Berfungsi untuk memberikan deskripsi terhadap rule yang kita buat.
Jika rule sudah di sesuaikan dengan kebutuhan maka kita bisa klik save. Setelah klik save maka nanti akan terdapat konfirmasi seperti berikut:
Jika kita sudah melakukan konfigurasi, dan terlupa melakukan konfirmasi seperti pada gambar diatas, maka rule yang kita buat masih belum bisa berjalan. Maka pastikan setelah melakukan konfigurasi kemudian tekan tombol apply change yang berwarna hijau.
Untuk rule selanjutnya, mengijinkan remote HTTP dari WAN maka kita bisa konfigurasikan seperti pada gambar berikut:
Pada akhirnya nanti kita akan memiliki 2 rule seperti berikut:
Dengan demikian, selain rule yang sudah di buat (whitelist) maka akan di drop. Sebenarnya kita juga bisa membuat kebalikan dari whitelist, yaitu blacklist. Ketika ingin menerapkan blacklist ini kita bisa membuat beberapa rule yang di block/reject. Kemudian rule yang paling bawah adalah rule accept all.
Firewall pada PFsense bekerja dengan membaca rule dari atas ke bawah. Jika pada rule pertama sudah cocok maka tidak akan membaca rule yang berada di bawahnya. Pembacaan ini akan selesai setelah mencapai kecocokan dan kemudian firewall akan mengambil tindakan yang sudah ditentukan.
Agar rule yang kita buat bisa berjalan secara efektif, maka pastikan Anda memperhatikan dalam penyusunan rule. Untuk merubah urutan firewall rules, anda bisa menggunakan drag-drop rule yang diinginkan.
SNORT
Intrusion Detection System atau IDS merupakan sistem yang bisa kita gunakan untuk mendeteksi jika aktivitas yang mencurigakan di jaringan. IDS ini sering dikombinasikan dengan firewall agar penanganannya lebih maksimal.
Pada pfsense, kita bisa menambahkan package snort dan snort ini merupakan IDS yang umum digunakan oleh network admin atau security admin. Konsepnya sebenarnya hampir sama seperti software antivirus yang sering kita pasang. Snort akan mendeteksi jika terdapat software atau trafik yang mencurigakan, lalu memberikan peringatan jika ada.
Konfigurasi yang bisa diterapkan pada Snort hampir sama seperti firewall, yaitu menggunakan rules. Rules yang digunakan bisa dibuat secara manual oleh admin jaringan atau menggunakan beberapa default rules yang bisa didownload. Berikut detail konfigurasi dan instalasinya :
1. Tambahkan package Snort dengan cara klik system >> Package Manager >> Available Packages cari package SNORT kemudian klik tombol hijau install.
2. Package-package yang sudah berhasil di install, nantinya akan masuk ke dalam menu installed packages.
3. Untuk melakukan konfigurasi snort, bisa diakses pada menu Services >> Snort.
4. Langkah awal yang bisa dilakukan dalam melakukan konfigurasi snort adalah melakukan global setting.
5. Aktifkan Snort VRT, dan pada parameter Snort Oinkmaster Code bisa di dapatkan dengan melakukan registrasi pada website snort: https://www.snort.org/.
6. Lalu di bagian bawah, aktifkan Enable OpenAppID dan juga Enable AppID Open Text Rules. Jika konfigurasi sudah dilakukan pada Global Settings ini maka lakukan save.
7. Setelah snort aktif, masuk ke menu Snort Interfaces untuk menambahkan Rules baru. Pada kasus kali ini kami akan menggunakan interface LAN (ether7) supaya user dari LAN ini tidak bisa melakukan koneksi ke sosial media seperti facebook, twitter, instagram, dll.
Tambahkan interface yang akan diterapkan snort, lalu SAVE.
8. Setelah itu, akan muncul menu baru pada snort interface seperti LAN Categories, LAN Rules, LAN Variables, dll.
9. Untuk menentukan koneksi apa saja yang akan di filter, maka bisa masuk ke menu LAN Categories, dan ceklis openappid-social_networking.rules, kemudian SAVE. Pada parameter ini Anda bisa sesuaikan dengan kebutuhan Anda.
10. Pada menu LAN Preprocs, aktifkan juga Application ID Detection, dan juga AppID Stats Logging. Kemudian klik save.
11. Langkah terakhir aktifkan blocking pada menu LAN Settings.
Tahap Pengujian
Pada tahap pengujian ini, kita bisa membuka koneksi baru misal menggunakan incognito browser dan melakukan koneksi ke sosial media misalnya facebook dan twitter. Jika berhasil maka berikut hasil yang di dapat:
Pada alerts juga terdapat informasi koneksi-koneksi apa saja yang terfilter.
Untuk konfigurasi snort yang digunakan sebenarnya bisa secara manual ataupun menggunakan konfigurasi yang sudah ada. Pada menu LAN_Categories, snort sudah menyiapkan beberapa rule yang sering digunakan seperti ads, plugin, sosmed, streaming, proxy, vpn, dll.
Kita bisa juga melihat secara detail, apa saja rule yang ada didalamnya yaitu dengan klik link rules yang sudah ada. Dan tentunya akan memudahkan kita untuk mengklasifikasikan trafik tertentu, tanpa membuat rule secara manual. Contoh detail rules untuk sosmed adalah sebagai berikut :
Artikel ini dibuat pada 15 April 2022