DenyHosts

DenyHosts è uno script pensato per essere avviato su Linux dagli amministratori di sistema per aiutarli a contrastare eventuali attacchi al server SSH (anche noti come attacchi a dizionario o attacchi a forza bruta).
DenyHosts

denyhosts.png

DenyHosts è un'utilità che aiuta gli amministratori di sistema a contrastare tentativi di hack su SSH.



Sviluppatore: Phil Schwartz
Licenza: GPLv2
Web: http://denyhosts.sourceforge.net


Caratteristiche e documentazione

Se hai mai dato un'occhiata al tuo log di ssh ( /var/log/messages, /var/log/warn, ecc. ...) ti sarai sicuramente allarmato nel vedere tutti quei tentativi di attacco per ottenere l'accesso al tuo sistema, da parte di pirati informatici. Fortunatamente, nessuno di questi è andato a buon fine ( anche se... chi potrebbe dirlo? ). Non sarebbe meglio impedire all'eventuale attaccante di effettuare continuamente questi tentativi di accesso?

DenyHosts tenta proprio di raggiungere questo obbiettivo... ma non solo:

  • Analizza /var/log/messages per trovare e filtrare i tentativi di accesso falliti da quelli riusciti.
  • La modalità sincronizzazione permette al demone di DenyHosts di condividere i dati tramite un server centrale per contrastare gli attacchi in modo proattivo.
  • Può essere avviato dalla linea di comando, come un demone o non.
  • Registra tutti i tentativi di login falliti per l'utente e l'host incriminato.
  • Ogni host che supera una certa soglia di conteggio viene registrato come malevolo.
  • Tiene traccia di ogni utente non esistente (per esempio "sdadasd"...) quando un tentativo di login viene fallito.
  • Tiene traccia di ogni utente esistente (per esempio root...) quando un tentativo di login viene fallito.
  • Tiene traccia di ogni host offendente (questi host possono essere eliminati se la corrispondente voce su /etc/hosts.deny è scaduta).
  • Tiene traccia dei login sospetti (cioè tentativi di login andati a buon fine dopo molteplici fallimenti da parte dello stesso host).
  • Tiene traccia dell'offset del file, così che puoi analizzare lo stesso file (/var/log/messages) ininterrottamente (finchè il log non ricomincia dall'inizio).
  • Quando il file di log è rotato, lo script lo rileverà e lo analizzerà dall'inizio.
  • Aggiunge a /etc/hosts.deny gli ultimi host bannati.
  • Opzionalmente invia un'email per ogni nuovo host bannato e login sospetto.
  • Tiene traccia di tutti gli utenti, host, combinazioni di utenti e host e login sospetti incontrati che corrispondono ai dati e ai numeri trovati durante i tentativi di login falliti.
  • Mantiene salvati in un file separato i tentativi falliti di login di utenti validi e non, così che sia possibile vedere quale utente valido è sotto attacco (ciò ti darà la possibilità di rimuovere l'account, cambiare password o cambiare la sua shell di default in qualcosa come sbin/nologin).
  • Ad ogni avvio lo script caricherà preventivamente i dati salvati e li riuserà per aggiungere nuovi fallimenti.
  • Risolve gli indirizzi IP in nomi host, se disponibile (caratteristica introdotta nella versione 0.6.0).
  • Le voci in /etc/hosts.deny possono scadere (essere eliminate) in un momento specificato dall'utente (caratteristica introdotta dalla versione 0.8).

Per favore dai un'occhiata alle FAQ (risposte alle domande frequenti) per ulteriori dettagli.

Installazione e configurazione

DenyHosts è incluso nel repository Network Utilities:


Devi aggiungere il repository tramite YaST o Zypper per procedere con l'installazione
Fatto ciò, da console, per esempio, si può invocare il comando seguente per installare DenyHosts:

$ sudo zypper in denyhosts

Vedi anche

Collegamenti esterni