Cum se instalează CSF (Config Server Firewall) pe Debian 12

Configurare noua (How To)

Situatie

CSF sau Config Server Firewall este un firewall Stateful Packet Inspection (SPI) bazat pe IPtables și Perl. Acesta oferă un proces daemon care monitorizează serviciile dvs. pentru erori și autentificare și oferă, de asemenea, integrare cu interfața web pentru gestionarea serverelor bazate pe web, cum ar fi Webmin, cPanel și DirectAdmin.

În acest tutorial, vă vom ghida prin procesul de instalare a CSF (Config Server Firewall) pe serverul Debian 12. Veți învăța, de asemenea, configurația de bază a CSF, blocarea adreselor IP folosind două metode diferite și configurarea interfeței web CSF pentru o gestionare și monitorizare ușoară.

ACTUALIZARE: Firewall-ul CSF a fost închis în august 2025. Puteți utiliza în schimb fork-ul său, Sentinel Firewall:

Cerințe preliminare

Pentru a începe cu acest tutorial, asigură-te că ai următoarele:

  • Un server Debian 12.
  • Un utilizator non-root cu privilegii de administrator.

Pregătirea sistemului

Înainte de a instala CSF, trebuie să vă asigurați că dependențele sunt instalate. Acestea includ pachete precum Perl și iptables. De asemenea, atunci când rulează un alt firewall, cum ar fi UFW (Uncomplicated Firewall), trebuie să îl dezactivați.

Pentru a începe, executați următoarea comandă pentru a actualiza depozitul Debian.

sudo apt update


După ce repozitoriul este actualizat, instalați următoarele dependențe pentru CSF folosind comanda de mai jos.

sudo apt install 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

Tastați Y și apăsați ENTER pentru a continua.


În cele din urmă, trebuie să dezactivați UFW dacă îl aveți pe serverul Debian. CSF folosește implicit iptables ca firewall și filtru de pachete.

sudo ufw disable

Descărcarea și instalarea CSF-ului

În secțiunea următoare, veți descărca și instala manual CSF (Config Server Firewall) din sursă. Așadar, haideți să începem.

Descărcați codul sursă CSF folosind comanda wget de mai jos. Veți vedea fișierul csf.tgz.

wget http://download.configserver.com/csf.tgz

Acum extrageți fișierul csf.tgz folosind comanda tar de mai jos. Codul sursă CSF va fi disponibil în directorul csf.

sudo tar -xvzf csf.tgz

Apoi, mutați-vă în directorul csf și executați scriptul install.sh pentru a porni instalarea.

cd csf; sh install.sh

Când pornește instalarea, ar trebui să obțineți următoarele:

Când procesul este finalizat, ar trebui să primiți mesajul „Instalare finalizată” .

Acum că CSF este instalat, verificați-l folosind comanda de mai jos.

perl /usr/local/csf/bin/csftest.pl

Asigurați-vă că rezultatul fiecărui test de caracteristici este OK 

În cele din urmă, executați următoarea comandă pentru a verifica locația și versiunea fișierului binar CSF.

which csf
csf -v

În următoarea ieșire, puteți vedea că CSF v14.20 este instalat în /usr/sbin/csf .

Configurarea CSF-ului

După ce ați instalat CSF, veți învăța câteva configurații de bază ale CSF (Config Server Firewall). Directorul principal de configurare pentru CSF este directorul /etc/csf , unde veți găsi fișierul principal de configurare CSF, csf.conf .

Folosește următoarea comandă din editorul nano pentru a deschide fișierul de configurare CSF /etc/csf/csf.conf .

sudo nano /etc/csf/csf.conf

Permiteți traficul prin CSF

Găsiți opțiunile TCP_* și UDP_* și adăugați porturile.

# Se permit porturile TCP de intrare 
TCP_IN = "20,21,22,25,53,853,80,110,143,443,465,587,993,995" 

# Se permit porturile TCP de ieșire 
TCP_OUT = "20,21,22,25,53,853,80,110,113,443,587,993,995" 

# Se permit porturile UDP de intrare 
UDP_IN = "20,21,53,853,80,443" 

# Se permit porturile UDP de ieșire 
# Pentru a permite traceroute-ul de ieșire, adăugați 33434:33523 la această listă 
UDP_OUT = "20,21,53,853,113,123"


Opțiuni detaliate:

  • TCP_IN : permite traficul de intrare către porturile TCP.
  • TCP_OUT : permite traficul de ieșire către anumite porturi TCP.
  • UDP_IN : permite traficul de intrare către porturile UDP.
  • UDP_OUT : permite traficul de ieșire către anumite porturi UDP.

Permite/Refuză cererile Ping sau ICMP

Dacă trebuie neapărat să dezactivați Ping sau ICMP „IN și OUT”, utilizați următoarele opțiuni. „ICMP_IN = 1” înseamnă că ping-ul va fi permis, iar „ICMP_OUT = 1” înseamnă că serverul poate face ping către o altă rețea.

