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