Cara Setting Firewall dengan IPFW di FreeBSD
Firewall berfungsi untuk menyaring lalu lintas jaringan yang masuk dan keluar yang mengalir melalui suatu sistem. Firewall dapat menggunakan satu atau lebih set aturan (rules) untuk memeriksa paket jaringan saat paket tersebut masuk atau keluar dari koneksi jaringan, kemudian memutuskan untuk mengizinkan lalu lintas tersebut diterima atau diblokir.
Rules dari Firewall dapat memeriksa satu atau lebih karakteristik paket seperti jenis protokol, alamat host sumber atau tujuan, dan port sumber atau tujuan.
Firewall dapat meningkatkan keamanan host atau jaringan. Firewall dapat digunakan untuk melakukan beberapa hal berikut ini:
- Melindungi dan mengisolasi aplikasi, layanan, dan mesin jaringan internal dari lalu lintas yang tidak diinginkan dari jaringan publik (internet)
- Membatasi atau menonaktifkan akses dari host jaringan internal ke jaringan publik (internet)
- Mendukung Network Address Translation (NAT) yang memungkinkan jaringan internal menggunakan private IP address dan berbagi satu koneksi internet dengan menggunakan satu public IP address atau kumpulan (pool) public IP address yang ditetapkan secara otomatis
FreeBSD memiliki 3 firewall yang telah tersedia secara default di base system, yaitu PF (Packet Filter), IPFW (IP Firewall), dan IPFILTER (IPF).
Firewall IPFW
IPFW adalah stateful firewall yang dibuat untuk FreeBSD yang mendukung IPv4 dan IPv6. FreeBSD menyediakan contoh ruleset di /etc/rc.firewall yang mendefinisikan beberapa jenis firewall untuk skenario umum guna membantu pemula dalam membuat ruleset yang sesuai.
Mengaktifkan IPFW
Mengaktifkan IPFW secara otomatis pada saat boot.
1 | sysrc firewall_enable="YES" |
Tidak menampilkan prompt messages untuk mengambil tindakan di shell.
1 | sysrc firewall_quiet="YES" |
Memakai firewall type workstation.
1 | sysrc firewall_type="workstation" |
Hanya mengijinkan service pada port 22 (SSH) dan port 80 (HTTP).
1 | sysrc firewall_myservices="22/tcp 80/tcp" |
Mengizinkan IP eksternal menggunakan service di atas.
1 | sysrc firewall_allowservices="any" |
Mengaktifkan log, merekam aktifitas yang gagal mengakses service.
1 | sysrc firewall_logdeny="YES" |
Memeriksa apakah konfigurasi di atas telah ditambahkan ke /etc/rc.conf.
1 | cat /etc/rc.conf | grep firewall |
Hasilnya.
1 2 3 4 5 6 | firewall_enable="YES" firewall_quiet="YES" firewall_type="workstation" firewall_myservices="22/tcp 80/tcp" firewall_allowservices="any" firewall_logdeny="YES" |
Menjalankan ipfw service.
1 | service ipfw start |
Memeriksa status ipfw service.
1 | service ipfw status |
Hasilnya.
1 | ipfw is enabled |
Firewall type yang tersedia, yaitu:
- open: mengizinkan semua traffic
- client: hanya memproteksi mesin ini
- simple: memproteksi keseluruhan jaringan
- closed: menonaktifkan semua IP traffic kecuali loopback interface
- workstation: hanya memproteksi mesin ini menggunakan stateful rules
- UNKNOWN: menonaktifkan loading firewall rules
- filename: full path dari file yang berisi firewall ruleset
Jika firewall_type menggunakan client atau simple, rules yang digunakan berada di /etc/rc.firewall. filename, untuk load custom ruleset.
Cara lain untuk load custom ruleset adalah dengan mengatur firewall_script.
1 | sysrc firewall_script="/etc/ipfw.rules" |
Informasi lebih lengkap tentang IPFW di FreeBSD Handbook.
Selamat mencoba 🙂