Come installare Config Server Firewall (CSF) su Debian 11
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa CSF su Debian 11
- Configura CSF
- Comandi CSF di base
- 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.