in featured, security, tutorial

Controllo degli accessi su SSH

Questa mattina controllando i report di alcuni server relativi al traffico generato ho visto qualcosa di alquanto anomalo.

Il grafico che vedete rappresente l’attivita del protocollo ssh e come potete osservare dalle 4.30 alla 6.30 qualche simpatico amico a tentato un brute force.

Da una prima analisi non sembra essere successo nulla di grave in quanto dai log si può vedere un banale tentativo di dictionary attacks.

Sotto potete vedere una parte del log restituito da questo comando:

# cat /var/log/auth.log | grep ssh | grep “invalid user”

Nello stesso modo ho poi verificato gli accessi “autorizzati” e fortunatamente non ne risultano altri oltre a quelli fatti dal sottoscritto:

# cat /var/log/auth.log | grep ssh | grep Accepted

E’ anche vero che nel caso in cui il nostro hackers fosse riuscito ad accedere avrebbe potuto eliminare una parte dei log ma voglio pensare che avrebbe eliminato tutti i riferimenti al suo ip.

Anche se considero l’attacco fallito ho cercato in rete come evitare questo tipo di attacchi e come in tante altre occasioni la ricerca è durata meno di un minuto: Preventing SSH Dictionary Attacks With DenyHosts

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

Dopo aver verificato se il pacchetto fosse già presente nei repository debian ho provveduto al solito:

# apt-get install denyhosts

Una veloce occhiata al file di configurazione per modificare la mail a cui inviare gli avvisi sui nuovi hosts bloccati ed un controllo lo script fosse in funzione come servizio sono al momento sufficenti per <s>farmi dormire tranquillo</s> rimandare di 24 ore le prossime analisi.

Write a Comment

Comment

  1. Tempo fa trovai un metodo molto pratico per loggare le connessioni ssh che avvenivano su un sistema.

    In pratica avevo trovato uno script da aggiungere in un file sotto la home, non mi ricordo il nome del file, era tipo .bash_ssh e al suo interno inserii uno script che mi restituiva l’ora e l’indirizzo ip e altre info sull’utente collegato, con il comando >> veniva aggiunto ad un file che chiamavo ssh.log sotto la mia home.

    In questo modo alla prima connessione il file ssh.log veniva creato sotto la home. Una volta letto potevo cancellarlo, le successive connessioni lo ricreavano. era molto comodo.

    ho cercato molto su internet nn riesco piu a trovare quelle informazioni, le informazioni originali spiegavano come spedire una mail ad ogni connessione ssh, ma modificai lo script perchè la mail nn veniva spedita.

    qualche idea?

  2. Ciao,
    scusami se mi riallaccio a questa discussione.
    Volevo chiederti con quale sistema di monitoraggio riesci a rilevare il traffico di un determinato protocollo?