Ricerca nel sito web

Installa e configura ConfigServer Security & Firewall (CSF) in Linux


Se guardi le offerte di lavoro relative all’IT ovunque, noterai una domanda costante di professionisti della sicurezza. Ciò non significa solo che la sicurezza informatica è un campo di studio interessante, ma anche molto redditizio.

Tenendo questo a mente, in questo articolo spiegheremo come installare e configurare ConfigServer Security & Firewall (noto anche come CSF in breve), una suite di sicurezza completa per Linux e condividi un paio di casi d'uso tipici. Potrai quindi utilizzare CSF come firewall e sistema di rilevamento di intrusioni/errori di accesso per rafforzare i server di cui sei responsabile.

Senza ulteriori indugi, cominciamo.

Installazione e configurazione di CSF in Linux

Per iniziare, tieni presente che Perl e libwww sono un prerequisito per installare CSF su una qualsiasi delle distribuzioni supportate (RHEL e CentOS, openSUSE, Debian e Ubuntu). Poiché dovrebbe essere disponibile per impostazione predefinita, non è richiesta alcuna azione da parte tua a meno che uno dei passaggi seguenti non restituisca un errore irreversibile (in tal caso, utilizza il sistema di gestione dei pacchetti per installare le dipendenze mancanti).

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

Passaggio 1: scarica CSF

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

Passaggio 2: estrarre il file tar CSF

tar xzf csf.tgz
cd csf

Passaggio 3: eseguire lo script di installazione CSF

Questa parte del processo controllerà che tutte le dipendenze siano installate, creerà le strutture di directory e i file necessari per l'interfaccia web, rileverà le porte attualmente aperte e ti ricorderà di riavviare csf e lfd< demoni dopo aver terminato la configurazione iniziale.

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

L'output previsto del comando precedente è il seguente:

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

Passaggio 4: disabilita il firewall e configura CSF

Disabilita firewalld se in esecuzione e configura CSF.

systemctl stop firewalld
systemctl disable firewalld

Cambia TESTING="1" in TESTING="0" (altrimenti, il demone lfd non potrà avviarsi) ed elenca le entrate e le uscite consentite porte come elenco separato da virgole (TCP_IN e TCP_OUT, rispettivamente) in /etc/csf/csf.conf come mostrato nell'output seguente :

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"

Una volta che sei soddisfatto della configurazione, salva le modifiche e torna alla riga di comando.

Passaggio 5: riavviare e testare il CSF

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

A questo punto siamo pronti per iniziare a configurare il firewall e le regole di rilevamento delle intrusioni come discusso di seguito.

Impostazione delle regole CSF e di rilevamento delle intrusioni

Prima di tutto, ti consigliamo di controllare le attuali regole del firewall come segue:

csf -l

Puoi anche fermarli o ricaricarli con:

csf -f
csf -r

rispettivamente. Assicurati di memorizzare queste opzioni: ti serviranno man mano che procedi, in particolare per controllare dopo aver apportato modifiche e riavviato csf e lfd.

Esempio 1 – Consentire e vietare indirizzi IP

Per consentire le connessioni in entrata da 192.168.0.10.

csf -a 192.168.0.10

Allo stesso modo, puoi negare le connessioni provenienti da 192.168.0.11.

csf -d 192.168.0.11

Se lo desideri, puoi rimuovere ciascuna delle regole di cui sopra.

csf -ar 192.168.0.10
csf -dr 192.168.0.11

Nota come l'uso di -ar o -dr sopra rimuove le regole di autorizzazione e negazione esistenti associate a un determinato indirizzo IP.

Esempio 2 – Limitazione delle connessioni in entrata in base alla fonte

A seconda dell'uso previsto del server, potresti voler limitare le connessioni in entrata a un numero sicuro in base alla porta. Per fare ciò, apri /etc/csf/csf.conf e cerca CONNLIMIT. È possibile specificare più porte; coppie di connessioni separate da virgole. Per esempio,

CONNLIMIT = "22;2,80;10"

consentirà solo 2 e 10 connessioni in entrata dalla stessa origine alle porte TCP 22 e 80, rispettivamente.

Esempio 3 – Invio di avvisi tramite e-mail

È possibile scegliere tra diversi tipi di avviso. Cerca le impostazioni EMAIL_ALERT in /etc/csf/csf.conf e assicurati che siano impostate su "1" per ricevere l'avviso associato. Per esempio,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

farà sì che venga inviato un avviso all'indirizzo specificato in LF_ALERT_TO ogni volta che qualcuno accede con successo tramite SSH o passa a un altro account utilizzando il comando su.

Opzioni di configurazione e utilizzo di CSF

Le seguenti opzioni vengono utilizzate per modificare e controllare la configurazione csf. Tutti i file di configurazione di csf si trovano nella directory /etc/csf. Se modifichi uno qualsiasi dei seguenti file dovrai riavviare il demone csf per apportare le modifiche.

  • csf.conf: il file di configurazione principale per il controllo di CSF.
  • csf.allow: l'elenco degli indirizzi IP e CIDR consentiti sul firewall.
  • csf.deny: l'elenco degli indirizzi IP e CIDR negati sul firewall.
  • csf.ignore: l'elenco degli indirizzi IP e CIDR ignorati sul firewall.
  • csf.*ignore: l'elenco di vari file da ignorare di utenti e IP.

Rimuovere il firewall CSF

Se desideri rimuovere completamente il firewall CSF, esegui semplicemente il seguente script situato nella directory /etc/csf/uninstall.sh.

/etc/csf/uninstall.sh

Il comando precedente cancellerà completamente il firewall CSF con tutti i file e le cartelle.

Riepilogo

In questo articolo abbiamo spiegato come installare, configurare e utilizzare CSF come firewall e sistema di rilevamento delle intrusioni. Tieni presente che ulteriori funzionalità sono descritte in csf.conf.

Se ad esempio operi nel settore del web hosting, puoi integrare CSF con soluzioni gestionali come Cpanel, WHM o il noto Webmin.

Hai domande o commenti su questo articolo? Sentiti libero di inviarci un messaggio utilizzando il modulo sottostante. Restiamo in attesa della vostra risposta!