DenyHosts
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
Indice
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