Configura firewall server/CSF è una suite di applicazioni firewall per server Linux. CSF è anche un Login/Intrusion Detection per applicazioni come SSH, SMTP, IMAP, Pop3, il comando "su" e molti altri. Il liquido cerebrospinale può ad es. rileva quando qualcuno sta effettuando l'accesso al server tramite SSH e ti avvisa quando questo utente tenta di utilizzare il comando "su" sul server per ottenere privilegi più elevati. Verifica inoltre la presenza di errori di autenticazione di accesso su server di posta (Exim, IMAP, Dovecot, uw-imap, Kerio), server OpenSSH, server FTP (Pure-ftpd, vsftpd, Proftpd), server cPanel per sostituire software come fail2ban. CSF è una buona soluzione di sicurezza per i server di hosting e può essere integrato nell'interfaccia utente (UI) di WHM/cPanel, DirectAdmin e Webmin.
Prerequisiti
- CentOS 7 (il mio server utilizza l'IP 192.168.1.101).
- privilegi di root.
Cosa faremo in questo tutorial:
- Installa le dipendenze per CSF.
- Installa CSF.
- Configura CSF.
- Comandi CSF di base.
- Configurazione avanzata.
Fase 1 - Installazione delle dipendenze CFS
CSF si basa su Perl, quindi devi prima installare Perl sul nostro server. Hai bisogno di wget per scaricare il programma di installazione CSF e vim (o un editor a tua scelta) per modificare il file di configurazione CSF. Installa i pacchetti con il comando yum:
yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes
Passaggio 2 - Installa CSF
Vai a "/usr/src/" directory e scarica CSF con il comando wget.
cd /usr/src/
wget https://download.configserver.com/csf.tgz
Estrai il file tar.gz e vai nella directory csf, quindi installalo:
tar -xzf csf.tgz
cd csf
sh install.sh
Dovresti ottenere le informazioni che l'installazione di CSF è stata completata alla fine.
Ora dovresti controllare che CSG funzioni davvero su questo server. Vai a "/usr/local/csf/bin/" directory ed esegui "csftest.pl" .
cd /usr/local/csf/bin/
perl csftest.pl
Se vedi i risultati del test come mostrato di seguito, CSF funziona senza problemi sul tuo server:
RESULT: csf should function on this server
Passaggio 3 - Configura CSF su CentOS 7
Prima di entrare nel processo di configurazione di CSF, la prima cosa che devi sapere è che "CentOS 7" ha un'applicazione firewall predefinita chiamata "firewalld". Devi fermare firewalld e rimuoverlo dall'avvio.
Arresta il firewalld:
systemctl stop firewalld
Disabilita/Rimuovi firewalld dall'avvio:
systemctl disable firewalld
Quindi vai alla directory di configurazione CSF "/etc/csf/" e modifica il file "csf.conf" con l'editor vim:
cd /etc/csf/
vim csf.conf
Modifica riga 11 "PROVA " a "0" per l'applicazione della configurazione del firewall.
TESTING = "0"
Per impostazione predefinita, CSF consente il traffico in entrata e in uscita per la porta standard SSH 22, se utilizzi una porta SSH diversa, aggiungi la tua porta alla configurazione nella riga 139 "TCP_IN" .
Ora avvia CSF e LFD con il comando systemctl:
systemctl start csf
systemctl start lfd
E quindi abilita l'avvio dei servizi csf e lfd all'avvio:
systemctl enable csf
systemctl enable lfd
Ora puoi vedere l'elenco delle regole predefinite di CSF con il comando:
csf -l
Fase 4 - Comandi CSF di base
1. Avvia il firewall (abilita le regole del firewall):
csf -s
2. Cancella/Interrompi le regole del firewall.
csf -f
3. Ricarica le regole del firewall.
csf -r
4. Consenti un IP e aggiungilo a csf.allow.
csf -a 192.168.1.109
Risultati:
Adding 192.168.1.109 to csf.allow and iptables ACCEPT...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
5. Rimuovere ed eliminare un IP da csf.allow.
csf -ar 192.168.1.109
Risultati:
Removing rule...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
6. Nega un IP e aggiungi a csf.deny:
csf -d 192.168.1.109
Risultati:
Adding 192.168.1.109 to csf.deny and iptables DROP...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
7. Rimuovere ed eliminare un IP da csf.deny.
csf -dr 192.168.1.109
Risultati:
Removing rule...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
8. Rimuovi e sblocca tutte le voci da csf.deny.
csf -df
Risultati:
DROP all opt -- in !lo out * 192.168.1.110 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.110
DROP all opt -- in !lo out * 192.168.1.111 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.111
csf: all entries removed from csf.deny
9. Cerca una corrispondenza di pattern su iptables, ad esempio:IP, CIDR, numero di porta
csf -g 192.168.1.110
Fase 5 - Configurazione avanzata
Ecco alcune modifiche al CSF, quindi puoi configurarlo in base alle tue esigenze.
Torna alla directory di configurazione csf e modifica il file di configurazione csf.conf:
cd /etc/csf/
vim csf.conf
1. Non bloccare gli indirizzi IP che si trovano nei file csf.allow.
Per impostazione predefinita lfd bloccherà anche un IP nei file csf.allow, quindi se vuoi che un IP nei file csf.allow non venga mai bloccato da lfd, vai alla riga 272 e cambia "IGNORE_ALLOW" a "1" . Questo è utile quando hai un IP statico a casa o in ufficio e vuoi assicurarti che il tuo IP non venga mai bloccato dal firewall sul tuo server Internet.
IGNORE_ALLOW = "1"
2. Consenti ICMP in entrata e in uscita.
Vai alla riga 152 per ping/ICMP in entrata:
ICMP_IN = "1"
E la riga 159 per il ping in uscita ping/ICMP:
ICMP_OUT = "1"
3. Blocca determinati paesi
CSF offre un'opzione per consentire e negare l'accesso per paese utilizzando il CIDR (Prefisso internazionale). Vai a riga 836 e aggiungi i codici paese che devono essere consentiti e negati:
CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"
4. Invia il registro di accesso Su e SSH tramite e-mail.
È possibile impostare un indirizzo e-mail utilizzato da LFD per inviare un'e-mail su "Accesso SSH" eventi e utenti che eseguono "su" comando, vai alla riga 1069 e cambia il valore in "1".
LF_SSH_EMAIL_ALERT = "1"
...
LF_SU_EMAIL_ALERT = "1"
Quindi definisci l'indirizzo email che desideri utilizzare nella riga 588 .
LF_ALERT_TO = "[email protected]"
Se desideri ulteriori modifiche, leggi le opzioni in "/etc/csf/csf.conf" file di configurazione.
Conclusione
CSF è un firewall basato su applicazioni per iptables fornito per i server Linux. CSF ha molte funzionalità e può supportare strumenti di gestione basati sul Web come cPanel / WHM, DirectAdmin e Webmin. CSF è facile da installare e utilizzare sul server, semplifica la gestione della sicurezza per gli amministratori di sistema.