GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare e configurare il firewall CSF per Linux

Proteggere il tuo server Linux con un firewall è fondamentale per mantenere al sicuro il tuo server e la tua rete. Ma come si configura un firewall? Prendi in considerazione l'installazione di Config Server Firewall (firewall CSF) se stai cercando un modo affidabile ed efficiente per proteggere il tuo server Linux.

Il firewall CSF è un'opzione ricca di funzionalità per i server Linux. E in questo tutorial imparerai come installare e configurare il firewall CSF e vedere come funziona in prima persona.

Continua a leggere e tieni lontane le entità dannose dal tuo server!

Prerequisiti

Per seguire gli esempi in questo tutorial, assicurati di disporre di quanto segue:

  • Una macchina Linux – Questa demo utilizza Ubuntu 20.04, ma qualsiasi distribuzione Linux funzionerà.
  • privilegi sudo o accesso all'account root.

Installazione di CSF Firewall

Prima di configurare il firewall CSF, è necessario installarlo sul server. Ma prima di farlo, assicurati di fermare e disabilitare qualsiasi altro firewall sul tuo server.

L'esecuzione di due firewall comporta un rischio per la sicurezza. Come mai? Se entrambi i firewall stanno bloccando qualcosa, non saprai quale lo sta facendo. Inoltre, i firewall non sono compatibili per impostazione predefinita e possono causare il crash del server se ne hai più di uno.

1. Esegui i seguenti comandi per disabilitare i firewall predefiniti che potresti avere sul tuo server.

# Stop the firewalld firewall 
sudo systemctl stop firewalld
# Disable the firewalld firewall 
sudo systemctl disable firewalld
# Disable the UFW firewall 
sudo ufw disable

2. Quindi, esegui apt update comando seguente per aggiornare l'indice dei pacchetti disponibili.

Quando esegui questo comando, il tuo computer locale può connettersi a Internet e scaricare un messaggio di aggiornamento per ogni nuovo repository o archivio definito in /etc/apt/sources.list file.

sudo apt update -y

L'output seguente mostra l'aggiornamento dei file del pacchetto locale, fornendo feedback in tempo reale sullo stato di avanzamento.

Il pacchetto CSF ​​non è attualmente disponibile nei repository di Ubuntu, quindi devi scaricare il pacchetto manualmente (passaggio tre).

3. Esegui wget comando qui sotto per scaricare il csf.tgz pacchetto nella directory corrente.

Il csf.tgz pacchetto è il pacchetto CSF ​​principale. Questo pacchetto contiene tutte le regole e le modifiche necessarie per proteggere il tuo server.

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

4. Ora esegui tar comando seguente per estrarre il pacchetto CSF ​​scaricato. Al termine del comando, avrai una nuova directory chiamata csf che contiene tutti i file di configurazione del firewall CSF

  • Le seguenti bandiere indicano tar comportamento del comando durante l'estrazione:
  • Il x flag dice a tar per estrarre i file.
  • Il z flag dice a tar utilizzare GZIP per decomprimere i file specificati. GZIP è un programma di compressione file che utilizza la codifica Lempel-Ziv (LZ77) per comprimere i file.
  • Il f flag dice a tar quali file estrarre.
sudo tar -xzf csf.tgz

5. Esegui ls comando seguente per verificare se il csf directory esiste.

ls -la

Vedrai tutti i file e le directory nella tua home directory, incluso il csf directory, come mostrato di seguito. Se non vedi il csf directory, eseguire nuovamente il sudo tar -xzf csf.tgz comando.

6. Quindi, esegui i seguenti comandi per spostarti nel csf directory ed eseguire lo script della shell (install.sh ) per installare CSF sul tuo server. Segui le istruzioni e inserisci "Y" quando necessario durante l'installazione.

cd csf
sudo sh install.sh

Lo script della shell creerà uno script di avvio CSF ​​per il demone CSF e aggiungerà file di configurazione alle directory appropriate, come /etc/csf/ , /etc/logrotate.d/ , e così via. In questo modo, non devi preoccuparti di creare da solo tutti i file e le directory di configurazione.

7. Esegui il comando seguente per verificare se hai installato correttamente il firewall CSF. Questo comando controlla e stampa la versione installata del firewall CSF sul tuo server. sudo csf -v

sudo csf -v

