Introduzione

DenyHosts è un tool di sicurezza scritto in Python. È pensato per prevenire attacchi brute force verso server SSH monitorando i tentativi di login invalidi nel log di autenticazione e bloccando gli indirizzi IP.

Installazione Denyhosts

Per installare Denyhosts dare questo comando:

sudo apt-get install denyhosts

Aprire ed inserire il vostro indirizzo IP nel seguente file per non rischiare di essere bloccati dal tool.

sudo nano /etc/hosts.allow

Per aggiungere un indirizzo IP di esempio, scrivere all'interno del file:


sshd: 123.11.22.33

Per aggiungere più di un indirizzo IP aggiungere una virgola tra un indirizzo e l'altro:


sshd: 123.11.22.33 , 456.44.55.66

Salvare e chiudere il file.

Configurare il file denyhosts.conf

Il file di configurazione di Denyhosts è il seguente /etc/denyhosts.conf.
Aprire il file con questo comando:

sudo nano /etc/denyhosts.conf

Salvare i log di denyhosts in un file:


SECURE_LOG = /var/log/auth.log

Allegare un file in cui inserire gli indirizzi IP da bloccare:


HOSTS_DENY = /etc/hosts.deny

Per bloccare solo sshd:


BLOCK_SERVICE  = sshd

Impostare la soglia di tentativi di login falliti:


DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1

Per bloccare le connessioni in entrata utilizzando IPTABLES:


IPTABLES = /sbin/iptables

Salvare e chiudere il file.

Denyhosts Service

Per avviare denyhosts da terminale:

sudo systemctl start denyhosts.service

Per fermare denyhosts da terminale:

sudo systemctl stop denyhosts.service

Per riavviare denyhosts da terminale:

sudo systemctl restart denyhosts.service

Abilitare denyhosts service all'avvio di Ubuntu:

sudo systemctl enable denyhosts.service

Lista Hosts Bloccati

Per controllare la lista degli hosts bloccati da terminale:

sudo cat /etc/hosts.deny

La configurazione di Denyhosts è terminata.