Ce este CSF (ConfigServer Security and Firewall)? Un Ghid Tehnic Complet
CSF, sau ConfigServer Security & Firewall, este un firewall cu inspecție de pachete cu stare (SPI), un daemon de detectare a eșecurilor de autentificare și o suită de întărire a securității pentru serverele Linux. Funcționează ca un frontend bogat în funcții pentru iptables (și nftables pe kerneluri mai noi), abstractizând gestionarea complexă a regulilor într-un strat de configurare structurat, adăugând în același timp detectarea activă a amenințărilor prin daemonul său companion, LFD (Login Failure Daemon).
Pentru orice server Linux de producție — fie că rulează găzduire partajată, un VPS sau un mediu dedicat bare-metal — CSF oferă apărare perimetrală stratificată: filtrarea traficului de intrare/ieșire, analiza jurnalelor în timp real, atenuarea atacurilor brute-force, detectarea scanării porturilor și controlul accesului la nivel de țară, toate gestionabile printr-un CLI sau o interfață web integrată cu cPanel, DirectAdmin sau Webmin.
Cum funcționează CSF în interior
CSF nu înlocuiește iptables sau nftables — le gestionează. Când definiți reguli în /etc/csf/csf.conf sau manipulați liste de IP-uri, CSF traduce acele directive în reguli netfilter la nivel de kernel și le aplică atomic.
Arhitectura are două componente principale care rulează în tandem:
- csf — motorul de reguli firewall care citește fișierele de configurare și populează lanțurile
iptables/ip6tables. - lfd — un daemon persistent care urmărește fișierele jurnal de sistem în timp real, evaluează evenimentele de autentificare față de praguri configurabile și instruiește
csfsă blocheze sau să deblocheze dinamic adresele IP.
La pornire, CSF golește lanțurile existente și le reconstruiește de la zero pe baza configurației sale. Această abordare „slate curată” previne acumularea regulilor și asigură că starea firewall-ului este întotdeauna deterministă și auditabilă.
Modurile de operare CSF
CSF operează în una dintre cele două posturi fundamentale de trafic:
Modul Allow (implicit pentru majoritatea implementărilor): Tot traficul de intrare și ieșire este refuzat implicit. Doar porturile listate explicit în directivele TCP_IN, TCP_OUT, UDP_IN și UDP_OUT sunt permise. Aceasta este postura de producție recomandată.
Modul Testing (TESTING = "1"): CSF încarcă regulile, dar LFD nu aplică blocările. Aceasta vă împiedică să vă blocați singur în timpul configurării inițiale. Dezactivați întotdeauna modul testing înainte de a trece în producție:
# In /etc/csf/csf.conf, set:
TESTING = "0"
# Then restart CSF:
csf -rFuncțiile cheie ale CSF explicate
Motorul de reguli firewall
CSF gestionează patru liste principale de porturi în csf.conf:
TCP_IN / UDP_IN — porturi deschise pentru conexiuni de intrare
TCP_OUT / UDP_OUT — porturi permise pentru conexiuni de ieșire
O configurație minimă pentru un server web ar putea arăta astfel:
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"
Dincolo de gestionarea porturilor, CSF suportă reguli bazate pe CIDR, permițându-vă să permiteți sau să refuzați întregile intervale de rețea. Regulile sunt stocate în fișiere plate pentru un control ușor al versiunilor:
Fișier
Scop
/etc/csf/csf.allow
IP-uri sau CIDR-uri permanent pe lista albă
/etc/csf/csf.deny
IP-uri sau CIDR-uri permanent blocate
/etc/csf/csf.ignore
IP-uri pe care LFD nu le va bloca automat niciodată
/etc/csf/csf.dyndns
Hostname-uri DNS dinamice pentru rezolvare automată și permisiune
Login Failure Daemon (LFD)
LFD este stratul de inteligență activă al CSF. Monitorizează fișierele jurnal — inclusiv /var/log/secure, /var/log/maillog, /var/log/exim_mainlog și altele — și numără eșecurile de autentificare per IP sursă într-o fereastră de timp configurabilă.
Directive cheie de configurare LFD:
LF_TRIGGER — numărul de eșecuri înainte de emiterea unei blocări
LF_INTERVAL — fereastra de timp glisantă (în secunde) pentru numărarea eșecurilor
LF_DURATION — cât durează o blocare temporară (0 = permanent)
LF_SSH, LF_FTPD, LF_SMTPAUTH, LF_POP3D, LF_IMAPD — praguri de eșec per serviciu
Un exemplu practic de întărire: setați LF_SSH = "5" cu LF_INTERVAL = "300" pentru a bloca orice IP care eșuează autentificarea SSH de 5 ori în 5 minute. Această singură directivă elimină marea majoritate a atacurilor automate de tip credential-stuffing care vizează portul 22.
Caz limită critic: Dacă sistemul dvs. de monitorizare sau agentul de backup se autentifică de la un IP dinamic, va declanșa în cele din urmă LFD. Adăugați întotdeauna acele IP-uri sursă în /etc/csf/csf.ignore înainte de a strânge pragurile.
Detectarea intruziunilor și urmărirea proceselor
Dincolo de monitorizarea autentificărilor, LFD efectuează mai multe funcții de detectare a intruziunilor bazate pe gazdă:
PT_LOAD — monitorizează încărcarea CPU și alertează sau blochează dacă un proces depășește pragurile definite, util pentru detectarea cryptomining-ului sau a proceselor scăpate de sub control pe infrastructura partajată.
PT_USERMEM și PT_USERTIME — limite de memorie și timp CPU per utilizator, critice pentru mediile de găzduire web partajată unde izolarea resurselor este esențială.
LF_DIRWATCH — urmărește directoarele specificate pentru modificări de fișiere, oferind monitorizare rudimentară a integrității fișierelor.
LF_SCRIPT_ALERT — detectează scripturile care trimit email excesiv, un indicator comun al unei aplicații PHP compromise.
Detectarea scanării porturilor
CSF utilizează urmărirea modulului iptables recent pentru a identifica gazdele care sondează mai multe porturi în succesiune rapidă. Directivele PS_INTERVAL, PS_LIMIT și PS_PORTS controlează sensibilitatea. Când este detectată o scanare de porturi, IP-ul sursă este adăugat imediat pe lista de refuz și este trimisă o alertă.
Un detaliu important de știut: detectarea agresivă a scanării porturilor poate genera fals pozitive de la scanere de rețea legitime utilizate de echipele de securitate sau serviciile de monitorizare a timpului de funcționare. Adăugați proactiv acele IP-uri de scanner în csf.ignore.
DDoS și limitarea ratei de conexiune
CSF oferă mai multe mecanisme pentru a absorbi sau devia atacurile volumetrice:
CT_LIMIT — conexiuni simultane maxime per IP. Setarea acestuia la 100–300 pentru serverele web împiedică o singură gazdă să monopolizeze sloturile de conexiune.
CT_INTERVAL — cât de frecvent rulează urmăritorul de conexiuni.
SYNFLOOD și SYNFLOOD_RATE — activează protecția împotriva inundațiilor SYN iptables cu o limită de rată a pachetelor configurabilă.
UDPFLOOD — limitează rata pachetelor UDP per IP, atenuând atacurile de amplificare UDP.
Este important să înțelegeți domeniul de atenuare DDoS al CSF: este eficient împotriva atacurilor la nivel de aplicație și a atacurilor la nivel de rețea cu volum redus provenind dintr-un număr limitat de surse. Împotriva unui DDoS volumetric la scară largă (zeci de Gbps), este necesară rutarea nulă upstream sau un serviciu dedicat de curățare DDoS. CSF completează, dar nu înlocuiește protecția la nivel de rețea upstream.
Controlul accesului la nivel de țară (CC_DENY / CC_ALLOW)
CSF se integrează cu bazele de date MaxMind GeoIP pentru a aplica politici de acces geografic. Directiva CC_DENY acceptă coduri de țară ISO 3166-1 alpha-2:
CC_DENY = "CN,RU,KP,IR"
Alternativ, CC_ALLOW_FILTER combinat cu CC_DENY = "ALL" creează o politică geografică bazată exclusiv pe lista albă — utilă pentru serviciile care deservesc legal sau operațional doar anumite jurisdicții.
Capcană operațională: Bazele de date GeoIP nu sunt perfect precise. Utilizatorii legitimi din spatele VPN-urilor corporative sau al nodurilor edge CDN pot părea că provin dintr-o țară blocată. Combinați blocarea pe țară cu lista albă de IP-uri pentru partenerii cunoscuți.
Blocări temporare și deblocare
CSF suportă blocări cu limită de timp, care sunt preferabile interdicțiilor permanente pentru cazurile ambigue:
# 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
Alerte și rapoarte prin email
CSF trimite notificări prin email pentru o gamă largă de evenimente. Directiva LF_ALERT_TO setează adresa destinatarului. Categoriile de alerte includ:
Depășiri ale pragului de autentificare eșuată
Autentificări root reușite
Detectări ale scanării porturilor
Violări ale limitelor de resurse ale proceselor
Modificări ale regulilor firewall
Modificări suspecte ale fișierelor (dacă LF_DIRWATCH este activat)
Pentru serverele cu trafic ridicat, oboseala alertelor este un risc operațional real. Utilizați pragurile LF_EMAIL_ALERT și luați în considerare rutarea alertelor CSF către o cutie poștală dedicată sau o integrare SIEM, mai degrabă decât o căsuță de intrare generală. Livrarea fiabilă a alertelor depinde de o stivă de mail configurată corespunzător — dacă rulați propria infrastructură de mail, găzduirea email cu alinierea corectă SPF/DKIM asigură că alertele CSF nu sunt eliminate silențios ca spam.
Instalarea CSF pe un server Linux
CSF nu este disponibil în depozitele standard ale distribuțiilor. Instalarea este simplă:
# 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
După instalare, verificați că toate modulele iptables necesare sunt disponibile:
perl /usr/local/csf/bin/csftest.pl
Orice rezultate FATAL indică module de kernel lipsă care trebuie rezolvate înainte ca CSF să funcționeze corect. Rezultatele WARN sunt consultative și de obicei neblochante.
Configurația inițială se află în /etc/csf/csf.conf. Primul pas critic este dezactivarea modului testing și definirea porturilor permise înainte de repornirea daemonului.
Integrarea CSF cu panourile de control
CSF vine cu plugin-uri UI native pentru cele trei panouri de control dominante de găzduire Linux:
Panou de control
Metoda de integrare
Locația UI
cPanel / WHM
Plugin CSF pentru WHM
WHM > Plugins > ConfigServer Security & Firewall
DirectAdmin
Plugin CSF
Panou admin > Extra Features
Webmin
Modul CSF Webmin
Webmin > Networking > ConfigServer Security & Firewall
Integrarea WHM este cea mai completă ca funcționalitate, expunând editorul complet al fișierelor de configurare, căutarea IP, gestionarea blocărilor temporare și vizualizatorul de jurnale în interfața WHM. Pentru administratorii care rulează VPS cu cPanel, CSF este efectiv soluția standard de firewall — este preinstalat sau trivial de instalat pe aproape orice imagine VPS cPanel.
Pentru mediile fără un panou de control, CLI-ul este pe deplin capabil. Comenzi de bază:
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. soluții alternative de firewall Linux
Înțelegerea locului unde se încadrează CSF în ecosistemul mai larg vă ajută să luați o decizie arhitecturală informată.
Funcție
CSF + LFD
UFW
firewalld
Fail2ban + iptables
Stratul principal de abstractizare
iptables / nftables
iptables / nftables
nftables / iptables
iptables / nftables
Atenuare activă a atacurilor brute-force
Integrat (LFD)
Niciuna (necesită asociere)
Niciuna (necesită asociere)
Funcție de bază
Integrare cu panoul de control
Nativă (cPanel, DA, Webmin)
Niciuna
Niciuna
Limitată
GeoIP / blocare pe țară
Integrat
Niciuna
Niciuna
Prin plugin
Detectarea scanării porturilor
Integrat
Niciuna
Niciuna
Prin filtru
Monitorizarea proceselor/resurselor
Integrat (PT_*)
Niciuna
Niciuna
Niciuna
Complexitatea configurației
Medie-Ridicată
Scăzută
Medie
Medie
Potrivit pentru găzduire partajată
Da
Nu
Nu
Parțial
Suport IPv6
Da (ip6tables)
Da
Da
Da
Când să alegeți CSF: Rulați un server cPanel/DirectAdmin/Webmin, un VPS sau un server dedicat într-un context multi-tenant sau de găzduire, sau aveți nevoie de un singur instrument care să consolideze gestionarea firewall-ului, detectarea atacurilor brute-force și monitorizarea bazată pe gazdă fără a asambla mai multe instrumente separate.
Când să luați în considerare alternative: Rulați un mediu de microservicii containerizat unde politica de rețea este gestionată la nivelul orchestrării (Kubernetes NetworkPolicy, Calico), sau aveți nevoie de gestionare nativă nftables pe o distribuție modernă fără shim-uri de compatibilitate iptables moștenite.
Cazuri de utilizare comune și scenarii de implementare
Securizarea unui server de găzduire web
Pe un server cPanel tipic, CSF ar trebui configurat pentru a:
Deschide doar porturile necesare serviciilor active (HTTP, HTTPS, SMTP, IMAP, POP3, FTP, SSH, DNS)
Activa LF_SCRIPT_ALERT pentru a detecta mailerele PHP compromise
Seta CT_LIMIT pentru a preveni epuizarea conexiunilor dintr-o singură sursă
Activa integrarea MODSEC dacă ModSecurity este instalat, corelând blocările WAF cu refuzurile la nivel de firewall
Întărirea accesului SSH
Combinarea CSF cu autentificarea SSH bazată pe chei și un port SSH non-standard creează o postură robustă de control al accesului:
# 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
Setați LF_SSH = "3" pentru a bloca orice IP după trei încercări eșuate și adăugați IP-ul dvs. de management în csf.ignore pentru a preveni blocarea accidentală a propriului acces.
Protejarea infrastructurii de email
Serverele de mail sunt ținte de mare valoare pentru atacurile brute-force. Pragurile LFD per serviciu ale CSF (LF_SMTPAUTH, LF_POP3D, LF_IMAPD) ar trebui setate agresiv (3–5 eșecuri) pe orice server care gestionează SMTP autentificat. Asociați aceasta cu certificate SSL configurate corespunzător pe toate porturile de mail pentru a preveni interceptarea credențialelor, care ar face inutilă protecția împotriva atacurilor brute-force.
GPU și sarcini de lucru de înaltă performanță
Pentru mediile de găzduire GPU care rulează API-uri de inferență ML sau servicii de randare, protecția CT_LIMIT și SYNFLOOD a CSF este deosebit de valoroasă — aceste servicii expun adesea endpoint-uri API de mare valoare care atrag sondarea automată. Restricționați porturile API la CIDR-urile cunoscute ale clienților prin csf.allow și utilizați CC_DENY pentru a filtra geografiile fără o bază de utilizatori legitimă.
Listă de verificare pentru întărirea configurației CSF
Înainte de a considera o implementare CSF pregătită pentru producție, verificați următoarele:
TESTING = "0" este setat și CSF a fost repornit
TCP_IN și TCP_OUT conțin doar porturile necesare serviciilor active — eliminați valorile implicite care nu se aplică
Pragurile LF_SSH, LF_FTPD, LF_SMTPAUTH sunt setate la 3–5 eșecuri
IP-urile dvs. de management sunt în /etc/csf/csf.ignore și /etc/csf/csf.allowCT_LIMIT este activat și setat la o valoare rezonabilă (100–300 pentru serverele web)SYNFLOOD = "1" este activat pe serverele expuse la internetLF_SCRIPT_ALERT = "1" este activat pe serverele care rulează aplicații PHPLF_ALERT_TO este setat la o cutie poștală monitorizatăcsf -u este rulat periodic sau automatizat prin cron pentru a menține CSF actualizatperl /usr/local/csf/bin/csftest.pl nu returnează erori FATAL după orice actualizare de kernelMatrice de decizie: CSF este instrumentul potrivit pentru mediul dvs.?
| Mediu | CSF recomandat? | Note |
|---|---|---|
| VPS sau server dedicat cPanel / WHM | Da, cu tărie | Integrare nativă, standard în industrie |
| Server DirectAdmin | Da | Suport complet pentru plugin |
| VPS Linux bare fără panou de control | Da | Gestionare CLI, set complet de funcții |
| Găzduire partajată (utilizator final) | N/A | Gestionat de furnizor, nu de utilizatorul final |
| Cluster Docker / Kubernetes | Nu | Utilizați politici de rețea și instrumente bazate pe eBPF |
| Windows Server | Nu | CSF este exclusiv pentru Linux |
| Origine CDN cu trafic ridicat | Parțial | Combinați cu protecție DDoS upstream |
Întrebări frecvente
Care este diferența dintre CSF și Fail2ban?
Ambele instrumente efectuează blocarea IP prin forță brută analizând fișierele jurnal, dar CSF este o suită completă de securitate care gestionează și regulile firewall subiacente, accesul la porturi, limitarea ratei de conexiune, monitorizarea proceselor și filtrarea GeoIP. Fail2ban este un instrument focalizat de prevenire a intruziunilor care se bazează pe un firewall extern (iptables, nftables sau firewalld) pentru aplicare. Pe serverele de găzduire cu panouri de control, CSF este soluția mai completă operațional. Pe sistemele Linux minimale sau containere, Fail2ban asociat cu firewalld poate fi mai ușor și mai adecvat.
Poate CSF bloca traficul IPv6?
Da. CSF gestionează atât seturile de reguli iptables (IPv4) cât și ip6tables (IPv6). Suportul IPv6 este activat implicit când kernelul îl suportă. Asigurați-vă că IPV6 = "1" este setat în csf.conf și că listele de porturi TCP6_IN / TCP6_OUT sunt configurate, deoarece implicit oglindesc setările IPv4, dar pot fi personalizate independent.
Cum previn blocarea accidentală a propriului acces la configurarea CSF?
Adăugați IP-ul dvs. de management atât în /etc/csf/csf.allow cât și în /etc/csf/csf.ignore înainte de a face orice modificări restrictive. Păstrați TESTING = "1" în timpul configurării inițiale — în modul testing, CSF încarcă regulile, dar LFD nu aplică blocările, iar regulile sunt golite automat după 5 minute dacă nu sunt confirmate. Setați TESTING = "0" doar după ce ați verificat conectivitatea.
Funcționează CSF pe servere fără un panou de control?
Da, complet. CSF este instalat și gestionat în întregime prin linia de comandă. Interfața web este un strat opțional de comoditate pentru mediile cu panou de control. Toată configurarea se face prin fișiere plate în /etc/csf/ și binarul CLI csf. Mulți administratori preferă gestionarea exclusiv prin CLI pentru auditabilitate și automatizare prin instrumente de gestionare a configurației precum Ansible sau Puppet.
Cât de des ar trebui actualizat CSF și cum se face?
CSF ar trebui actualizat ori de câte ori este lansată o versiune nouă, în special pentru modificările relevante pentru securitate. Verificați actualizările cu csf -u, care compară versiunea instalată cu cea mai recentă lansare de pe serverul de descărcare ConfigServer. Actualizările pot fi aplicate direct din interfața UI a plugin-ului WHM sau prin CLI. Automatizați verificarea cu un cron job săptămânal, dar aplicați actualizările manual după revizuirea jurnalului de modificări — actualizările CSF schimbă ocazional valorile implicite ale configurației care necesită revizuire înainte de implementare.
