Questo tutorial ti aiuterà a installare e configurare Fail2ban sui tuoi sistemi CentOS e RHEL 8 e Fedora. In questo articolo imparerai anche come aggiungere qualsiasi servizio specifico da monitorare in fail2ban.
Passaggio 1:installa Fail2ban su CentOS 8
Prima di tutto, installa epel-release pacchetto per configurare il repository EPEL yum sul tuo sistema CentOS 8. Successivamente, installa il pacchetto rpm Fail2ban utilizzando i seguenti comandi.
sudo dnf install epel-release sudo dnf install fail2ban
Fase 2 – Configura Fail2ban
Fail2ban conserva i file di configurazione in /etc/fail2ban directory. ma dobbiamo creare una copia di questo file come jail.local .
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vi /etc/fail2ban/jail.local
Ora dobbiamo apportare le modifiche necessarie in jail.local file per creare regole di divieto. Modifica questo file nel tuo editor preferito e apporta le modifiche in [DEFAULT] sezione.
Shell
12345678910111213141516 | [DEFAULT] # "ignoreip" può essere un elenco di indirizzi IP, maschere CIDR o host DNS. Fail2ban# non bandirà un host che corrisponde a un indirizzo in questo elenco. È possibile definire più indirizzi# utilizzando lo spazio (e/o la virgola) separator.ignoreip =127.0.0.1/8 192.168.1.0/24 # "bantime" è il numero di secondi in cui un host è bandito.bantime =60m # Un host è bannato se ha generato "maxretry" durante gli ultimi secondi di "findtime". secondo le impostazioni seguenti, 2 minutesfindtime =5m # "maxretry" è il numero di errori prima che un host venga bannato.maxretry =5 |
Fase 3:proteggi SSH/SFTP
Dopo aver completato la configurazione predefinita, accedi allo stesso file jail.local e aggiorna [ssh-iptables] sezione come di seguito.
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=22, protocol=tcp] sendmail-whois[name=SSH, dest=root, [email protected], sendername="Fail2Ban"] logpath = /var/log/secure maxretry = 3
Fase 4 – Proteggi FTP
Proteggiamo il tuo server FTP (vsFTPd), trova la voce di seguito di [vsftpd-iptables] sezione e apportare le modifiche come di seguito. Se non stai usando vsFTPd, puoi saltare questa sezione.
[vsftpd-iptables] enabled = true filter = vsftpd action = iptables[name=VSFTPD, port=21, protocol=tcp] sendmail-whois[name=VSFTPD, [email protected]] logpath = /var/log/vsftpd.log maxretry = 5 bantime = 1800
Fase 5:riavvia il servizio e verifica
Dopo aver apportato tutte le modifiche salva il file e riavvia il servizio Fail2ban utilizzando il comando seguente.
sudo systemctl start fail2ban.service sudo systemctl enable fail2ban.service
A scopo di test, ho provato SSH con le credenziali sbagliate da una macchina diversa. Dopo tre tentativi sbagliati, Fail2ban ha bloccato quell'IP tramite iptables con ICMP di rifiuto. Puoi vedere le regole in iptables dopo aver bloccato l'indirizzo IP come di seguito. Per i sistemi solo SSH, assicurati di avere l'accesso SSH da un altro IP prima di eseguire questi test.