Détecter un périphérique en fonction d’un fichier

Envoi d’un mail lors d’une connexion SSH

I. Présentation

Dans ce tutoriel, nous allons apprendre à paramétrer un envoi de mail lors d’une connexion SSH à un serveur Linux. Cela peut être une solution simple et rapide pour savoir quand quelqu’un se connecte à votre serveur et cela en temps quasi réel (le temps d’envoi d’un mail). Nous allons voir que cette méthode peut s’appliquer à tous les utilisateurs se connectant en SSH,le plus intéressant à faire étant pour root car cela permet de superviser les connexions en SSH pour root et ainsi de détecter si il y a des connexions anormales.

II. Le fichier .bashrc

Chaque utilisateur possède un fichier « .bashrc » dans son « home » qui peut contenir, entre autre, des commandes exécutées lors de l’initialisation de son shell (ce qui se passe lors d’une connexion SSH). C’est de ce fichier que nous allons nous servir pour effectuer notre envoi de mail. Il suffit donc juste d’y placer les bonnes commandes.

Note: On par ici du principe que votre serveur est capable d’envoyer des mails.

III. Un utilisateur spécifique

Nous voulons par exemple qu’à chaque connexion SSH pour l’utilisateur « root », un mail nous soit envoyé directement. Nous allons donc aller dans le fichier « /root/.bashrc » (« /root » étant le « home » du super-utilisateur) et y ajouter cette commande :

echo 'NOTIFICATION - Acces SSH en '` id | cut -d "(" -f2 | cut -d ")" -f1`' sur '`hostname`' le: ' `date` `who` | mail -s "NOTIFICATION - Connexion en "`id | cut -d '(' -f2 | cut -d ')' -f1`" via SSH depuis: `who | cut -d"(" -f2 | cut -d")" -f1`" < adresse mail >

Nous allons maintenant détailler un peu cette commande :

On distingue d’abord deux grandes parties, « echo » et « mail » séparées par un pipe (« | »). La première commande servant à écrire le contenu du mail et la deuxième à l’envoyer en précisant son objet et son destinataire.

  • ` id | cut -d « ( » -f2 | cut -d « ) » -f1`‘ ( attention aux accents et apostrophes qui permettent d’isoler la commande du texte ! ): Cette commande permet 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 ».
  • `who | cut -d »( » -f2 | cut -d ») » -f1` ( attention aux accents et apostrophes qui permettent d’isoler la commande du texte ! ): Cette commande permet de 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 ».
  • « date » qui permet d’affiche la date et l’heure de la connexion ce qui peut toujours être utile
  • « hostname » qui permet de récupérer le nom de l’hôte .

On ajoute bien sur à l’adresse mail de destination pour finir la commande. Nous aurons donc un résultat comme celui-ci :

Exemple d’alerte SSH

IV. Tous les utilisateurs

Le fichier « /etc/bash.bashrc » permet d’effectuer les modifications que l’on y met sur tous les fichiers « .bashrc » des utilisateurs. C’est une manière d’éviter de modifier chaque fichier « .bashrc » à la main. Les envois de notifications se feront donc pour toutes les connexions SSH de tous les utilisateurs. Il faut donc y mettre la même commande que précédemment .

Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

Comment durcir la configuration de son serveur SSH ?

Comment durcir la configuration de son serveur SSH ?

Table de Matieres1 I. Présentation2 II. Sécurisation générale de SSH2.1 A. Modifier le port et …

Linux : configuration d’un espace de stockage sécurisé avec SFTP

Linux : configuration d’un espace de stockage sécurisé avec SFTP

Table de Matieres1 I. Présentation2 II. Préparation du serveur2.1 A. Configuration du réseau2.2 B. Vérification …

Linux : comment éviter d’entrer sa passphrase à chaque utilisation d’une clé SSH ?

Linux : comment éviter d’entrer sa passphrase à chaque utilisation d’une clé SSH ?

Table de Matieres1 I. Présentation2 II. Prérequis3 III. Vérifier la présence de la clé SSH4 …

Laisser un commentaire

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