I server Linux hanno guadagnato un’immensa popolarità tra aziende e privati grazie alla loro flessibilità, convenienza economica e prestazioni potenti. Tuttavia, garantire la sicurezza di questi server è di fondamentale importanza.
In questo articolo, esploreremo come proteggere i tuoi server Linux utilizzando CSF (ConfigServer Security & Firewall) o software simili, e forniremo link ed esempi per rafforzare il tuo server.
Cos’è CSF?
CSF è un potente firewall stateful progettato specificamente per i server Linux. Offre un’interfaccia facile da usare e funzionalità di sicurezza complete, rendendolo una scelta popolare tra gli amministratori di sistema.
CSF non è solo un firewall, ma anche un sistema di rilevamento delle intrusioni che monitora e blocca attivamente le attività malevole.
Puoi saperne di più su CSF e le sue funzionalità sul sito ufficiale: ConfigServer Security & Firewall .
Perché scegliere CSF?
Ci sono diversi motivi per scegliere CSF rispetto ad altre soluzioni firewall per il tuo server Linux:
- Installazione e configurazione semplici
- Aggiornamenti regolari e supporto attivo della comunità
- Compatibilità con la maggior parte delle distribuzioni Linux e dei pannelli di controllo
- Funzionalità di sicurezza complete, incluso il rilevamento delle intrusioni e il tracciamento dei tentativi di accesso falliti
- Opzioni di configurazione personalizzabili
Come installare e configurare CSF
Prima di installare CSF, è importante rimuovere o disabilitare qualsiasi altro firewall sul tuo server. Segui questi passaggi per installare e configurare CSF:
- Accedi al tuo server come utente root tramite SSH.
- Scarica l’ultima versione di CSF con il seguente comando:
1wget https://download.configserver.com/csf.tgz- Estrai l’archivio scaricato:
1tar -xzf csf.tgz- Naviga nella directory estratta ed esegui lo script di installazione:
1cd csf
2sh install.sh- Apri il file di configurazione situato in
/etc/csf/csf.confcon il tuo editor di testo preferito (ad es. nano o vim). Personalizza le impostazioni in base alle tue esigenze di sicurezza. - Dopo aver configurato CSF, verifica la compatibilità del tuo server eseguendo:
1perl /usr/local/csf/bin/csftest.pl- Se il test ha successo, abilita CSF cambiando l’impostazione TESTING a 0 nel file di configurazione.
- Riavvia CSF per applicare le modifiche:
1csf -rPer istruzioni più dettagliate e opzioni di configurazione, consulta la documentazione ufficiale di CSF .
Configurazione ottimale di CSF per una sicurezza rafforzata
Ecco alcune impostazioni raccomandate per una configurazione ottimale di CSF per migliorare la sicurezza del tuo server Linux.
Ricorda che queste impostazioni potrebbero non essere adatte a tutti gli ambienti server, quindi è importante personalizzarle in base alle tue esigenze specifiche. Testa sempre le modifiche prima di applicarle a un server di produzione.
- Limitare le connessioni in entrata e in uscita
Limita le connessioni in entrata e in uscita solo alle porte necessarie nelle sezioni TCP_IN, TCP_OUT, UDP_IN e UDP_OUT. Ad esempio:
1TCP_IN = "22,80,443"
2TCP_OUT = "22,80,443,53"
3UDP_IN = "53"
4UDP_OUT = "53"- Abilitare il rilevamento dei tentativi di accesso falliti
Assicurati che CSF tracci i tentativi di accesso falliti abilitando le opzioni LF_* nel file di configurazione:
1LF_TRIGGER = "5"
2LF_SSHD = "5"
3LF_FTPD = "10"
4LF_SMTPAUTH = "5"
5LF_POP3D = "10"
6LF_IMAPD = "10"Questo esempio imposta un blocco temporaneo dopo 5 tentativi di accesso falliti entro il periodo specificato per SSH, FTP, SMTP, POP3 e IMAP.
- Abilitare il tracciamento dei processi
Monitora i processi del server per attività sospette abilitando il tracciamento dei processi:
1PT_LIMIT = "60"
2PT_USERMEM = "200"
3PT_USERTIME = "1800"
4PT_USERKILL = "1"Questo esempio imposta un intervallo di 60 secondi per il tracciamento dei processi, un limite di utilizzo della memoria di 200 MB, un tempo massimo del processo di 1800 secondi e la possibilità di terminare i processi che superano i limiti.
- Ricorda di riavviare CSF dopo aver modificato il file di configurazione:
1csf -rUtilizzo dei profili in CSF per una sicurezza rafforzata
I profili CSF sono impostazioni di configurazione predefinite studiate per casi d’uso specifici o livelli di sicurezza. Ti permettono di passare rapidamente tra diverse configurazioni senza dover modificare manualmente le singole impostazioni.
Questo può essere particolarmente utile quando hai bisogno di applicare misure di sicurezza più rigorose o di allentare temporaneamente le restrizioni. In questa sezione, spiegheremo cosa sono i profili, come usarli e alcune considerazioni per la loro applicazione.
Cosa sono i profili CSF?
I profili CSF sono essenzialmente file di configurazione che contengono impostazioni specifiche per diversi scenari. Questi profili possono essere applicati con un singolo comando, facilitando il passaggio tra diverse configurazioni di sicurezza.
CSF viene fornito con diversi profili predefiniti, ognuno progettato per uno scopo specifico, come server web o server di posta.
Come usare i profili CSF
- Prima, naviga nella directory dei profili CSF:
1cd /usr/local/csf/profiles- Elenca i profili disponibili:
1lsDovresti vedere un elenco di profili predefiniti come webserver.conf, mailserver.conf e default.conf.
- Per applicare un profilo, usa il seguente comando:
1csf --profile <profile_name>- Ad esempio, per applicare il profilo
webserver.conf:
1csf --profile webserver- Se desideri creare un profilo personalizzato, copia il file di configurazione esistente nella directory dei profili:
1cp /etc/csf/csf.conf /usr/local/csf/profiles/my_custom_profile.confQuindi modifica il file my_custom_profile.conf con il tuo editor di testo preferito e regola le impostazioni secondo le tue esigenze. Una volta apportate le modifiche, puoi applicare il profilo personalizzato usando il comando menzionato in precedenza.
Considerazioni per l’uso dei profili CSF
- Esegui il backup della configurazione corrente prima di applicare un nuovo profilo. Questo garantisce di poter tornare facilmente alle impostazioni precedenti se necessario.
- Testa il nuovo profilo in un ambiente non di produzione prima di applicarlo a un server live. Questo aiuta a identificare eventuali problemi o conflitti.
- Quando crei profili personalizzati, assicurati di seguire le migliori pratiche per la protezione dei server Linux e considera il tuo caso d’uso e ambiente specifici.
- Rivedi e aggiorna regolarmente i tuoi profili per mantenerti allineato con le ultime raccomandazioni e pratiche di sicurezza.
- Ricorda che l’applicazione di un nuovo profilo sovrascriverà le impostazioni correnti. Rivedi i contenuti del profilo prima dell’applicazione, specialmente se usi profili personalizzati o hai apportato modifiche ai profili predefiniti.
Comprendendo e utilizzando i profili CSF, puoi gestire e alternare efficacemente diverse configurazioni di sicurezza sul tuo server Linux. Questo non solo fa risparmiare tempo, ma garantisce anche che il tuo server rimanga protetto in diverse circostanze.
Configurazione dell’interfaccia utente CSF
CSF fornisce un’interfaccia utente (UI) basata sul web per gestire e configurare il firewall. Questa interfaccia grafica è particolarmente utile per chi non è a suo agio con gli strumenti da riga di comando o preferisce una gestione visuale.
In questa sezione, ti guideremo nella configurazione dell’UI CSF e discuteremo alcune considerazioni per il suo utilizzo.
Configurazione dell’UI CSF
L’UI CSF è disponibile di default per pannelli di controllo popolari come cPanel, DirectAdmin e Webmin. Se utilizzi uno di questi, l’UI CSF dovrebbe essere già integrata nel tuo pannello.
Per altri pannelli di controllo o server senza pannello, puoi configurare l’UI CSF con i seguenti passaggi:
- Assicurati che le dipendenze necessarie siano installate sul tuo server:
- Perl
- Il modulo LWP (libwww-perl)
- Il modulo GD (libgd)
- Il modulo GD::Graph
Puoi installare queste dipendenze usando il tuo gestore di pacchetti. Ad esempio, su Ubuntu:
1sudo apt-get install perl libwww-perl libgd-dev libgd-perl libgd-graph-perl- Apri il file di configurazione CSF in
/etc/csf/csf.confcon il tuo editor di testo preferito (ad es. nano o vim). - Trova le seguenti impostazioni e modificale come segue:
1UI = "1"
2UI_PORT = "<your_desired_port>"
3UI_USER = "<your_username>"
4UI_PASS = "<your_password>"Sostituisci <your_desired_port> con un numero di porta inutilizzato (ad es. 8080), <your_username> con un nome utente a tua scelta e <your_password> con una password forte e unica.
- Salva e chiudi il file di configurazione.
- Riavvia CSF per applicare le modifiche:
1csf -rAccedi all’UI CSF aprendo http://ip_del_server:<porta_desiderata> nel browser e accedi con il nome utente e la password specificati nel file di configurazione.
Configurazione di HTTPS per l’UI CSF
È essenziale proteggere l’UI CSF con HTTPS per garantire la sicurezza delle credenziali di accesso e della trasmissione dei dati. L’utilizzo di HTTPS è fortemente raccomandato, specialmente quando si accede all’UI tramite internet.
In questa sezione, mostrerò come configurare HTTPS per l’UI CSF utilizzando Let’s Encrypt, ACME o Certbot, e dove posizionare i certificati generati affinché CSF possa leggerli.
HTTPS con Certbot
- Assicurati che Certbot sia installato sul tuo server. Puoi trovare le istruzioni specifiche per la tua distribuzione sul sito web di Certbot .
- Genera un certificato per il tuo dominio utilizzando Certbot:
1sudo certbot certonly --standalone -d example.comSostituisci example.com con il tuo dominio. Assicurati che il dominio punti all’indirizzo IP del tuo server.
- Dopo aver generato il certificato, troverai i file del certificato nella directory
/etc/letsencrypt/live/example.com/. I file necessari sono: fullchain.pem (il certificato) e privkey.pem (la chiave privata). - Copia i file del certificato in una posizione da cui CSF possa leggerli:
1sudo cp /etc/letsencrypt/live/example.com/fullchain.pem /etc/csf/ui/ssl/cert.pem
2sudo cp /etc/letsencrypt/live/example.com/privkey.pem /etc/csf/ui/ssl/key.pem- Apri il file di configurazione CSF in
/etc/csf/csf.confcon il tuo editor di testo preferito (ad es. nano o vim). - Modifica le seguenti impostazioni:
1UI_SSL = "1"
2UI_CERT = "/etc/csf/ui/ssl/cert.pem"
3UI_KEY = "/etc/csf/ui/ssl/key.pem"- Salva e chiudi il file di configurazione.
- Riavvia CSF per applicare le modifiche:
1csf -rOra puoi accedere in modo sicuro all’UI CSF tramite HTTPS aprendo https://example.com:<porta_desiderata> nel browser.
Ricorda di rinnovare il certificato Let’s Encrypt ogni 90 giorni poiché ha una breve durata di validità. Puoi automatizzare questo processo con un cron job.
Ricorda che HTTPS è necessario e fortemente raccomandato per proteggere l’UI CSF. Seguendo questi passaggi, puoi garantire che le tue credenziali di accesso e la trasmissione dei dati siano protette da potenziali minacce.
Considerazioni per l’uso dell’UI CSF
- Scegli una password forte e unica per l’UI CSF per prevenire accessi non autorizzati. Aggiorna regolarmente la password ed evita di utilizzare la stessa password per altri servizi.
- Limita l’accesso all’UI CSF consentendo solo a specifici indirizzi IP di connettersi. Puoi farlo modificando l’impostazione
UI_ALLOWnel file di configurazione CSF:
1UI_ALLOW = "192.168.1.1,192.168.1.2"Sostituisci gli indirizzi IP di esempio con quelli a cui desideri consentire l’accesso all’UI CSF.
- Assicurati che la porta scelta per l’UI CSF non sia utilizzata da altri servizi. Inoltre, è consigliabile utilizzare una porta non standard per ridurre le probabilità di attacchi automatizzati.
- Aggiorna regolarmente l’UI CSF e le sue dipendenze per proteggerti da vulnerabilità e problemi di sicurezza noti.
- Monitora i log di accesso per identificare eventuali attività sospette o tentativi di accesso non autorizzati. I log CSF si trovano in
/var/log/lfd.log.
Configurando e utilizzando l’UI CSF, puoi gestire e configurare efficacemente le impostazioni del firewall attraverso un’interfaccia grafica facile da usare.
Assicurati di seguire le migliori pratiche e di considerare i punti sopra menzionati per mantenere un ambiente sicuro e affidabile.
Protezione CSF contro attacchi DDoS
CSF può aiutare a proteggere il tuo server da attacchi DDoS (Distributed Denial of Service) applicando varie configurazioni e misure di sicurezza.
In questa sezione, mostreremo come CSF può proteggere dagli attacchi DDoS, e forniremo alcuni esempi di configurazione e raccomandazioni.
Protezione SYN Flood
Gli attacchi SYN flood sono un tipo di attacco DDoS in cui l’attaccante invia un gran numero di pacchetti SYN al server, causando l’esaurimento delle risorse mentre tenta di stabilire connessioni.
Per abilitare la protezione SYN flood in CSF, modifica le seguenti impostazioni in /etc/csf/csf.conf:
1SYNFLOOD = "1"
2SYNFLOOD_RATE = "100/s"
3SYNFLOOD_BURST = "150"Queste impostazioni abilitano la protezione SYN flood e configurano i limiti di velocità e burst per le connessioni in entrata.
Protezione limite connessioni
Limitando il numero di connessioni simultanee al tuo server, puoi mitigare gli attacchi DDoS che prendono di mira servizi specifici.
Per abilitare la protezione limite connessioni, configura l’impostazione CONNLIMIT:
1CONNLIMIT = "22;5,80;50,443;50"Questo esempio limita le connessioni a 5 per SSH (22), 50 per HTTP (80) e 50 per HTTPS (443).
Protezione Port Flood
La protezione port flood aiuta a proteggere il tuo server dagli attacchi DDoS che prendono di mira porte specifiche.
Per abilitare la protezione port flood, configura l’impostazione PORTFLOOD:
1PORTFLOOD = "22;tcp;5;300,80;tcp;30;5,443;tcp;30;5"Questo esempio limita la velocità delle nuove connessioni per SSH (22) a 5 ogni 300 secondi, e per HTTP (80) e HTTPS (443) a 30 ogni 5 secondi.
Blocklist
CSF può integrarsi con varie blocklist IP per impedire ad indirizzi IP notoriamente malevoli di accedere al tuo server.
Per abilitare l’integrazione con le blocklist, configura le impostazioni BLOCKLIST_* nel file di configurazione CSF:
1BLOCKLIST_DE = "1"
2BLOCKLIST_6DE = "1"
3BLOCKLIST_DE_URL = "https://lists.blocklist.de/lists/all.txt"
4BLOCKLIST_6DE_URL = "https://lists.blocklist.de/lists/ipv6/all.txt"Questo esempio abilita l’integrazione con le blocklist blocklist.de sia per indirizzi IPv4 che IPv6.
Blocco a livello di paese
CSF ti permette di bloccare l’accesso da paesi specifici utilizzando le impostazioni CC_DENY e CC_ALLOW_FILTER. Sebbene questo metodo non sia adatto a tutte le situazioni, può essere utile quando desideri limitare l’accesso da paesi noti per il lancio di attacchi DDoS.
1CC_DENY = "CN,IR,RU"
2CC_ALLOW_FILTER = "US,CA,GB"Questo esempio blocca l’accesso dalla Cina (CN), dall’Iran (IR) e dalla Russia (RU), e consente solo le connessioni in entrata dagli Stati Uniti (US), dal Canada (CA) e dal Regno Unito (GB).
Ricorda di riavviare CSF dopo aver modificato il file di configurazione:
1csf -rApplicando queste configurazioni e raccomandazioni, puoi migliorare significativamente la protezione del tuo server contro gli attacchi DDoS.
Ricorda che nessuna misura di sicurezza è completamente infallibile, quindi è essenziale monitorare regolarmente il tuo server per potenziali minacce e adattare le impostazioni CSF di conseguenza.
Soluzioni di sicurezza alternative
Sebbene CSF sia un’ottima scelta per la sicurezza dei server Linux, vale la pena considerare soluzioni alternative che offrono funzionalità simili:
- UFW (Uncomplicated Firewall) : Un firewall user-friendly per sistemi basati su Ubuntu.
- Firewalld : Uno strumento di gestione firewall per distribuzioni Linux che utilizzano systemd.
- IPTables : Un potente strumento da riga di comando per il filtraggio dei pacchetti e la traduzione degli indirizzi di rete su Linux.
Conclusione
Proteggere il tuo server Linux è essenziale per salvaguardare i tuoi dati e mantenere l’integrità del server. CSF offre una soluzione potente e user-friendly per raggiungere questo obiettivo.
Seguendo i passaggi descritti in questo articolo, puoi facilmente installare e configurare CSF sul tuo server Linux. Ricorda di esplorare soluzioni di sicurezza alternative come UFW, Firewalld e IPTables se cerchi ulteriori opzioni.
Spero che tu abbia trovato questo articolo utile e informativo per proteggere il tuo server Linux con CSF. Se ti è piaciuto questo articolo e lo hai trovato di valore, per favore condividilo con altri che potrebbero beneficiarne. Ti incoraggio anche a lasciare un commento con i tuoi pensieri o domande, e sarò felice di aiutarti. 😊
Rimani vigile e mantieni i tuoi server al sicuro nel 2023 e oltre!
Commenti