09 Giu Impedire l’attacco brute force su Debian con Fail2Ban
Fail2ban (monitor di errore di autenticazione) è un software di prevenzione delle intrusioni, scritto in Python.
Fail2ban analizza i vari file di log dei servizi (ssh, apache, postfix ecc) e se rileva eventuali attacchi (principalmente attacchi brute-force), crea le regole sul firewall (iptables e molti altri) o TCP wrapper (/etc/hosts.deny ) di vietare (temporaneamente o definitivamente) l’hacker. Allo stesso tempo, fail2ban informa amministratore di sistema con la posta elettronica la sua attività in tempo reale.
Alcune attività che considerate come attacchi sono:
- tentativi multipli per il collegamento ssh utilizzando gli account che non esistono nel sistema
- più tentativi per SSH password commutazione di connessione
- Richieste di Apache per le pagine web spesso richiesti da bot e scanner.
Installazione
apt-get install fail2ban
Lettura elenco dei pacchetti... Fatto Generazione albero delle dipendenze Lettura informazioni sullo stato... Fatto Pacchetti suggeriti: python-gamin I seguenti pacchetti NUOVI saranno installati: fail2ban 0 aggiornati, 1 installati, 0 da rimuovere e 0 non aggiornati. È necessario scaricare 0 B/96,2 kB di archivi. Dopo quest'operazione, verranno occupati 598 kB di spazio su disco. Selezionato il pacchetto fail2ban. (Lettura del database... 31193 file e directory attualmente installati.) Estrazione di fail2ban (da .../fail2ban_0.8.4-3+squeeze1_all.deb)... Elaborazione dei trigger per man-db... Configurazione di fail2ban (0.8.4-3+squeeze1)... Elaborazione dei trigger per python-central...
A questo punto, lanciando il comando:
iptables -L
Avremo
Chain fail2ban-ssh (1 references) target prot opt source destination RETURN all -- anywhere anywhere
La directory con tutti i file sara’ di default /etc/fail2ban
All’interno della cartella /etc/fail2ban/filter.d/ ci sono tutte le regole che permettono di identificare un tentativo di attacco con le regexp ed il nome della regola.
Configurazione
Il file di configurazione /etc/fail2ban/jail.conf è diviso per sezioni; ogni sezione inizia ha una struttura simile a:
[nomesezione]
parametro = valore
parametro2 = valore
parametro3 = valore
Ogni sezione, quindi, identificherà un controllo da eseguire. Fa eccezione la prima: [DEFAULT], in quanto contiene i valori di default che verranno usati nelle sezioni successive; ovviamente potranno essere ridefiniti per adattarli ai propri gusti. Per attivare un filtro è quindi necessario solamente portarsi nella sezione del filtro da attivare e variare il valore della direttiva di abilitazione da:
enabled = false
a
enabled = true
Attivazione dei nuovi filtri
Dopo ogni modifica del file di configurazione /etc/fail2ban/jail.conf occorre riavviare il demone di fail2ban:
/etc/init.d/fail2ban reload