Skip to main content
๐Ÿš€ nusa.id cloud server linux indonesialihat paket

Instalasi dan Konfigurasi CSF Firewall di Debian 12

ยท 4 min read

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โ€‹

  1. Status service: sudo systemctl status csf lfd menampilkan active (running)
  2. Rule aktif: sudo csf -l menampilkan daftar rule yang aktif
  3. Port listening: sudo csf --portlist menampilkan port yang diizinkan
  4. Testing iptables: sudo iptables -L -n untuk melihat chain CSF
  5. Blocklist aktif: sudo csf --blstatus menampilkan 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.