Halo para pejuang terminal!
Kalau kamu sudah sampai tahap belajar firewall di FreeBSD, selamat ya! Kamu sudah naik level dari sekadar ngoprek jaringan ke ranah keamanan jaringan — atau istilah kerennya: network hardening.
Di dunia FreeBSD, kita punya dua jagoan utama untuk urusan firewall:
pf
(Packet Filter)ipfw
(IP Firewall)
Keduanya sama-sama powerful, tapi punya filosofi berbeda. Jadi, artikel ini akan ngebahas:
- Apa itu firewall dan kenapa penting
- Perbedaan pf vs ipfw
- Cara konfigurasi dasar masing-masing
- Contoh rule praktis
- Tips buat pemula
Siapkan terminal dan secangkir kopi (atau teh), kita mulai!
Kenapa Perlu Firewall?
Coba bayangin kamu punya rumah tanpa pagar. Siapa pun bisa masuk, lihat-lihat, bahkan bawa pulang barangmu. Nah, firewall itu ibarat pagar dan satpam digital. Dia bisa:
- Nolak koneksi asing yang mencurigakan
- Batasi akses ke port tertentu
- Log aktivitas jaringan
- Ngatur lalu lintas data (baik dari/ke dalam jaringan)
Jadi, firewall bukan cuma buat “orang paranoid”, tapi kebutuhan dasar buat sistem yang online.
pf vs ipfw: Mana yang Cocok Buat Kamu?
pf (Packet Filter)
- Asalnya dari OpenBSD
- Syntax gampang dibaca dan ditulis
- Lebih modern dan banyak dipakai di router/firewall profesional (misalnya pfSense)
- Fokus pada simplicity dan deklaratif
ipfw (IP Firewall)
- Buatan asli FreeBSD
- Lebih fleksibel dan granular
- Bisa dikombinasikan dengan traffic shaping (dummynet)
- Syntax mirip ACL, agak “kaku” tapi powerful
Konfigurasi pf
di FreeBSD
1. Aktifkan pf
Edit file /etc/rc.conf
:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
2. Buat Rules di /etc/pf.conf
ext_if = "em0"
set block-policy drop
set skip on lo
block all
pass in on $ext_if proto tcp to port 22
pass out proto { tcp udp } to port { 53 80 443 }
3. Jalankan pf
sudo service pf start
Untuk reload:
sudo pfctl -nf /etc/pf.conf
sudo pfctl -f /etc/pf.conf
4. Lihat status pf
sudo pfctl -sr
sudo pfctl -si
Log Aktivitas
tcpdump -n -e -ttt -i pflog0
Konfigurasi ipfw
di FreeBSD
1. Aktifkan ipfw
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
firewall_type="open"
2. Buat Skrip /etc/ipfw.rules
#!/bin/sh
ipfw -q -f flush
ipfw add 100 allow all from any to any via lo0
ipfw add 110 deny all from 127.0.0.0/8 to any in
ipfw add 120 deny all from any to 127.0.0.0/8 in
ipfw add 200 allow tcp from any to me 22 in
ipfw add 300 allow tcp from me to any 80,443 out
ipfw add 310 allow udp from me to any 53 out
ipfw add 400 allow tcp from any to me established
ipfw add 500 allow udp from any to me keep-state
ipfw add 65000 deny all from any to any
3. Jalankan
sudo service ipfw start
sudo sh /etc/ipfw.rules
4. Lihat Daftar Rule
sudo ipfw list
Perbandingan Singkat
Fitur | pf | ipfw |
---|---|---|
Asal | OpenBSD | FreeBSD asli |
Konfigurasi | Deklaratif, ringkas | Imperatif, eksplisit |
Log bawaan | Ya (pflog) | Manual |
Stateful | Ya | Ya |
Traffic shaping | Terbatas | Dengan dummynet |
Cocok untuk | Router/firewall | Server, eksperimen |
Tips Anti-Ngadat
- Uji rules manual sebelum reboot.
- Simpan backup konfigurasi.
- Gunakan log dan
tcpdump
untuk debugging. - Gunakan urutan rule yang jelas dan tidak tumpang tindih.
Contoh Kasus Praktis
Kasus: Server Web dengan Port Terbatas
pf:
block all
pass in on em0 proto tcp to port { 80 443 }
pass out proto { tcp udp } to port { 53 80 443 }
ipfw:
ipfw add allow tcp from any to me 80,443 in
ipfw add allow tcp from me to any 80,443 out
ipfw add allow udp from me to any 53 out
ipfw add deny all from any to any
Kasus: Client Komputer yang Hanya Boleh Akses Internet
pf:
block all
pass out all
ipfw:
ipfw add allow all from me to any out
ipfw add deny all from any to any
Pilih Sesuai Gaya dan Kebutuhan
Kalau kamu pengen konfigurasi yang ringkas, nyaman dibaca, dan langsung bisa digunakan di router atau server — pf adalah temanmu.
Tapi kalau kamu pengen granular control, kombinasi dengan traffic shaping, dan gak keberatan syntax panjang — ipfw bisa jadi alat eksperimen favorit.
Yang penting:
- Backup config-mu
- Pahami rule yang kamu tulis
- Uji coba di lingkungan aman dulu
Semoga artikel ini bikin kamu makin nyaman ngoprek FreeBSD tanpa takut kebobolan dari jaringan.
0 comments:
Post a Comment