Impedire attacchi SSH brute-force con Denyhosts: differenze tra le versioni
m (corretto versioni compatibili) |
|||
(6 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{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 [[ | 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 /etc/hosts.deny. 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. | ||
== Installazione == | == Installazione == | ||
Riga 21: | Riga 23: | ||
== Configurazione == | == Configurazione == | ||
Il file di configurazione è <code>/etc/denyhosts.conf</code>, ma il software richiede anche che siano creati due file per le blacklist e per le whitelist: <code>/etc/hosts.allow</code> e <code>/etc/hosts.deny</code>. | Il file di configurazione è <code>/etc/denyhosts.conf</code>, ma il software richiede anche che siano creati due file per le [[blacklist]] e per le [[whitelist]]: <code>/etc/hosts.allow</code> e <code>/etc/hosts.deny</code>. | ||
=== Creazione di una whitelist === | === Creazione di una whitelist === | ||
Riga 77: | Riga 79: | ||
# /etc/init.d/denyhosts restart | # /etc/init.d/denyhosts restart | ||
</pre> | </pre> | ||
{{Autori | |||
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 09:47, 14 nov 2010 (CET) | |||
|Verificata_da = | |||
: [[Utente:marzolinus|marzolinus]] | |||
|Numero_revisori = 1 | |||
}} | |||
[[Categoria:SSH server e amministrazione remota]] | [[Categoria:SSH server e amministrazione remota]] | ||
[[Categoria:Firewall]] | [[Categoria:Firewall]] | ||
[[Categoria:Monitoraggio]] | [[Categoria:Monitoraggio]] |
Versione attuale delle 17:19, 16 apr 2016
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) | Debianized 40% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |