(modifié le 10 juillet 2015 à 22:31)

alerte-email-connexion-sshUne connexion SSH permet d'administrer un serveur, Linux dans la plupart des cas. Cette connexion s'effectue grâce à un login et un mot de passe associé, généralement root (bien que le login root frontal soit déconseillé).

Si vous hébergez votre site/blog sur un serveur de type mutualisé ou dédié vous avez la possibilité de gérer ce serveur à distance via SSH. Autant dire que si une personne non autorisée se connecte sur votre serveur, il est libre de littéralement détruire toutes vos données ainsi que le système.

Il se peut parfois que l'on vous ait volé vos identifiants et que rien ne soit passé sur votre serveur, que l'attaquant attende un moment opportun pour attaquer ou collecter certaines de vos données. Et dans ce cas vous n'en saurez rien !

Je vous propose de mettre une place une notification par email (alerte) à chaque connexion effectuée sur votre serveur. Vous serez ainsi averti en temps réel de cette intrusion indésirable, à condition de consulter votre email régulièrement.

En pratique

A chaque connexion un fichier contenant des commandes est appelé, il s'agit du fichier .bashrc. Ce fichier est présent à la racine de chaque profil utilisateur Linux.

Éditez le fichier avec l'éditeur de votre choix (nano pour moi) :

Se placer à la fin du fichier et ajouter le code suivant :

En remplaçant votre adresse email en fin de ligne.

Si vous souhaitez envoyer le mail en copie à un second email :

Voici un exemple de notification reçue :

notification-email

Déconnecter un utilisateur SSH

Si vous recevez une notification de connexion et que celle-ci ne vous semble pas autorisée à se connecter sur votre serveur, il vous faut réagir.

Lister toutes les connexions SSH utilisez la commande who:

La date et l'heure sont celles de la connexion.

Si vous n'obtenez qu'une seule ligne alors c'est vous même qui êtes connecté et personne d'autre, vous pouvez retourner à vos occupations sans souci. En revanche, si deux lignes ou plus apparaissent c'est que vous n'êtes pas la seule personne connectée sur votre serveur.

Changer tout d'abord le mot de passe du compte concerné :

A chaque connexion SSH le démon SSHD déclenche un processus, lui même identifié par un numéro de processus (PID). Il vous suffit de tuer le processus correspondant à cette connexion pour déconnecter l'utilisateur. Listons tous les processus correspondants à SSHD :

Dans notre cas il s'agit du PID 31115. Tuons le processus pour déconnecter l'utilisateur avec la commande kill -9 :

Conclusion

Ce système permet d'être averti en cas d'intrusion sur votre serveur, vous pouvez d'ailleurs utilisez des méchanismes d'avertissement par SMS si vous ne pouvez consulter vos mails en permanence.

Dans le cas où vous travaillez à plusieurs administrateurs sur un serveur, cela permet également d'avoir un historique de connexion.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter