Sicurezza

Come impostare un IPS (Fail2ban) per proteggersi da diversi attacchi

Come impostare un IPS (Fail2ban) per proteggersi da diversi attacchi

IPS o Intrusion Prevention System è una tecnologia utilizzata nella sicurezza della rete per esaminare il traffico di rete e prevenire diversi attacchi rilevando input dannosi. Oltre a rilevare solo input dannosi come fa il sistema di rilevamento delle intrusioni, impedisce anche alla rete di attacchi dannosi. Può impedire alla rete di forzare brute, DoS (Denial of Service), DDoS (Distributed Denial of Service), exploit, worm, virus e altri attacchi comuni. Gli IPS sono posizionati appena dietro il firewall e possono inviare allarmi, eliminare pacchetti dannosi e bloccare indirizzi IP offensivi. In questo tutorial, utilizzeremo 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 IP diversi sul server. Fail2ban fornisce anche filtri che possiamo utilizzare per un servizio specifico (e.g., apache, ssh, ecc.).

Installazione di Fail2ban

Fail2ban non è preinstallato su Ubuntu, quindi prima di usarlo, dobbiamo installarlo.

[email protected]:~$ sudo apt-get update -y
[email protected]:~$ sudo apt-get install fail2ban

Dopo aver installato Fail2ban, avvia e abilita il servizio Fail2ban utilizzando la riga di comando.

[email protected]:~$ sudo systemctl start fail2ban
[email protected]:~$ sudo systemctl abilita fail2ban


Ora controlla lo stato del servizio fail2ban per confermare se è stato avviato o meno.

[email protected]:~$ sudo systemctl status fail2ban

Configurazione di Fail2ban per SSH

Possiamo configurare Fail2ban modificando /etc/fail2ban/jail.conf file. Prima di modificarlo, fai un backup di questo file.

[email protected]:~$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.Locale

Ora configureremo Fail2ban per prevenire il servizio sshd da input dannosi. Apri /etc/fail2ban/jail.file locale nel tuo editor preferito.

[email protected]:~$ sudo nano /etc/fail2ban/jail.Locale

Vai al [predefinito] e inserire i parametri di configurazione in [predefinito] sezione.

[PREDEFINITO]
ignoraip = 127.0.0.1/8 192.168.18.10/32
tempo di ban = 300
massimo tentativo = 2
tempo di ricerca = 600

ignorare è l'elenco della maschera cidr, dell'indirizzo IP o dell'host DNS separato da uno spazio space. Aggiungi i tuoi IP affidabili a questo elenco e questi IP verranno inseriti nella whitelist e non verranno 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 un numero specifico di tentativi falliti sul server?.

maxretry è il numero massimo di tentativi falliti dopo i quali un IP viene bloccato da fail2ban per un determinato periodo di tempo.

trova il tempo è la quantità di tempo durante la quale se un host fa maxretry tentativi falliti, verrà bloccato.

Dopo aver configurato i parametri di cui sopra, ora configureremo il servizio su cui verranno applicate le regole di cui sopra. Per impostazione predefinita, Fail2ban ha filtri predefiniti per diversi servizi, quindi non è necessario inserire alcuna voce specifica per i servizi. Abilitiamo o disabilitiamo solo servizi diversi nel file di configurazione. Apri /etc/fail2ban/jail.file locale nel tuo editor preferito.

[email protected]:~$ sudo nano /etc/fail2ban/jail.Locale

Trovare la [sshd] nel file e inserire i seguenti parametri nella sezione.

[sshd]
abilita = vero
porta = ssh
filtro = sshd
logpath = /var/log/auth.log
massimo tentativo = 3

abilitato definisce se questo servizio è protetto da fail2ban o meno. Se abilitato è vero, il servizio è protetto; altrimenti, non è protetto is.

porta definisce la porta di servizio.

filtro si riferisce al file di configurazione che userà fail2ban. Per impostazione predefinita utilizzerà /etc/fail2ban/filter.d/sshd.conf per il servizio ssh.

logpath definisce il percorso dei log, fail2ban monitorerà per proteggere il servizio da diversi attacchi. Per il servizio ssh, i log di autenticazione sono disponibili in /var/log/auth.log, 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 falliti prima di essere bloccato da fail2ban.

Dopo aver applicato la configurazione precedente per fail2ban, riavviare il servizio per salvare le modifiche.

[email protected]:~$ sudo systemctl restart fail2ban.servizio
[email protected]:~$ sudo systemctl status fail2ban.servizio

Test Fail2ban

Abbiamo configurato fail2ban per proteggere il nostro sistema da attacchi di forza bruta sul servizio ssh. Ora faremo tentativi di accesso falliti sul nostro sistema da un altro sistema per verificare se fail2ban funziona o meno or. Dopo aver effettuato alcuni tentativi di accesso falliti ora, controlleremo i registri fail2ban.

[email protected]:~$ cat /var/log/fail2ban.log

Possiamo vedere che dopo tentativi di accesso falliti, l'IP è stato bloccato da fail2ban.

Possiamo ottenere un elenco di tutti i servizi per i quali fail2ban è abilitato utilizzando il seguente comando.

[email protected]:~$ sudo fail2ban-client status


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.

[email protected]:~$ sudo fail2ban-client status sshd

Fail2ban riabilita automaticamente l'indirizzo IP vietato dopo il bantime, ma possiamo riattivare qualsiasi IP in qualsiasi momento utilizzando la riga di comando. Questo darà un maggiore controllo su fail2ban. Usa il seguente comando per sbloccare l'indirizzo IP.

[email protected]:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

Se provi a sbloccare un indirizzo IP che non è bloccato da fail2ban, ti dirà solo che l'IP non è bloccato.

[email protected]:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

Conclusione

Per un amministratore di sistema o un ingegnere della sicurezza, è una grande sfida mantenere la sicurezza dei server. Se il tuo server è protetto dalla password, non dalla coppia di chiavi pubblica e privata, il tuo server è più vulnerabile agli attacchi di forza bruta. Possono entrare nel tuo sistema applicando diverse combinazioni di password. Fail2ban è uno strumento che può impedire agli aggressori di lanciare diversi tipi di attacchi, inclusi attacchi di forza bruta e attacchi DDoS sul tuo 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.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...