Se il firewall CSF è installato correttamente, vedrai il numero di versione del firewall CSF, come mostrato di seguito. In questa demo, la versione installata è v14.5 (generico) , ma il tuo potrebbe essere diverso.

Per ora, puoi ignorare la modalità TEST è abilitata messaggio di avviso. Imparerai come disabilitare la modalità di test in seguito.

8. Infine, esegui perl comando seguente per controllare tutti i moduli CSF (/usr/local/csf/bin/csftest.pl ).

Il csftest.pl file è uno degli script Perl con il pacchetto CSF. Questo script Perl ti consente di testare i moduli del firewall CSF per assicurarti che funzionino correttamente prima di abilitarli.

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

Se i moduli del firewall funzionano correttamente, vedrai un OK stato, come mostrato nello screenshot qui sotto. Controllo di tutti i moduli CSF

Configurazione del firewall CSF

Ora che hai installato CSF, puoi configurarlo per funzionare con il tuo sistema modificando /etc/csf/csf.conf file di configurazione per il firewall CSF. Questo file contiene vari parametri/direttive tra cui scegliere per sicurezza, registrazione e protezione.

In base ai requisiti di sistema, si modificano questi parametri. Ma non cambiarli a meno che tu non sappia cosa stai facendo. La modifica di questo file con qualsiasi mezzo può rendere il firewall non funzionante o addirittura distruggere la sicurezza del server se eseguita in modo errato.

Sebbene i commenti nel file di configurazione siano minimi, comprendere la struttura del file e l'idea alla base di queste direttive se non conosci la configurazione CSF è utile. E quando sei abbastanza sicuro, crea configurazioni più complesse.

1. Apri /etc/csf/csf.conf nel tuo editor preferito, quindi modifica il TEST valore della direttiva su 0 invece di 1 , come mostrato di seguito. Il PROVA la direttiva viene utilizzata a scopo di test.

Ricorda che hai bisogno dell'accesso sudo per modificare i file di configurazione.

Se imposti il ​​PROVA valore della direttiva su 1 , il tuo server non applicherà le regole del firewall. Ma se stai eseguendo un servizio di produzione attivo che necessita di protezione come SSH (ad esempio), cambia il TESTING valore della direttiva su 0 . In questo modo è possibile abilitare la protezione senza interrompere il servizio.

2. Quindi, definisci porte TCP e UDP aggiuntive per il tuo firewall CSF utilizzando TCP_IN , TCP_OUT , UDP_IN e UDP_OUT direttive.

Di seguito viene mostrato l'elenco predefinito delle porte, generato al momento dell'installazione. L'elenco include tutti i TCP di uso comune e UDP porti.

Nota che meno porte apri, il tuo sistema diventerà più sicuro. Ma non puoi chiudere tutte le porte poiché il tuo server/servizio interagisce con gli utenti attraverso le porte 80 e 443 per il traffico HTTP/HTTPS, 53 per DNS, 22 per l'accesso SSH e così via.

Non eliminare l'elenco delle porte predefinito a meno che tu non sappia cosa stai facendo o non abbia un motivo specifico per eliminare l'elenco.

3. Modificare ICMP_IN direttiva a 1 per consentire il ping in entrata al tuo server in modo da poterlo utilizzare per testare se il tuo server funziona ed è online.

Definisci l'azione scelta eseguita da CSF, nonché quanti tentativi sono consentiti prima che il firewall agisca, con quanto segue e salva le modifiche:

CSF può monitorare i log per tentativi di accesso non riusciti a intervalli regolari e rilevare la maggior parte dei tentativi di accesso illeciti. Questa funzione è utile per proteggere i tuoi servizi dagli attacchi di forza bruta bloccando l'IP di origine dopo un certo numero di tentativi di accesso non riusciti.

  • Cambia CONNLIMIT valore della direttiva a 22;3;80;50 . La direttiva CONNLIMIT consente di specificare il numero di connessioni simultanee consentite al server su una porta specifica.

I 22;3;80;500 il valore consente 50 connessioni simultanee sulla porta 80 (http) e altre tre connessioni simultanee sulla porta 22 (ssh).

  • Cambia il PORTFLOOD valore della direttiva a 22;tcp;3;3600 . La direttiva PORTFLOOD limita il numero di connessioni per indirizzo IP per intervallo di tempo.

