Instalați și configurați ConfigServer Security & Firewall (CSF) în Linux


Dacă vă uitați la postări de locuri de muncă legate de IT oriunde, veți observa o cerere constantă de profesioniști în securitate. Acest lucru nu înseamnă doar că securitatea cibernetică este un domeniu de studiu interesant, ci și unul foarte profitabil.

Având în vedere acest lucru, în acest articol vom explica cum să instalați și să configurați ConfigServer Security & Firewall (cunoscut și ca CSF pe scurt), o suită de securitate completă pentru Linux și împărtășiți câteva cazuri de utilizare tipice. Veți putea apoi să utilizați CSF ca firewall și sistem de detectare a intruziunilor/eșecurilor de conectare pentru a consolida serverele de care sunteți responsabil.

Fără rămas bun, să începem.

Instalarea și configurarea CSF în Linux

Pentru început, rețineți că Perl și libwww sunt o condiție prealabilă pentru a instala CSF pe oricare dintre distribuțiile acceptate (RHEL > și CentOS, openSUSE, Debian și Ubuntu). Deoarece ar trebui să fie disponibil în mod implicit, nu este necesară nicio acțiune din partea dumneavoastră decât dacă unul dintre următorii pași returnează o eroare fatală (în acest caz, utilizați sistemul de gestionare a pachetelor pentru a instala dependențele lipsă).

yum install perl-libwww-perl
apt install libwww-perl

Pasul 1 – Descărcați CSF

cd /usr/src
wget https://download.configserver.com/csf.tgz

Pasul 2 – Extrageți tarball-ul CSF

tar xzf csf.tgz
cd csf

Pasul 3 – Rulați Scriptul de instalare CSF

Această parte a procesului va verifica dacă toate dependențele sunt instalate, va crea structurile de directoare și fișierele necesare pentru interfața web, va detecta porturile deschise în prezent și vă va reaminti să reporniți csf și lfd< daemoni după ce ați terminat cu configurația inițială.

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

Rezultatul așteptat al comenzii de mai sus este după cum urmează:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Pasul 4: Dezactivați firewall și configurați CSF

Dezactivați firewalld dacă rulați și configurați CSF.

systemctl stop firewalld
systemctl disable firewalld

Schimbați TESTING=„1” în TESTING=„0” (în caz contrar, demonul lfd nu va porni) și enumerați permisele de intrare și de ieșire porturi ca o listă separată prin virgulă (TCP_IN și, respectiv, TCP_OUT) în /etc/csf/csf.conf, așa cum se arată în rezultatul de mai jos :

Testing flag - enables a CRON job that clears iptables incase of
configuration problems when you start csf. This should be enabled until you
are sure that the firewall works - i.e. incase you get locked out of your
server! Then do remember to set it to 0 and restart csf when you're sure
everything is OK. Stopping csf will remove the line from /etc/crontab
#
lfd will not start while this is enabled
TESTING = "0"

Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Odată ce sunteți mulțumit de configurație, salvați modificările și reveniți la linia de comandă.

Pasul 5 – Reporniți și testați CSF

systemctl restart {csf,lfd}
systemctl enable {csf,lfd}
systemctl is-active {csf,lfd}
csf -v

În acest moment, suntem gata să începem configurarea firewall-ului și a regulilor de detectare a intruziunilor, așa cum se discută în continuare.

Configurarea CSF și a regulilor de detectare a intruziunilor

În primul rând, veți dori să inspectați regulile actuale de firewall după cum urmează:

csf -l

De asemenea, le puteți opri sau le puteți reîncărca cu:

csf -f
csf -r

respectiv. Asigurați-vă că memorați aceste opțiuni – veți avea nevoie de ele pe măsură ce mergeți, în special pentru a verifica după efectuarea modificărilor și repornirea csf și lfd.

Exemplul 1 – Permiterea și interzicerea adreselor IP

Pentru a permite conexiunile de intrare de la 192.168.0.10.

csf -a 192.168.0.10

În mod similar, puteți refuza conexiunile care provin de la 192.168.0.11.

csf -d 192.168.0.11

Puteți elimina fiecare dintre regulile de mai sus dacă doriți să faceți acest lucru.

csf -ar 192.168.0.10
csf -dr 192.168.0.11

Observați modul în care utilizarea -ar sau -dr de mai sus elimină regulile existente de permis și de respingere asociate cu o anumită adresă IP.

Exemplul 2 – Limitarea conexiunilor de intrare în funcție de sursă

În funcție de utilizarea intenționată a serverului dvs., este posibil să doriți să limitați conexiunile de intrare la un număr sigur pe bază de port. Pentru a face acest lucru, deschideți /etc/csf/csf.conf și căutați CONNLIMIT. Puteți specifica mai multe porturi; perechi de conexiuni separate prin virgule. De exemplu,

CONNLIMIT = "22;2,80;10"

va permite numai 2 și 10 conexiuni de intrare de la aceeași sursă la porturile TCP 22 și, respectiv, 80.

Exemplul 3 – Trimiterea alertelor prin e-mail

Există mai multe tipuri de alerte pe care le puteți alege. Căutați setările EMAIL_ALERT în /etc/csf/csf.conf și asigurați-vă că sunt setate la „1” pentru a primi alerta asociată. De exemplu,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

va determina trimiterea unei alerte la adresa specificată în LF_ALERT_TO de fiecare dată când cineva se conectează cu succes prin SSH sau trece la alt cont folosind comanda su.

Opțiuni de configurare CSF și utilizare

Următoarele opțiuni sunt folosite pentru a modifica și controla configurația csf. Toate fișierele de configurare ale csf se află în directorul /etc/csf. Dacă modificați oricare dintre următoarele fișiere, va trebui să reporniți demonul csf pentru a efectua modificări.

  • csf.conf : principalul fișier de configurare pentru controlul CSF.
  • csf.allow : lista de adrese IP și CIDR permise pe firewall.
  • csf.deny : lista de adrese IP și CIDR refuzate pe firewall.
  • csf.ignore : lista de adrese IP și CIDR ignorate de pe firewall.
  • csf.*ignore : lista cu diferite fișiere ignorate ale utilizatorilor, IP-uri.

Eliminați CSF Firewall

Dacă doriți să eliminați complet paravanul de protecție CSF, trebuie doar să rulați următorul script aflat în directorul /etc/csf/uninstall.sh.

/etc/csf/uninstall.sh

Comanda de mai sus va șterge complet paravanul de protecție CSF cu toate fișierele și folderele.

rezumat

În acest articol, am explicat cum să instalați, să configurați și să utilizați CSF ca firewall și sistem de detectare a intruziunilor. Vă rugăm să rețineți că mai multe caracteristici sunt prezentate în csf.conf.

De exemplu, dacă sunteți în afacerea de găzduire web, puteți integra CSF cu soluții de management precum Cpanel, WHM sau binecunoscutul Webmin.

Aveți întrebări sau comentarii despre acest articol? Simțiți-vă liber să ne trimiteți un mesaj folosind formularul de mai jos. Asteptam sa auzim de tine!