15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
23.10.2024

Apa itu CSF (ConfigServer Security and Firewall)? Panduan Teknis Lengkap

CSF, atau ConfigServer Security & Firewall, adalah firewall inspeksi paket stateful (SPI), daemon deteksi kegagalan login, dan suite penguatan keamanan untuk server Linux. CSF berfungsi sebagai frontend kaya fitur untuk iptables (dan nftables pada kernel yang lebih baru), mengabstraksikan manajemen aturan yang kompleks ke dalam lapisan konfigurasi terstruktur sekaligus menambahkan deteksi ancaman aktif melalui daemon pendampingnya, LFD (Login Failure Daemon).

Untuk setiap server Linux produksi — baik yang menjalankan shared hosting, VPS, maupun lingkungan dedicated bare-metal — CSF menyediakan pertahanan perimeter berlapis: pemfilteran lalu lintas masuk/keluar, analisis log secara real-time, mitigasi brute-force, deteksi pemindaian port, dan kontrol akses tingkat negara, yang semuanya dapat dikelola melalui CLI atau antarmuka web yang terintegrasi dengan cPanel, DirectAdmin, atau Webmin.

Cara Kerja CSF di Balik Layar

CSF tidak menggantikan iptables atau nftables — CSF mengelolanya. Saat Anda mendefinisikan aturan di /etc/csf/csf.conf atau memanipulasi daftar IP, CSF menerjemahkan direktif tersebut menjadi aturan netfilter tingkat kernel dan menerapkannya secara atomik.

Arsitektur ini memiliki dua komponen utama yang berjalan secara bersamaan:

  • csf — mesin aturan firewall yang membaca file konfigurasi dan mengisi rantai iptables/ip6tables.
  • lfd — daemon persisten yang memantau file log sistem secara real-time, mengevaluasi peristiwa autentikasi terhadap ambang batas yang dapat dikonfigurasi, dan menginstruksikan csf untuk memblokir atau membuka blokir alamat IP secara dinamis.

Saat startup, CSF menghapus rantai yang ada dan membangunnya kembali dari awal berdasarkan konfigurasinya. Pendekatan "clean-slate" ini mencegah akumulasi aturan dan memastikan status firewall selalu deterministik dan dapat diaudit.

Mode Operasi CSF

CSF beroperasi dalam salah satu dari dua postur lalu lintas fundamental:

Mode Allow (default untuk sebagian besar penerapan): Semua lalu lintas masuk dan keluar ditolak secara default. Hanya port yang secara eksplisit tercantum dalam direktif TCP_IN, TCP_OUT, UDP_IN, dan UDP_OUT yang diizinkan. Ini adalah postur produksi yang direkomendasikan.

Mode Testing (TESTING = "1"): CSF memuat aturan tetapi LFD tidak memberlakukan pemblokiran. Ini mencegah Anda mengunci diri selama konfigurasi awal. Selalu nonaktifkan mode testing sebelum mulai digunakan secara langsung:

# In /etc/csf/csf.conf, set:
TESTING = "0"
# Then restart CSF:
csf -r

Penjelasan Fitur Utama CSF

Mesin Aturan Firewall

