Impedire attacchi SSH brute-force con Denyhosts: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (corretto versioni compatibili)
 
(3 versioni intermedie di un altro utente non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|ONLY|Squeeze|Wheezy}}
 
__TOC__
__TOC__


== Introduzione ==
== Introduzione ==
Chiunque abbia un server esposto a internet avrà notato nei propri log diversi tentativi di login [[SSH]] automatizzati.<br/>
Chiunque abbia un server esposto a internet avrà notato nei propri log diversi tentativi di login SSH automatizzati.<br/>
Oltre alle normali precauzioni da adottare sul nostro accesso SSH (si veda ad esempio [[Ssh e autenticazione tramite chiavi]]) è bene come misura aggiuntiva installare un demone che analizzi i messaggi di log con lo scopo di determinare eventuali host che stanno cercando di forzare il nostro sistema.
Oltre alle normali precauzioni da adottare sul nostro accesso SSH (si veda ad esempio [[SSH | guida su SSH]]) è bene come misura aggiuntiva installare un demone che analizzi i messaggi di log con lo scopo di determinare eventuali host che stanno cercando di forzare il nostro sistema.
<br/>
<br/>
''DenyHosts'' è un programma, presente nei repository Debian ([http://packages.debian.org/search?searchon=sourcenames&keywords=denyhosts]), che automaticamente blocca gli attacchi di forza bruta su SSH aggiungendo righe a <code>/etc/hosts.deny</code>. Informa anche gli amministratori Linux circa gli host che effettuano attacchi, gli utenti attaccati e i login sospetti.
''DenyHosts'' è un programma, presente nei repository Debian ([http://packages.debian.org/search?searchon=sourcenames&keywords=denyhosts]), che automaticamente blocca gli attacchi di forza bruta su SSH aggiungendo righe a <code>/etc/hosts.deny</code>. Informa anche gli amministratori Linux circa gli host che effettuano attacchi, gli utenti attaccati e i login sospetti.

Versione attuale delle 17:19, 16 apr 2016

Debian-swirl.png Versioni Compatibili

soltanto:
Debian 6 "squeeze"
Debian 7 "wheezy"

Introduzione

Chiunque abbia un server esposto a internet avrà notato nei propri log diversi tentativi di login SSH automatizzati.
Oltre alle normali precauzioni da adottare sul nostro accesso SSH (si veda ad esempio guida su SSH) è bene come misura aggiuntiva installare un demone che analizzi i messaggi di log con lo scopo di determinare eventuali host che stanno cercando di forzare il nostro sistema.
DenyHosts è un programma, presente nei repository Debian ([1]), che automaticamente blocca gli attacchi di forza bruta su SSH aggiungendo righe a /etc/hosts.deny. Informa anche gli amministratori Linux circa gli host che effettuano attacchi, gli utenti attaccati e i login sospetti.

Installazione

Per prima cosa controlliamo che siano installati alcuni requisiti:

# dpkg --list | grep python2
$ python -V
Output:
Python 2.5.1

Quindi installiamo il software:

# apt-get install denyhosts

Configurazione

Il file di configurazione è /etc/denyhosts.conf, ma il software richiede anche che siano creati due file per le blacklist e per le whitelist: /etc/hosts.allow e /etc/hosts.deny.

Creazione di una whitelist

Creiamo il file:

# vi /etc/hosts.allow

e abilitiamo il nostro indirizzo IP, in modo che non venga mai bloccato da Denyhosts:

sshd: 81.174.67.93

Poi salviamo e chiudiamo il file.

Configurazione di Denyhosts

Apriamo il file di configurazione:

# vi /etc/denyhosts.conf

e impostiamo il nostro indirizzo email per ricevere tutti gli avvisi del software:

ADMIN_EMAIL = ferdybassi@xxxx.it

Di seguito è riportato un file di configurazione minimale, ma perfettamente funzionante. Il file è comunque ottimamente commentato.

############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY =
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/run/denyhosts.pid
############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = ferdy@xxxx.it
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <webmaster@dominio.com>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h

Riavviamo il demone e il gioco è fatto:

# /etc/init.d/denyhosts restart




Guida scritta da: Ferdybassi 09:47, 14 nov 2010 (CET) Swirl-auth40.png Debianized 40%
Estesa da:
Verificata da:
marzolinus

Verificare ed estendere la guida | Cos'è una guida Debianized