Menu Home

Setting Firewall di FreeBSD Menggunakan IPFW

Assalammualaikum, di tengah hari menjelang sore yang panas ini, sampai-sampai lepas baju PNS tinggal daleman ditemani AC dengan suhu 16 derajat Celcius di ruangan kantor yang berantakan hehehe, nyempetin untuk nulis sebuah artikel bertema Firewall di FreeBSD sebagai catatan pribadi saya dengan harapan semoga bermanfaat juga buat teman-teman yang tertarik.

Kalo di Linux biasanya untuk setting menyetting firewall kita menggunakan IPTables yang biasanya dipermudah oleh script2 yang banyak bertebaran di Internet, seperti ConfigServer, Fail2Ban dll. Nah kalo di FreeBSD, karena saya belum menemukan script yang mudah untuk digunakan nyetting Firewall, maka saya menggunakan Tools Firewall standar bawaan FreeBSD yang bernama IPFW. Untuk lebih jelasnya tentang apa itu IPFW, silahkan cek dokumentasi FreeBSD aja ya langsung 🙂

Ternyata, yang saya suka dari si Setan Merah ini adalah nyetting Firewallnya sangat mudah dilakukan, dan gak pake lama, gak nyampe 5 menit juga udah kelar tuh Firewall membentengi Server kita. Kalo gak percaya, coba deh ikuti langkah demi langkah yang saya lakukan pada server saya.

Contoh kasus di sini, saya hanya ingin 2 port saja yang aktif di server saya, yaitu: Port SSH (22) dan Port HTTP (80), dengan tambahan Port SSH hanya bisa diakses dari IP tertentu saja, sebagai contoh IPnya adalah : 1.2.3.4.  Maka langkah2 yang perlu saya lakukan adalah:

Editing file /etc/rc.conf

# nano /etc/rc.conf

firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw.rules"
firewall_logging="YES"

Kemudian definisikan aturan / rule dari firewall anda, dengan cara:

# nano /usr/local/etc/ipfw.rules

IPF="ipfw -q add"
ipfw -q -f flush

#loopback
$IPF 10 allow all from any to any via lo0
$IPF 20 deny all from any to 127.0.0.0/8
$IPF 30 deny all from 127.0.0.0/8 to any
$IPF 40 deny tcp from any to any frag

#statefull
$IPF 50 check-state
$IPF 60 allow tcp from any to any established
$IPF 70 allow all from any to any out keep-state
$IPF 80 allow icmp from any to any

#open port ssh (22), http (80)
$IPF 110 allow tcp from 1.2.3.4 to any 22 in
$IPF 120 allow tcp from any to any 22 out
$IPF 130 allow tcp from any to any 80 in
$IPF 140 allow tcp from any to any 80 out

#deny and log everything
$IPF 500 deny log all from any to any

Enable Logging

# nano /etc/syslog.conf

!ipfw
*.* /var/log/ipfw/ipfw.log

# mkdir /var/log/ipfw
# touch /var/log/ipfw/ipfw.log
# killall -HUP syslogd

Done …

Langkah selanjutnya adalah dengan me-reboot server anda. Dan untuk ngecek apakah firewall anda sudah bekerja dapat dilakukan dengan:

# ipfw list

Jika ada perubahan rules, maka Anda bisa me-restart service IPFW anda dengan cara:

# service ipfw restart

Done …

Gampang kan, ternyata nyetting Firewall di FreeBSD gak terlalu sulit kan 🙂

Selamat mencoba …

Categories: Server

Tagged as:

rizko

Tinggalkan Balasan