CSF mengelola empat daftar port utama di csf.conf:

    TCP_IN / UDP_IN — port yang terbuka untuk koneksi masuk
    TCP_OUT / UDP_OUT — port yang diizinkan untuk koneksi keluar
    
    Konfigurasi server web minimal mungkin terlihat seperti ini:
    TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096"
    TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
    UDP_IN = "20,21,53"
    UDP_OUT = "20,21,53,113,123"
    Selain manajemen port, CSF mendukung aturan berbasis CIDR, yang memungkinkan Anda mengizinkan atau menolak seluruh rentang jaringan. Aturan disimpan dalam file datar untuk kemudahan kontrol versi:
    
    
    
    
    File
    Tujuan
    
    
    
    
    /etc/csf/csf.allow
    IP atau CIDR yang di-whitelist secara permanen
    
    
    /etc/csf/csf.deny
    IP atau CIDR yang diblokir secara permanen
    
    
    /etc/csf/csf.ignore
    IP yang tidak akan pernah diblokir otomatis oleh LFD
    
    
    /etc/csf/csf.dyndns
    Hostname DNS dinamis untuk di-resolve otomatis dan diizinkan
    
    
    
    
    Login Failure Daemon (LFD)
    LFD adalah lapisan kecerdasan aktif dari CSF. LFD memantau file log — termasuk /var/log/secure, /var/log/maillog, /var/log/exim_mainlog, dan lainnya — serta menghitung kegagalan autentikasi per IP sumber dalam jendela waktu yang dapat dikonfigurasi.
    Direktif konfigurasi LFD utama:
    
    LF_TRIGGER — jumlah kegagalan sebelum pemblokiran dikeluarkan
    LF_INTERVAL — jendela waktu bergulir (dalam detik) untuk menghitung kegagalan
    LF_DURATION — berapa lama pemblokiran sementara berlangsung (0 = permanen)
    LF_SSH, LF_FTPD, LF_SMTPAUTH, LF_POP3D, LF_IMAPD — ambang batas kegagalan per layanan
    
    Contoh penguatan praktis: atur LF_SSH = "5" dengan LF_INTERVAL = "300" untuk memblokir IP mana pun yang gagal autentikasi SSH sebanyak 5 kali dalam 5 menit. Satu direktif ini menghilangkan sebagian besar serangan credential-stuffing otomatis yang menargetkan port 22.
    Kasus tepi kritis: Jika sistem pemantauan atau agen backup Anda melakukan autentikasi dari IP dinamis, pada akhirnya akan memicu LFD. Selalu tambahkan IP sumber tersebut ke /etc/csf/csf.ignore sebelum memperketat ambang batas.
    Deteksi Intrusi dan Pelacakan Proses
    Selain pemantauan login, LFD menjalankan beberapa fungsi deteksi intrusi berbasis host:
    
    PT_LOAD — memantau beban CPU dan memberi peringatan atau memblokir jika suatu proses melebihi ambang batas yang ditentukan, berguna untuk mendeteksi cryptomining atau proses yang tidak terkendali pada infrastruktur bersama.
    PT_USERMEM dan PT_USERTIME — batas memori dan waktu CPU per pengguna, sangat penting untuk lingkungan shared web hosting di mana isolasi sumber daya sangat diperlukan.
    LF_DIRWATCH — memantau direktori tertentu untuk perubahan file, menyediakan pemantauan integritas file yang mendasar.
    LF_SCRIPT_ALERT — mendeteksi skrip yang mengirim email berlebihan, indikator umum dari aplikasi PHP yang telah disusupi.
    
    Deteksi Pemindaian Port
    CSF menggunakan pelacakan modul iptables recent untuk mengidentifikasi host yang menyelidiki beberapa port secara berurutan cepat. Direktif PS_INTERVAL, PS_LIMIT, dan PS_PORTS mengontrol sensitivitas. Ketika pemindaian port terdeteksi, IP sumber segera ditambahkan ke daftar tolak dan peringatan dikirimkan.
    Hal yang perlu diketahui: deteksi pemindaian port yang agresif dapat menghasilkan false positive dari pemindai jaringan yang sah yang digunakan oleh tim keamanan atau layanan pemantauan uptime. Tambahkan IP pemindai tersebut ke csf.ignore secara proaktif.
    DDoS dan Pembatasan Kecepatan Koneksi
    CSF menyediakan beberapa mekanisme untuk menyerap atau mengalihkan serangan volumetrik:
    
    CT_LIMIT — koneksi simultan maksimum per IP. Mengaturnya ke 100–300 untuk server web mencegah satu host memonopoli slot koneksi.
    CT_INTERVAL — seberapa sering pelacak koneksi berjalan.
    SYNFLOOD dan SYNFLOOD_RATE — mengaktifkan perlindungan SYN flood iptables dengan batas kecepatan paket yang dapat dikonfigurasi.
    UDPFLOOD — membatasi kecepatan paket UDP per IP, memitigasi serangan amplifikasi UDP.
    
    Penting untuk memahami cakupan mitigasi DDoS CSF: efektif terhadap serangan lapisan aplikasi dan serangan lapisan jaringan bervolume rendah yang berasal dari sejumlah sumber terbatas. Terhadap DDoS volumetrik berskala besar (puluhan Gbps), diperlukan null-routing upstream atau layanan scrubbing DDoS khusus. CSF melengkapi tetapi tidak menggantikan perlindungan tingkat jaringan upstream.
    Kontrol Akses Tingkat Negara (CC_DENY / CC_ALLOW)
    CSF terintegrasi dengan database GeoIP MaxMind untuk menerapkan kebijakan akses geografis. Direktif CC_DENY menerima kode negara ISO 3166-1 alpha-2:
    CC_DENY = "CN,RU,KP,IR"
    Sebagai alternatif, CC_ALLOW_FILTER dikombinasikan dengan CC_DENY = "ALL" menciptakan kebijakan geografis allowlist-only — berguna untuk layanan yang secara hukum atau operasional hanya melayani yurisdiksi tertentu.
    Jebakan operasional: Database GeoIP tidak selalu akurat. Pengguna yang sah di balik VPN perusahaan atau node edge CDN mungkin tampak berasal dari negara yang diblokir. Kombinasikan pemblokiran negara dengan IP whitelisting untuk mitra yang dikenal.
    Pemblokiran Sementara dan Pembukaan Blokir
    CSF mendukung pemblokiran dengan batas waktu, yang lebih disukai daripada larangan permanen untuk kasus yang ambigu:
    # Block an IP for 3600 seconds (1 hour)
    csf -td 192.168.1.100 3600 "Suspicious scan activity"
    
    # Remove a temporary block manually
    csf -tr 192.168.1.100
    
    # Check if an IP is currently blocked
    csf -g 192.168.1.100
    Peringatan Email dan Pelaporan
    CSF mengirimkan notifikasi email untuk berbagai macam peristiwa. Direktif LF_ALERT_TO menetapkan alamat penerima. Kategori peringatan meliputi:
    
    Pelanggaran ambang batas kegagalan login
    Login root yang berhasil
    Deteksi pemindaian port
    Pelanggaran batas sumber daya proses
    Perubahan aturan firewall
    Modifikasi file yang mencurigakan (jika LF_DIRWATCH diaktifkan)
    
    Untuk server dengan lalu lintas tinggi, kelelahan peringatan adalah risiko operasional yang nyata. Gunakan ambang batas LF_EMAIL_ALERT dan pertimbangkan untuk merutekan peringatan CSF ke kotak surat khusus atau integrasi SIEM daripada kotak masuk umum. Pengiriman peringatan yang andal bergantung pada tumpukan mail yang dikonfigurasi dengan benar — jika Anda menjalankan infrastruktur mail sendiri, email hosting dengan penyelarasan SPF/DKIM yang tepat memastikan peringatan CSF tidak diam-diam ditolak sebagai spam.
    Menginstal CSF pada Server Linux
    CSF tidak tersedia di repositori distribusi standar. Instalasinya mudah:
    # Download the latest release
    cd /usr/src
    wget https://download.configserver.com/csf.tgz
    
    # Extract and install
    tar -xzf csf.tgz
    cd csf
    sh install.sh
    Setelah instalasi, verifikasi bahwa semua modul iptables yang diperlukan tersedia:
    perl /usr/local/csf/bin/csftest.pl
    Hasil FATAL menunjukkan modul kernel yang hilang yang harus diselesaikan sebelum CSF dapat berfungsi dengan benar. Hasil WARN bersifat informatif dan biasanya tidak memblokir.
    Konfigurasi awal berada di /etc/csf/csf.conf. Langkah pertama yang paling kritis adalah menonaktifkan mode testing dan mendefinisikan port yang diizinkan sebelum me-restart daemon.
    Integrasi CSF dengan Panel Kontrol
    CSF dilengkapi dengan plugin UI native untuk tiga panel kontrol hosting Linux yang dominan:
    
    
    
    
    Panel Kontrol
    Metode Integrasi
    Lokasi UI
    
    
    
    
    cPanel / WHM
    Plugin CSF untuk WHM
    WHM > Plugins > ConfigServer Security & Firewall
    
    
    DirectAdmin
    Plugin CSF
    Panel Admin > Extra Features
    
    
    Webmin
    Modul CSF Webmin
    Webmin > Networking > ConfigServer Security & Firewall
    
    
    
    
    Integrasi WHM adalah yang paling lengkap fiturnya, menampilkan editor file konfigurasi lengkap, pencarian IP, manajemen pemblokiran sementara, dan penampil log dalam antarmuka WHM. Untuk administrator yang menjalankan VPS dengan cPanel, CSF secara efektif merupakan solusi firewall standar — CSF sudah terinstal sebelumnya atau dapat diinstal dengan mudah di hampir setiap image VPS cPanel.
    Untuk lingkungan tanpa panel kontrol, CLI sepenuhnya mampu. Perintah inti:
    csf -s    # Start firewall
    csf -f    # Stop (flush) firewall
    csf -r    # Restart firewall
    csf -l    # List current iptables rules
    csf -a 203.0.113.5   # Allow an IP permanently
    csf -d 203.0.113.5   # Deny an IP permanently
    csf -g 203.0.113.5   # Check block status of an IP
    csf -u    # Check for CSF updates
    CSF vs. Solusi Firewall Linux Alternatif
    Memahami posisi CSF dalam ekosistem yang lebih luas membantu Anda membuat keputusan arsitektur yang tepat.
    
    
    
    
    Fitur
    CSF + LFD
    UFW
    firewalld
    Fail2ban + iptables
    
    
    
    
    Lapisan abstraksi utama
    iptables / nftables
    iptables / nftables
    nftables / iptables
    iptables / nftables
    
    
    Mitigasi brute-force aktif
    Bawaan (LFD)
    Tidak ada (perlu dipasangkan)
    Tidak ada (perlu dipasangkan)
    Fitur inti
    
    
    Integrasi panel kontrol
    Native (cPanel, DA, Webmin)
    Tidak ada
    Tidak ada
    Terbatas
    
    
    GeoIP / pemblokiran negara
    Bawaan
    Tidak ada
    Tidak ada
    Melalui plugin
    
    
    Deteksi pemindaian port
    Bawaan
    Tidak ada
    Tidak ada
    Melalui filter
    
    
    Pemantauan proses/sumber daya
    Bawaan (PT_*)
    Tidak ada
    Tidak ada
    Tidak ada
    
    
    Kompleksitas konfigurasi
    Menengah-Tinggi
    Rendah
    Menengah
    Menengah
    
    
    Cocok untuk shared hosting
    Ya
    Tidak
    Tidak
    Sebagian
    
    
    Dukungan IPv6
    Ya (ip6tables)
    Ya
    Ya
    Ya
    
    
    
    
    Kapan memilih CSF: Anda menjalankan server cPanel/DirectAdmin/Webmin, VPS atau dedicated server dalam konteks multi-tenant atau hosting, atau Anda membutuhkan satu alat yang mengkonsolidasikan manajemen firewall, deteksi brute-force, dan pemantauan berbasis host tanpa harus merakit beberapa alat terpisah.
    Kapan mempertimbangkan alternatif: Anda menjalankan lingkungan microservices terkontainerisasi di mana kebijakan jaringan dikelola di lapisan orkestrasi (Kubernetes NetworkPolicy, Calico), atau Anda membutuhkan manajemen native nftables pada distribusi modern tanpa shim kompatibilitas iptables lama.
    Kasus Penggunaan Umum dan Skenario Penerapan
    Mengamankan Server Web Hosting
    Pada server cPanel yang umum, CSF harus dikonfigurasi untuk:
    
    Membuka hanya port yang diperlukan oleh layanan aktif (HTTP, HTTPS, SMTP, IMAP, POP3, FTP, SSH, DNS)
    Mengaktifkan LF_SCRIPT_ALERT untuk menangkap PHP mailer yang telah disusupi
    Mengatur CT_LIMIT untuk mencegah kelelahan koneksi dari satu sumber
    Mengaktifkan integrasi MODSEC jika ModSecurity terinstal, mengkorelasikan pemblokiran WAF dengan penolakan tingkat firewall
    
    Penguatan Akses SSH
    Menggabungkan CSF dengan autentikasi berbasis kunci SSH dan port SSH non-standar menciptakan postur kontrol akses yang kuat:
    # Allow only your management IP on the SSH port
    # In /etc/csf/csf.allow:
    tcp|in|d=2222|s=203.0.113.10  # Replace with your actual management IP and SSH port
    Atur LF_SSH = "3" untuk memblokir IP mana pun setelah tiga percobaan gagal, dan tambahkan IP manajemen Anda ke csf.ignore untuk mencegah penguncian diri yang tidak disengaja.
    Melindungi Infrastruktur Email
    Server mail adalah target brute-force bernilai tinggi. Ambang batas LFD per layanan CSF (LF_SMTPAUTH, LF_POP3D, LF_IMAPD) harus diatur secara agresif (3–5 kegagalan) pada server mana pun yang menangani SMTP terautentikasi. Padukan ini dengan sertifikat SSL yang dikonfigurasi dengan benar pada semua port mail untuk mencegah intersepsi kredensial yang akan membuat perlindungan brute-force menjadi tidak berguna.
    GPU dan Beban Kerja Berkinerja Tinggi
    Untuk lingkungan GPU hosting yang menjalankan API inferensi ML atau layanan rendering, perlindungan CT_LIMIT dan SYNFLOOD CSF sangat berharga — layanan ini sering mengekspos endpoint API bernilai tinggi yang menarik pemindaian otomatis. Batasi port API ke CIDR klien yang dikenal melalui csf.allow dan gunakan CC_DENY untuk memfilter geografi yang tidak memiliki basis pengguna yang sah.
    Daftar Periksa Penguatan Konfigurasi CSF
    Sebelum menganggap penerapan CSF siap produksi, verifikasi hal-hal berikut:
    
    TESTING = "0" telah diatur dan CSF telah di-restart
    TCP_IN dan TCP_OUT hanya berisi port yang diperlukan oleh layanan aktif — hapus default yang tidak berlaku
    Ambang batas LF_SSH, LF_FTPD, LF_SMTPAUTH diatur ke 3–5 kegagalan
    IP manajemen Anda ada di /etc/csf/csf.ignore dan /etc/csf/csf.allow
  • CT_LIMIT diaktifkan dan diatur ke nilai yang wajar (100–300 untuk server web)
  • SYNFLOOD = "1" diaktifkan pada server yang menghadap internet
  • LF_SCRIPT_ALERT = "1" diaktifkan pada server yang menjalankan aplikasi PHP
  • LF_ALERT_TO diatur ke kotak surat yang dipantau
  • csf -u dijalankan secara berkala atau diotomatiskan melalui cron untuk menjaga CSF tetap terkini
  • perl /usr/local/csf/bin/csftest.pl tidak mengembalikan kesalahan FATAL setelah pembaruan kernel apa pun
  • Matriks Keputusan: Apakah CSF Alat yang Tepat untuk Lingkungan Anda?

    LingkunganCSF Direkomendasikan?Catatan
    VPS atau dedicated server cPanel / WHMYa, sangat direkomendasikanIntegrasi native, standar industri
    Server DirectAdminYaDukungan plugin penuh
    VPS Linux tanpa panel kontrolYaManajemen CLI, set fitur lengkap
    Shared hosting (pengguna akhir)N/ADikelola oleh host, bukan pengguna akhir
    Kluster Docker / KubernetesTidakGunakan kebijakan jaringan dan alat berbasis eBPF
    Windows ServerTidakCSF hanya untuk Linux
    Origin CDN lalu lintas tinggiSebagianKombinasikan dengan perlindungan DDoS upstream

    FAQ

    Apa perbedaan antara CSF dan Fail2ban?

    Kedua alat ini melakukan pemblokiran IP brute-force dengan menganalisis file log, tetapi CSF adalah suite keamanan lengkap yang juga mengelola aturan firewall yang mendasarinya, akses port, pembatasan kecepatan koneksi, pemantauan proses, dan pemfilteran GeoIP. Fail2ban adalah alat pencegahan intrusi yang terfokus dan mengandalkan firewall eksternal (iptables, nftables, atau firewalld) untuk penegakan. Pada server hosting dengan panel kontrol, CSF adalah solusi yang lebih lengkap secara operasional. Pada sistem Linux minimal atau container, Fail2ban yang dipasangkan dengan firewalld mungkin lebih ringan dan lebih sesuai.

    Bisakah CSF memblokir lalu lintas IPv6?

    Ya. CSF mengelola set aturan iptables (IPv4) dan ip6tables (IPv6). Dukungan IPv6 diaktifkan secara default ketika kernel mendukungnya. Pastikan IPV6 = "1" diatur di csf.conf dan daftar port TCP6_IN / TCP6_OUT Anda dikonfigurasi, karena secara default mencerminkan pengaturan IPv4 tetapi dapat dikustomisasi secara independen.

    Bagaimana cara mencegah diri sendiri terkunci secara tidak sengaja saat mengonfigurasi CSF?

    Tambahkan IP manajemen Anda ke /etc/csf/csf.allow dan /etc/csf/csf.ignore sebelum membuat perubahan restriktif apa pun. Pertahankan TESTING = "1" selama konfigurasi awal — dalam mode testing, CSF memuat aturan tetapi LFD tidak memberlakukan pemblokiran, dan aturan secara otomatis dihapus setelah 5 menit jika tidak dikonfirmasi. Hanya atur TESTING = "0" setelah Anda memverifikasi konektivitas.

    Apakah CSF berfungsi pada server tanpa panel kontrol?

    Ya, sepenuhnya. CSF diinstal dan dikelola sepenuhnya melalui baris perintah. UI web adalah lapisan kenyamanan opsional untuk lingkungan panel kontrol. Semua konfigurasi dilakukan melalui file datar di /etc/csf/ dan biner CLI csf. Banyak administrator lebih memilih manajemen hanya CLI untuk kemudahan audit dan otomatisasi melalui alat manajemen konfigurasi seperti Ansible atau Puppet.

    Seberapa sering CSF harus diperbarui, dan bagaimana caranya?

    CSF harus diperbarui setiap kali versi baru dirilis, terutama untuk perubahan yang relevan dengan keamanan. Periksa pembaruan dengan csf -u, yang membandingkan versi yang terinstal dengan rilis terbaru di server unduhan ConfigServer. Pembaruan dapat diterapkan langsung dari UI plugin WHM atau melalui CLI. Otomatiskan pemeriksaan dengan cron job mingguan, tetapi terapkan pembaruan secara manual setelah meninjau changelog — pembaruan CSF terkadang mengubah nilai konfigurasi default yang perlu ditinjau sebelum penerapan.

    15%

    Hemat 15% di Semua Layanan Hosting

    Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

    Gunakan kode:

    Skills
    Memulai