Linux : Alerte mail lors d’une connexion SSH en tant que root

Publié par Tpeltier le

Une 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é). Cette solution simple et rapide vous permettra de savoir si quelqu’un se connecte à votre serveur en temps quasi réel (le temps d’envoi d’un mail).
Cette méthode peut s’appliquer à tous les utilisateurs se connectant en SSH.
Le plus intéressant à configurer est l’utilisateur root car cela permet de superviser les connexions en SSH pour root et ainsi de détecter s’il y a des connexions anormales.

Chaque utilisateur possède un fichier .bashrc dans son dossier home qui peut contenir, entre autres, des commandes exécutées lors de l’initialisation de son shell.
Ce fichier est également utilisé pour configurer des alias.
C’est à partir de ce fichier dont nous allons effectuer notre envoi de mail en y plaçant les commandes adéquates dans la mesure où votre serveur sera capable d’envoyer des mails. Comme nous souhaitons avoir des alertes pour l’utilisateur root, nous allons éditer le fichier /root/.bashrc

 # vi /root/.bashrc 

et on ajoute à la fin la ligne suivante :

echo 'Acces SSH du user '` id | cut -d "(" -f2 | cut -d ")" -f1`' sur le serveur : '`hostname`' le '`date` depuis: `who` | mail -s "NOTIFICATION - "`hostname`" : Accès SSH "`id | cut -d '(' -f2 | cut - d ')' -f1`" DEPUIS `who | cut -d"(" -f2 | cut -d")" -f1`" adresse.mail@domaine.fr

On détail un peu la commande :

—————————————————

'id | cut -d "(" -f2 | cut -d ")" -f1'

Commande pour de récupérer les informations de l’utilisateur (UID, GID et nom) avec “id” puis de couper la chaine en sortie pour ne récupérer que le nom de l’utilisateur et l’afficher dans le mail avec cut.

———————————————————-

`hostname`

Récupère le nom du serveur

———————————————————-

`date`

Récupère la date

———————————————————-

`who | cut -d"(" -f2 | cut -d")" -f1`

Commande pour récupérer les informations sur les sessions en cours avec who utilisé un peu plus tôt également et de couper la sortie pour ne récupérer que l’IP source de la connexion avec cut.

Catégories : Linux

0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.