# Se permite PING-ul primit. Dezactivarea PING-ului va întrerupe probabil timpul de funcționare extern 
# monitorizare 
ICMP_IN = "1" 
... 
# Se permite PING-ul trimis 
# 
# Dacă nu există un motiv anume, această opțiune NU ar trebui dezactivată, deoarece 
# ar putea întrerupe funcționalitatea sistemului de operare 
ICMP_OUT = "1"


Protecție Synflood

ACTIVAȚI această opțiune DOAR atunci când este necesar, de exemplu împotriva atacurilor DOS asupra serverului dumneavoastră.

############################################################################### 
# SECȚIUNE: Setări Port Flood 
################################################################################ 
# Activează protecția împotriva SYN Flood. Această opțiune configurează iptables pentru a oferi o anumită 
# protecție împotriva încercărilor DOS de trimitere a pachetelor tcp SYN. 
​​... 
SYNFLOOD = "0" 
SYNFLOOD_RATE = "100/s" 
SYNFLOOD_BURST = "150"


Limitarea conexiunilor simultane

Apoi, utilizați opțiunea „CONNLIMIT” pentru a limita conexiunile simultane pentru anumite porturi. Formatul este „ PORT;LIMIT ”, de exemplu, configurația „ 22;5 ” va limita portul SSH la doar 5 conexiuni simultane .

# Protecție la limita conexiunii. Această opțiune configurează iptables pentru a oferi 
o protecție sporită # împotriva atacurilor DOS împotriva anumitor porturi. Poate fi folosită și ca o 
# modalitate de a limita pur și simplu utilizarea resurselor în funcție de adresa IP pentru anumite servicii de server. 
# Notă: Rulați /etc/csf/csftest.pl pentru a verifica dacă această opțiune va funcționa pe 
# acest server 
CONNLIMIT = "22;5,21;10"

Dezactivați modul TESTARE și restricționați accesul la Syslog

Acum, dacă ați configurat totul și ați adăugat porturile, schimbați „ TESTING ” la „ 1 ” și restricționați accesul la socket-urile rsyslog cu „ RESTRICT_SYSLOG= “3” ”.

# lfd nu va porni cât timp această opțiune este activată 
TESTING = "0" 

... 
# 0 = Permite utilizarea și configurarea opțiunilor enumerate mai sus 
# 1 = Dezactivează toate opțiunile enumerate mai sus și împiedică utilizarea lor 
# 2 = Dezactivează doar alertele despre această funcție și nu face nimic altceva 
# 3 = Restricționează accesul syslog/rsyslog la RESTRICT_SYSLOG_GROUP ** RECOMANDAT ** 
RESTRICT_SYSLOG = "3"

Când totul este gata, salvați fișierul și ieșiți din editor.

Testarea și pornirea serviciului CSF

Acum executați comanda csf de mai jos pentru a verifica configurația. Dacă aveți configurația CSF corectă, veți vedea ieșirea CSF. În schimb, veți vedea eroarea detaliată atunci când configurația este incorectă.

csf -v

Apoi, executați comanda systemctl de mai jos pentru a porni serviciile csf și lfd.

sudo systemctl pornește csf lfd


Odată ce serviciul csf rulează, veți fi deconectat automat de la server. Vă puteți conecta din nou la server, apoi puteți verifica atât serviciul csf, cât și serviciul lfd folosind comanda de mai jos.

sudo systemctl status csf lfd

Puteți vedea că serviciul csf rulează.

De asemenea, puteți vedea că serviciul lfd rulează.

Blocare prin CSF

În acest moment, ați învățat configurația de bază pentru CSF (Config Server Firewall). Acum haideți să aruncăm o privire la blocarea adreselor IP prin CSF.

Blocarea adreselor IP prin intermediul listelor de blocare IP

Deschideți configurația implicită a listelor de blocuri IP /etc/csf/csf.blocklists folosind comanda editorului nano de mai jos.

sudo nano /etc/csf/csf.blocklists

Decomentați următoarele linii pentru a bloca adresele IP din baza de date Spamhaus .

# Lista Spamhaus Don't Route Or Peer List (DROP) 
# Detalii: http://www.spamhaus.org/drop/ 
SPAMDROP|86400|0|http://www.spamhaus.org/drop/drop.txt 

# Lista Spamhaus IPv6 Don't Route Or Peer List (DROPv6) 
# Detalii: http://www.spamhaus.org/drop/ 
SPAMDROPV6|86400|0|https://www.spamhaus.org/drop/dropv6.txt 

# Lista Spamhaus extinsă DROP (EDROP) 
# Detalii: http://www.spamhaus.org/drop/ 
SPAMEDROP|86400|0|http://www.spamhaus.org/drop/edrop.txt

Salvați fișierul și ieșiți din editor când ați terminat.

Mai jos sunt câteva opțiuni pentru detalii:

  • SPAMDROP : numele blocului care va fi folosit ca nume pentru canalul iptables. Folosiți doar LITERE MARI, cu maximum 25 de caractere.
  • 86400 : interval de reîmprospătare pentru descărcarea și reînnoirea adreselor IP ale listelor de blocare.
  • MAX : numărul maxim de adrese IP care vor fi utilizate din listă. O valoare de 0 înseamnă că toate adresele IP vor fi incluse.
  • URL : URL-ul de descărcare al adreselor IP din listele de blocare.

