Instalasi dan Konfigurasi CSF Firewall di Debian 12
Server produksi tanpa firewall seperti pintu rumah tanpa kunci โ port terbuka untuk siapa saja, serangan brute-force tinggal menunggu waktu, dan DDoS bisa melumpuhkan layanan dalam hitungan detik. CSF (ConfigServer Security & Firewall) menyediakan Stateful Packet Inspection (SPI) firewall dengan intrusion detection dan login failure monitoring dalam satu paket.
Mengapa CSFโ
CSF adalah firewall berbasis iptables yang terintegrasi dengan daemon lfd (Login Failure Daemon) untuk mendeteksi percobaan login mencurigakan. CSF cocok untuk server produksi yang membutuhkan keamanan berlapis tanpa kompleksitas konfigurasi manual iptables.
Panduan ini menggunakan Nusa Cloud VPS dengan Debian 12.
Risiko yang Perlu Diperhatikanโ
Sebelum instalasi, pahami dua risiko utama:
- Terkunci dari server โ konfigurasi port SSH yang salah atau testing mode yang tidak diaktifkan bisa memblokir akses
- Konflik dengan firewall lain โ UFW atau firewalld yang berjalan bersamaan menyebabkan aturan tumpang tindih
Prasyaratโ
- Server Debian 12 dengan akses root atau sudo
- Koneksi internet
- Port SSH (22) sudah terbuka โ konfirmasi dengan
ss -tlnp | grep 22
Cara Install CSF di Debian 12โ
1. Update Sistem dan Install Dependensiโ
sudo apt update
sudo apt upgrade -y
CSF membutuhkan sejumlah modul Perl. Install semuanya:
sudo apt install -y libio-socket-inet6-perl libsocket6-perl sendmail dnsutils unzip libio-socket-ssl-perl libcrypt-ssleay-perl git perl iptables libnet-libidn-perl libwww-perl liblwp-protocol-https-perl libgd-graph-perl
2. Nonaktifkan UFWโ
Jika UFW aktif, nonaktifkan dahulu untuk menghindari konflik:
sudo ufw disable
3. Download dan Instal CSFโ
cd /usr/src
sudo wget https://download.configserver.dev/csf.tgz
sudo tar -xzf csf.tgz -C /usr/src/
cd /usr/src/csf
sudo sh install.sh
4. Verifikasi Kesiapan iptablesโ
CSF menyertakan script pengecekan kesiapan sistem:
sudo perl /usr/local/csf/bin/csftest.pl
Pastikan semua baris menampilkan hasil OK.
Konfigurasi Dasar CSF untuk Produksiโ
5. Set TESTING Modeโ
Edit file konfigurasi utama:
sudo nano /etc/csf/csf.conf
Aktifkan TESTING mode agar tidak langsung memblokir koneksi Anda:
TESTING = "1"
6. Atur Port yang Diizinkanโ
TCP_IN = "22,80,443,25,587,993,995"
TCP_OUT = "22,80,443,25,587,465,993,995"
UDP_IN = ""
UDP_OUT = "53,123,67,68"
Tambahkan port lain sesuai kebutuhan aplikasi.
7. Konfigurasi Proteksi SYN Floodโ
Cari dan sesuaikan:
SYNFLOOD = "1"
SYNFLOOD_RATE = "100/s"
SYNFLOOD_BURST = "200"
8. Nonaktifkan TESTING Modeโ
Setelah yakin konfigurasi benar, ubah:
TESTING = "0"
9. Start Service dan Aktifkanโ
sudo systemctl start csf lfd
sudo systemctl enable csf lfd
Verifikasi:
sudo systemctl status csf lfd
10. Atur Firewall Rule Tambahanโ
Allow/Deny ping (ICMP) โ di /etc/csf/csf.conf:
ICMP_IN = "1"
ICMP_OUT = "1"
Batasi koneksi simultan per IP:
CONNLIMIT = "22;10,80;20,443;20"
Konfigurasi di atas membatasi maksimal 10 koneksi SSH dan 20 koneksi HTTP/HTTPS per IP.
11. Blokir IP Melalui Blocklistโ
Edit /etc/csf/csf.blocklists:
sudo nano /etc/csf/csf.blocklists
Aktifkan blocklist seperti Spamhaus DROP dan DShield:
SPAMDROP|86400|0|https://www.spamhaus.org/drop/drop.txt
DSHIELD|86400|0|https://feeds.dshield.org/block.txt
Update dan reload:
sudo csf --update
sudo csf -r
12. Blokir dan Izinkan IP Manualโ
# Blokir IP spesifik
sudo csf --deny 203.0.113.50
# Lihat IP yang diblokir
sudo csf --deny
# Hapus blokir
sudo csf --remove 203.0.113.50
# Izinkan IP permanen
sudo csf --allow 203.0.113.100
Verifikasiโ
- Status service:
sudo systemctl status csf lfdmenampilkanactive (running) - Rule aktif:
sudo csf -lmenampilkan daftar rule yang aktif - Port listening:
sudo csf --portlistmenampilkan port yang diizinkan - Testing iptables:
sudo iptables -L -nuntuk melihat chain CSF - Blocklist aktif:
sudo csf --blstatusmenampilkan status blocklist
Troubleshootingโ
Koneksi SSH terputus setelah start CSFโ
Akses melalui console VPS dan nonaktifkan CSF:
sudo csf -d
Periksa konfigurasi port SSH di TCP_IN pada /etc/csf/csf.conf.
CSF tidak bisa startโ
sudo journalctl -u csf --no-pager
sudo tail -f /var/log/lfd.log
Dependensi Perl tidak terpenuhiโ
sudo apt install --reinstall perl libwww-perl libio-socket-ssl-perl
Butuh Bantuan?โ
Jika mengalami masalah selama instalasi atau konfigurasi CSF, buka Tiket Bantuan di Client Area.
