Blacklist con DenyHosts
medio
Un altro utile strumento è DenyHosts. Si tratta di uno script in Python che aiuta gli amministratori di sistemi Linux ad impedire attacchi ai server SSH.
Brevemente, DenyHosts cerca tentativi di login sospetti e li aggiunge ad una lista nera, bandendoli per sempre (o quasi). Molto utile.
La maniera più semplice per installarlo è usare il proprio gestore prodotti:
europa ~ # apt-get install denyhosts
Non esiste purtroppo molta documentazione a riguardo, ma il file di configurazione di default fornito per l'installazione sarà sufficiente per iniziare ad usarlo. Leggere quindi tutti i commenti presenti all'interno del file per trovare ciò che serve.
europa # vim /etc/denyhosts.conf
Configurare DenyHosts non è difficile, ma se non si sta attenti (ad esempio se non si leggono le istruzioni fornite), può capitare di aggiungere accidentalmente i propri host di fiducia alla lista nera.
Per prevenire ciò, trovare la linea WORK_DIR nel file di configurazione:
WORK_DIR = /var/lib/denyhosts
Creare un file chiamato allowed-hosts e aggiungere in esso i propri host di fiducia. Il file supporta vari formati e wildcard, quindi non sarà difficile eseguire questa operazione:
# Allow everyone from a given subnet
192.168.1.*
# Allow a single address:
192.168.1.5
# Allow a single hostname:
ganymede
# Allow a range of addresses:
192.168.2.[5-10]
Tutto ciò è ben spiegato nella sezione FAQ (in inglese).
Dopo aver configurato DenyHosts, si può avviare ed eseguire. Per far ciò, si può eseguire DenyHosts sia come demone sia da cron. Come demone:
update-rc.d denyhosts defaults
Da cron (per esempio ogni 10 minuti) con la seguente linea di comando:
python /usr/bin/denyhosts -c /etc/denyhosts.conf
Ora ci si potrebbe chiedere perché ci si dovrebbe preoccupare di siti che, per definizione, non riescono a penetrare nel proprio sistema. Prima di tutto, verranno bloccati prima, in modo che non abbiano comunque la possibilità di fare dei tentativi per entrare.
Seconda cosa, DenyHosts 2.x aggiunge l'interessantissima (e completamente opzionale) funzione "synchronization". Si può scegliere di inviare la propria lista nera di host ai server di DenyHosts. Essi in cambio vi invieranno la loro lista collettiva di host pericolosi. In questo modo (teoricamente) si potrà iniziare ad aggiungere alla blacklist gli "aggressori" attivi ancora prima che questi tentino di attaccare il proprio sistema.
Per maggiori informazioni su DenyHosts consultare HowtoForge, Unix Review, e molti altri siti elencati nel sito di DenyHosts.
Inoltre, si ricorda di nuovo l'utilissima sezione FAQ.
