15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
23.10.2024

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 csf să 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 -r

Funcț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.allow
  • CT_LIMIT este activat și setat la o valoare rezonabilă (100–300 pentru serverele web)
  • SYNFLOOD = "1" este activat pe serverele expuse la internet
  • LF_SCRIPT_ALERT = "1" este activat pe serverele care rulează aplicații PHP
  • LF_ALERT_TO este setat la o cutie poștală monitorizată
  • csf -u este rulat periodic sau automatizat prin cron pentru a menține CSF actualizat
  • perl /usr/local/csf/bin/csftest.pl nu returnează erori FATAL după orice actualizare de kernel
  • Matrice de decizie: CSF este instrumentul potrivit pentru mediul dvs.?

    MediuCSF recomandat?Note
    VPS sau server dedicat cPanel / WHMDa, cu tărieIntegrare nativă, standard în industrie
    Server DirectAdminDaSuport complet pentru plugin
    VPS Linux bare fără panou de controlDaGestionare CLI, set complet de funcții
    Găzduire partajată (utilizator final)N/AGestionat de furnizor, nu de utilizatorul final
    Cluster Docker / KubernetesNuUtilizați politici de rețea și instrumente bazate pe eBPF
    Windows ServerNuCSF este exclusiv pentru Linux
    Origine CDN cu trafic ridicatParțialCombinaț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.

    15%

    Economisește 15% la toate serviciile de găzduire

    Testează-ți abilitățile și obține Reducere la orice plan de găzduire

    Utilizați codul:

    Skills
    Începeți