Blocarea adreselor IP prin GeoIP

O altă metodă de a bloca o adresă IP este prin GeoIP, care vă permite să blocați traficul primit dintr-o anumită țară.

Folosește următoarea comandă din editorul nano pentru a deschide configurația CSF „ /etc/csf/csf.conf ”.

sudo nano /etc/csf/csf.conf

Găsiți parametrii CC_DENY și CC_ALLOW pentru a configura blocarea pe țări prin GeoIP.

# Fiecare opțiune este o listă de CC-uri separate prin virgulă, de exemplu „US,GB,DE” 
CC_DENY = "RU,CN" 
CC_ALLOW = "US,GB,DE,NL,SG"

În mod implicit, CSF utilizează baza de date GeoIP din db-ip, ipdeny și iptoasn . Dar o puteți modifica și prin intermediul bazei de date GeoIP MaxMind . Pentru a utiliza baza de date MaxMind , schimbați „ CC_SRC ” la „ 1 ”, apoi introduceți cheia de licență MaxMind în opțiunea „ MM_LICENSE_KEY ”.

# Cheie de licență MaxMind: 
MM_LICENSE_KEY = "" 

... 

# Setați următoarele la sursa preferată: 
# 
# "1" - MaxMind 
# "2" - db-ip, ipdeny, iptoasn 
# 
# Implicit este "2" pentru instalările noi de csf sau setați la "1" pentru a utiliza 
# bazele de date MaxMind după obținerea unei chei de licență 
CC_SRC = "1"

Salvați fișierul și ieșiți din editor când ați terminat.

Acum, executați următoarea comandă pentru a verifica configurația CSF. Dacă nu există nicio eroare, ar trebui să obțineți versiunea CSF.

sudo csf -v

Apoi, reporniți ambele servicii, csf și lfd, folosind următoarea comandă.

sudo csf -ra

Ar trebui să vedeți o ieșire ca următoarea:

Pentru a vă asigura că atât csf, cât și lfs rulează, utilizați următoarea comandă pentru a verifica ambele servicii.

sudo systemctl status csf lfd

Activează interfața web CSF

În secțiunea următoare, veți învăța cum să activați interfața web CSF pentru monitorizare prin intermediul unui browser web.

Deschideți configurația CSF folosind următorul editor nano.

sudo nano /etc/csf/csf.conf

Schimbați opțiunea „ UI ” la „ 1 ” și activați interfața web CSF. Apoi, ajustați UI_PORT, UI_IP, UI_USER și UI_PASS cu datele dvs.

# 
# 1 pentru activare, 0 pentru dezactivare 
UI = "1" 

... 

# NU activați accesul la acest port în TCP_IN, ci permiteți accesul doar 
la IP-uri de încredere # utilizând Filtre avansate de permisiune (consultați readme.txt) 
UI_PORT = "1048" 

... 

# Dacă serverul este configurat pentru IPv6, dar adresa IP la care se face legătura este IPv4, atunci 
# adresa IP TREBUIE să utilizeze reprezentarea IPv6. De exemplu, 1.2.3.4 trebuie să utilizeze 
# ::ffff:1.2.3.4 
# 
# Lăsați necompletat pentru a vă conecta la toate adresele IP de pe server 
UI_IP = "127.0.0.1" 

... 

# Acesta ar trebui să fie un nume de utilizator securizat, greu de ghicit 
# 
# Acesta trebuie modificat față de valoarea implicită 
UI_USER = "alice" 
... 
# numere și caractere non-alfanumerice 
# 
# Acesta trebuie modificat față de valoarea implicită 
UI_PASS = "passw0rd"

Salvați fișierul și ieșiți din editor când ați terminat.

Acum găsiți adresa IP publică folosind comanda de mai jos.

curl https://ipinfo.io/

Adăugați adresa IP la configurațiile „ /etc/csf/csf.allow ” și „ /etc/csf/ui/ui.allow ”. Aceasta va include adresa IP publică pe lista albă și vă va permite accesul la interfața web CSF și la server.

# IP unic 
192.168.5.1 

# Subrețea 
192.168.5.0/24

După aceea, executați comanda de mai jos pentru a verifica configurația CSF și a reporni ambele servicii, csf și lfd.

sudo csf -v 
sudo csf -ra

Apoi, verificați lista adreselor IP de pe lista albă de pe CSF folosind comanda de mai jos. Găsiți lanțul iptables ALLOWIN și ALLOWOUT și ar trebui să vedeți adresele IP de pe lista albă.

sudo csf -l

Acum deschideți browserul web și accesați adresa IP a serverului, urmată de portul interfeței web CSF (de exemplu: https://192.168.5.15:1048). Dacă configurarea a avut succes, ar trebui să vedeți pagina de conectare CSF.

Introduceți numele de utilizator și parola de administrator, apoi faceți clic pe ENTER .

Ar trebui să vedeți tabloul de bord CSF astfel:

Solutie

Tip solutie

Permanent

Voteaza

(0 din 2 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?