IPS o il sistema di prevenzione delle intrusioni è una tecnologia utilizzata nella sicurezza della rete per esaminare il traffico di rete e prevenire attacchi diversi rilevando input dannosi. Oltre a rilevare semplicemente input dannosi come fa il sistema di rilevamento delle intrusioni, impedisce anche alla rete di attacchi dannosi. Può impedire alla rete di force bruto, DOS (negazione del servizio), DDoS (negazione distribuita del servizio), exploit, vermi, virus e altri attacchi comuni. Gli IP sono posizionati proprio dietro il firewall e possono inviare allarmi, rilasciare pacchetti dannosi e bloccare gli indirizzi IP offensivi. In questo tutorial, useremo Fail2Ban, che è un pacchetto software di prevenzione delle intrusioni, per aggiungere un livello di sicurezza contro diversi attacchi di forza bruta.
Come funziona Fail2Ban
Fail2Ban legge i file di registro (e.G. /var/log/apache/error_log) e ottiene gli IP offensivi che stanno tentando troppe password non riuscite o cercano exploit. Fondamentalmente, Fail2Ban aggiorna le regole del firewall per bloccare diversi IP sul server. Fail2Ban fornisce anche filtri utilizzando i quali possiamo utilizzare per un servizio specifico (E.G., Apache, SSH, ecc.).
Installazione di Fail2Ban
Fail2Ban non viene preinstallato su Ubuntu, quindi prima di usarlo, dobbiamo installarlo.
ubuntu@ubuntu: ~ $ sudo apt -get update -y
ubuntu@ubuntu: ~ $ sudo apt-get install fail2ban
Dopo aver installato fail2ban, avvia e abilita il servizio fail2ban utilizzando la riga di comando.
ubuntu@ubuntu: ~ $ sudo systemctl start fail2ban
ubuntu@ubuntu: ~ $ sudo systemctl abilita fail2ban
Ora controlla lo stato del servizio fail2ban per confermare se è iniziato o meno.
ubuntu@ubuntu: ~ $ sudo systemctl status fail2ban
Configurazione di Fail2Ban per SSH
Possiamo configurare Fail2Ban modificando/etc/fail2ban/prigione.Conf File. Prima di modificarlo, prendi un backup di questo file.
ubuntu@ubuntu: ~ $ sudo cp/etc/fail2ban/prigione.conf/etc/fail2ban/prigione.Locale
Ora configureremo Fail2Ban per impedire al servizio SSHD da input dannosi. Aperto/etc/fail2ban/prigione.File locale nel tuo editor preferito.
ubuntu@ubuntu: ~ $ sudo nano/etc/fail2ban/prigione.Locale
Vai al [predefinito] sezione e immettere i parametri di configurazione in [predefinito] sezione.
[PREDEFINITO]
Ignorep = 127.0.0.1/8 192.168.18.10/32
Bantime = 300
maxretry = 2
Findtime = 600
ignorare è l'elenco di maschera CIDR, indirizzo IP o host DNS separato da un carattere spaziale. Aggiungi i tuoi IP fidati a questo elenco e questi IP saranno fondati in bianco e non saranno bloccati da Fail2Ban anche se eseguono un attacco di forza bruta sul server.
Bantime è il momento in cui un IP verrà bloccato dopo aver effettuato una quantità specifica di tentativi non riusciti al server.
maxretry è il numero di tentativi massimi non riusciti dopo i quali un IP è bloccato da fail2ban per un periodo di tempo specifico.
Findtime è la quantità di tempo durante il quale se un host fa maxretry tentativi falliti, verrà bloccato.
Dopo aver configurato i parametri sopra, ora configureremo il servizio su cui si applicheranno le regole sopra. Per impostazione predefinita, Fail2Ban ha filtri predefiniti per servizi diversi, quindi non è necessario inserire voci specifiche per i servizi. Abilitiamo o disabilitiamo solo servizi diversi nel file di configurazione. Aperto/etc/fail2ban/prigione.File locale nel tuo editor preferito.
ubuntu@ubuntu: ~ $ sudo nano/etc/fail2ban/prigione.Locale
Trovare il [sshd] sezione nel file e immettere i seguenti parametri nella sezione.
[sshd]
abilita = true
porta = ssh
filtro = sshd
logpath =/var/log/auth.tronco d'albero
maxretry = 3
abilitato definisce se questo servizio è protetto da fail2ban o no. Se abilitato è vero, il servizio viene protetto; Altrimenti, non viene protetto.
porta Definisce la porta di servizio.
filtro si riferisce al file di configurazione che fail2ban utilizzerà. Per impostazione predefinita utilizzerà/etc/fail2ban/filtro.d/sshd.File conf per il servizio SSH.
Logpath Definisce il percorso verso i registri, Fail2Ban monitorerà per proteggere il servizio da diversi attacchi. Per il servizio SSH, i registri di autenticazione possono essere trovati su/var/log/auth.registro, quindi fail2ban monitorerà questo file di registro e aggiornerà il firewall rilevando i tentativi di accesso non riusciti.
maxretry Definisce il numero di tentativi di accesso non riusciti prima di essere bloccati dal fallban.
Dopo aver applicato la configurazione sopra per Fail2Ban, riavvia il servizio per salvare le modifiche.
ubuntu@ubuntu: ~ $ sudo systemctl riavvio fail2ban.servizio
ubuntu@ubuntu: ~ $ sudo systemctl status fail2ban.servizio
Test di Fail2Ban
Abbiamo configurato Fail2Ban per proteggere il nostro sistema dagli attacchi di forza bruta al servizio SSH. Ora faremo tentativi di accesso non riusciti sul nostro sistema da un altro sistema per verificare se Fail2Ban sta funzionando o meno. Dopo aver fatto alcuni tentativi di accesso non riusciti ora, controlleremo i registri di Fail2ban.
ubuntu@ubuntu: ~ $ cat/var/log/fail2ban.tronco d'albero
Possiamo vedere che dopo tentativi di accesso non riusciti, l'IP è stato bloccato da Fail2Ban.
Possiamo ottenere un elenco di tutti i servizi per i quali Fail2Ban è abilitato utilizzando il comando seguente.
ubuntu@ubuntu: ~ $ sudo fail2ban-client
La figura sopra mostra che abbiamo abilitato fail2ban solo per il servizio sshd. Possiamo ottenere ulteriori informazioni sul servizio SSHD specificando il nome del servizio nel comando sopra.
ubuntu@ubuntu: ~ $ sudo fail2ban-client status sshd
Fail2Ban che ha automaticamente suscitato l'indirizzo IP vietato dopo Bantime, ma possiamo suscitare qualsiasi IP in qualsiasi momento usando la riga di comando. Questo darà un maggiore controllo su Fail2ban. Utilizzare il comando seguente per unire l'indirizzo IP.
ubuntu@ubuntu: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35
Se provi a smontare un indirizzo IP che non è bloccato da Fail2Ban, ti dirà solo che l'IP non è bloccato.
ubuntu@ubuntu: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43.35
Conclusione
Per un amministratore di sistema o un ingegnere di sicurezza, è una grande sfida mantenere la sicurezza dei server. Se il tuo server viene protetto dalla password, non dalla coppia di tasti pubblici e privati, il tuo server è più vulnerabile agli aggressori della forza bruta. Possono entrare nel tuo sistema applicando diverse combinazioni di password. Fail2Ban è uno strumento in grado di impedire agli aggressori di lanciare diversi tipi di attacchi, tra cui attacchi di forza bruta e attacchi DDO sul server. In questo tutorial, abbiamo discusso di come potremmo usare Fail2Ban per proteggere il nostro server da diversi attacchi. Possiamo anche usare Fail2Ban per proteggere altri servizi come Apache, Nginx, ecc.