Di seguito, 22;tcp;3;3600 value limita l'IP per un'ora (3600 secondi) se sono state stabilite più di tre connessioni sulla porta 22 utilizzando il protocollo TCP. Dopo l'ultimo tentativo di accesso, CSF rilascerà l'IP bloccato una volta trascorso il periodo di tempo di 3600 secondi.

  • Quindi, imposta il DENY_IP_LIMIT valore della direttiva a 10 . Questa direttiva controlla quanti indirizzi IP bloccati CSF conserva nella sua memoria. Una volta raggiunto il limite (10), l'IP verrà ruotato. Le voci più vecchie verranno quindi rimosse, mentre le più recenti verranno inserite insieme al conteggio.

Salva le modifiche ed esci dall'editor una volta che sei soddisfatto della configurazione.

Mantenere troppi blocchi di IP non validi può potenzialmente rallentare il tuo server. Quindi potresti voler mantenere il DENY_IP_LIMIT numero a un numero gestibile.

5. Ora, esegui il comando seguente per ricaricare la configurazione del firewall CSF e applicare le modifiche.

csf -r

6. Infine, eseguire il comando seguente per confermare che il firewall CSF è in esecuzione.

sudo systemctl status csf

Se la configurazione funziona correttamente, vedrai un attivo stato. Questo stato indica che il firewall ha caricato le nuove regole e quindi è uscito . Questo comportamento è tipico per i servizi oneshot.

A questo punto, hai configurato il firewall CSF per bloccare un numero limitato di indirizzi IP.

Blocco e autorizzazione di indirizzi IP tramite CSF Firewall

Ora che hai configurato il file di configurazione CSF, il passaggio successivo per proteggere il tuo server è bloccare o consentire un indirizzo IP.

Modificherai i tre file di configurazione seguenti:

  • /etc/csf/csf.allow
  • /etc/csf/csf.deny
  • /etc/csf/csf.ignore

Il modo più comune per proteggere il tuo server è bloccare gli indirizzi IP, quindi inizia modificando /etc/csf/csf.deny file di configurazione.

1. Per bloccare un indirizzo IP, apri /etc/csf/csf.deny file nel tuo editor preferito e inserisci gli indirizzi IP (uno per riga) da bloccare, come mostrato di seguito. Dopo aver aggiunto gli indirizzi IP, salvare le modifiche e chiudere l'editor.

A questo punto, CSF bloccherà tutto il traffico dall'indirizzo IP che hai aggiunto.

Aggiungi solo indirizzi IP e non nomi di dominio, poiché tutte le voci dei nomi di dominio verranno ignorate.

2. Quindi, apri /etc/csf/csf.allow per consentire l'esclusione degli indirizzi IP da tutte le regole del firewall. Aggiungi gli indirizzi IP (uno per riga), come mostrato di seguito, per escludere dalle regole del firewall, quindi salva le modifiche e chiudi l'editor.

Lo screenshot seguente è un indirizzo IP locale che questa demo usa per SSH nel server per aggiornare CSF.

3. Infine, apri /etc/csf/csf.ignore archiviare e aggiungere indirizzi IP (uno per riga) per consentire le regole del firewall. A differenza di csf.allow file, indirizzi IP in csf.ignore ignorerà le regole del firewall ma sarà bloccato se elencato in csf.deny file.

Conclusione

In questo articolo, hai imparato come installare e configurare il firewall CSF su una macchina Ubuntu. Inoltre, hai toccato la protezione del tuo server bloccando, consentendo e ignorando gli indirizzi IP sul tuo firewall.

A questo punto, hai già una buona conoscenza di come proteggere il tuo server limitando gli indirizzi IP consentiti per la connessione al tuo server. Perché non configurare il firewall CSF per proteggere il pannello CSF ​​WHM/cPanel con questa nuova conoscenza?


Linux
  1. Come installare e configurare CSF Firewall su Linux

  2. Come installare e configurare CSF Firewall su Debian 11

  3. Come installare e configurare Monit su Linux per il monitoraggio dei processi

  4. UNIX / Linux:come installare e configurare mod_perl per Apache 2

  5. Come installare e configurare server e client NTP Linux

Come installare e configurare il server Web Apache su Oracle Linux 8

Come installare e configurare il server Web Nginx su Oracle Linux 8

Come installare e configurare Django su VPS Linux e Server Dedicato?

Come installare e configurare un server NFS Ubuntu Linux

Come installare e configurare il server DNS in Linux

Come installare e configurare il sottosistema Windows per Linux