Ricerca nel sito web

Come installare Config Server Firewall (CSF) su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa CSF su Debian 11
  4. Configura CSF
  5. Comandi CSF di base
  6. Conclusione

CSF è anche noto come \Config Server Firewall\ è un firewall gratuito e avanzato per sistemi Linux. Viene fornito con alcune funzionalità di sicurezza avanzate come il rilevamento di intrusioni, inondazioni e accessi. È progettato per difendersi da molti attacchi, come port scan, SYN flood e attacchi di forza bruta all'accesso. Fornisce inoltre l'integrazione per cPanel, DirectAdmin e Webmin.

Questo tutorial spiegherà l'installazione di CSF, la configurazione di base e i comandi essenziali per CSF su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Sul server è configurata una password di root.

Iniziare

Prima di iniziare, si consiglia di aggiornare i pacchetti di sistema alla versione aggiornata. Puoi farlo usando il seguente comando:

apt-get update -y

Una volta aggiornati tutti i pacchetti, installa le altre dipendenze richieste utilizzando il seguente comando:

apt-get install sendmail dnsutils unzip libio-socket-ssl-perl libcrypt-ssleay-perl git perl iptables libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl -y

Installa CSF su Debian 11

Per impostazione predefinita, il pacchetto CSF non è incluso nel repository predefinito di Debian 11. Dovrai scaricarlo dal suo sito Web ufficiale.

Puoi scaricare l'ultima versione di CSF con il seguente comando:

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

Una volta completato il download, estrai il file scaricato con il seguente comando:

tar -xvzf csf.tgz

Quindi, cambia la directory in CSF ed esegui lo script install.sh per installare CSF nel tuo server.

cd csf
bash install.sh

Una volta installato il CSF, dovresti ottenere il seguente output:

Don't forget to:
1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_*
2. Restart csf and lfd
3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so

Adding current SSH session IP address to the csf whitelist in csf.allow:
*WARNING* URLGET set to use LWP but perl module is not installed, fallback to using CURL/WGET
Adding 106.222.22.32 to csf.allow only while in TESTING mode (not iptables ACCEPT)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
'lfd.service' -> '/usr/lib/systemd/system/lfd.service'
'csf.service' -> '/usr/lib/systemd/system/csf.service'
Created symlink /etc/systemd/system/multi-user.target.wants/csf.service → /lib/systemd/system/csf.service.
Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service → /lib/systemd/system/lfd.service.
Failed to disable unit: Unit file firewalld.service does not exist.
Failed to stop firewalld.service: Unit firewalld.service not loaded.
Unit firewalld.service does not exist, proceeding anyway.
Created symlink /etc/systemd/system/firewalld.service → /dev/null.
'/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz'

Installation Completed

Dopo l'installazione, verificare i moduli iptables richiesti per CSF utilizzando il seguente comando:

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

Se tutto va bene, dovresti ottenere il seguente output:

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

Configura CSF

Successivamente, dovrai configurare CSF in base alle tue esigenze. Puoi configurarlo modificando il file /etc/csf/csf.conf.

nano /etc/csf/csf.conf

Innanzitutto, trova la riga TESTING=\1\ e modifica il valore in \0\ per abilitare il CSF:

TESTING = "0"

Successivamente, trova la riga RESTRICT_SYSLOG=\0\ e modifica il valore in 3 per impostare l'accesso ai file syslog/rsyslog solo per i membri di RESTRICT_SYSLOG_GROUP:

RESTRICT_SYSLOG = "3"

Aggiungi le porte aperte TCP in entrata richieste nella riga seguente:

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

Aggiungi le porte TCP in uscita richieste nella riga seguente:

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

Aggiungi le porte aperte UDP in entrata richieste nella riga seguente:

# Allow incoming UDP ports
UDP_IN = "20,21,53,80,443"

Aggiungi le porte UDP in uscita richieste nella riga seguente:

# Allow outgoing UDP ports
UDP_OUT = "20,21,53,113,123"

Salva e chiudi il file, quindi ricarica il firewall CSF per applicare le modifiche:

csf -r

Comandi CSF di base

Per arrestare il firewall CSF, eseguire il seguente comando:

csf -s

Per svuotare il firewall CSF, esegui il seguente comando:

csf -f

Per elencare tutte le regole IPTABLES aggiunte da CSF, eseguire il seguente comando:

csf -l

Per avviare il CSF e consentirne l'avvio al riavvio del sistema, eseguire il seguente comando:

systemctl start csf
systemctl enable csf

Per verificare lo stato del firewall CSF, eseguire il seguente comando:

systemctl status csf

Dovresti ottenere il seguente output:

? csf.service - ConfigServer Firewall & Security - csf
     Loaded: loaded (/lib/systemd/system/csf.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sat 2021-09-18 15:42:04 UTC; 11s ago
    Process: 8022 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
   Main PID: 8022 (code=exited, status=0/SUCCESS)
        CPU: 705ms

Sep 18 15:42:04 debian11 csf[8022]: ACCEPT  all opt    in * out lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOGDROPOUT  all opt    in * out !lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOGDROPIN  all opt    in !lo out *  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: csf: FASTSTART loading DNS (IPv4)
Sep 18 15:42:04 debian11 csf[8022]: csf: FASTSTART loading DNS (IPv6)
Sep 18 15:42:04 debian11 csf[8022]: LOCALOUTPUT  all opt -- in * out !lo  0.0.0.0/0  -> 0.0.0.0/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALINPUT  all opt -- in !lo out *  0.0.0.0/0  -> 0.0.0.0/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALOUTPUT  all opt    in * out !lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALINPUT  all opt    in !lo out *  ::/0  -> ::/0
Sep 18 15:42:04 debian11 systemd[1]: Finished ConfigServer Firewall & Security - csf.

Per consentire un host specifico in base all'indirizzo IP, eseguire il seguente comando:

csf -a 192.168.100.10

Per negare un host specifico in base all'indirizzo IP, eseguire il seguente comando:

csf -d 192.168.100.11

Per rimuovere l'IP dall'elenco Consenti, eseguire il seguente comando:

csf -ar 192.168.100.10

Per rimuovere l'IP dall'elenco dei rifiuti, eseguire il seguente comando:

csf -dr 192.168.100.11

Puoi aggiungere IP attendibili modificando il file /etc/csf/csf.allow:

nano /etc/csf/csf.allow

Aggiungi i tuoi IP fidati:

192.168.100.10

Puoi aggiungere IP non attendibili modificando il file /etc/csf/csf.deny:

nano /etc/csf/csf.deny

Aggiungi i tuoi IP non attendibili:

192.168.100.11

Conclusione

Nella guida sopra, abbiamo spiegato come installare il firewall CSF su Debian 11. Ti mostriamo anche alcuni comandi CSF di base per gestire il tuo traffico. Per ulteriori informazioni, consulta la documentazione CSF.