Recherche de site Web

Comment obtenir des alertes par e-mail de connexion SSH racine et utilisateur


Chaque fois que nous installons, configurons et sécurisons des serveurs Linux dans un environnement de production, il est essentiel de suivre ce qui se passe avec les serveurs et qui se connecte au serveur en ce qui concerne la sécurité du serveur.

Pourquoi, parce que si quelqu'un se connectait au serveur en tant qu'utilisateur root en utilisant des tactiques de force brute via SSH, réfléchissez à la façon dont il détruirait votre serveur. Tout utilisateur bénéficiant d'un accès root peut faire ce qu'il veut. Pour bloquer de telles attaques SSH, lisez nos articles suivants qui décrivent comment protéger les serveurs contre de telles attaques.

  1. Bloquer les attaques par force brute du serveur SSH à l'aide de DenyHosts
  2. Utilisez Pam_Tally2 pour verrouiller et déverrouiller les connexions ayant échoué via SSH
  3. 5 bonnes pratiques pour sécuriser et protéger le serveur SSH

Ce n'est donc pas une bonne pratique d'autoriser la connexion root directe via une session SSH et de recommander de créer des comptes non root avec sudo. accès fort>. Chaque fois qu'un accès root est nécessaire, connectez-vous d'abord en tant qu'utilisateur normal, puis utilisez su pour passer à l'utilisateur root. Pour désactiver les connexions root SSH directes, suivez notre article ci-dessous qui montre comment désactiver et limiter la connexion root dans SSH.

  1. Désactivez la connexion racine SSH et limitez l'accès SSH

Cependant, ce guide montre un moyen simple de savoir quand quelqu'un s'est connecté en tant qu'utilisateur root ou normal, il doit envoyer une notification d'alerte par e-mail à l'adresse e-mail spécifiée avec l'adresse IP. de la dernière connexion. Ainsi, une fois que vous connaissez l'adresse IP de la dernière connexion effectuée par un utilisateur inconnu, vous pouvez bloquer la connexion SSH d'une adresse IP particulière sur le pare-feu iptables.

  1. Comment bloquer le port dans le pare-feu Iptables

Comment définir des alertes par e-mail de connexion SSH sur un serveur Linux

Pour réaliser ce tutoriel, vous devez avoir un accès de niveau root sur le serveur et une petite connaissance de l'éditeur nano ou vi et également mailx (Mail Client) installé sur le serveur pour envoyer les emails. en fonction de votre distribution, vous pouvez installer le client mailx en utilisant l'une des commandes suivantes.

Sur Debian/Ubuntu/Linux Mint
apt-get install mailx
Sur RHEL/CentOS/Fedora
yum install mailx

Définir des alertes par e-mail de connexion racine SSH

Connectez-vous maintenant en tant qu'utilisateur root et accédez au répertoire personnel de root en tapant la commande cd /root.

cd /root

Ensuite, ajoutez une entrée au fichier .bashrc. Ce fichier définit les variables d'environnement locales pour les utilisateurs et effectue certaines tâches de connexion. Par exemple, nous définissons ici une alerte de connexion par e-mail.

Ouvrez le fichier .bashrc avec l'éditeur vi ou nano. N'oubliez pas que .bashrc est un fichier caché, vous ne le verrez pas en exécutant la commande ls -l. Vous devez utiliser l'indicateur -a pour voir les fichiers cachés sous Linux.

vi .bashrc

Ajoutez la ligne entière suivante au bas du fichier. Assurez-vous de remplacer « ServerName » par un nom d'hôte de votre serveur et de remplacer « [email  » par votre adresse e-mail.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

Enregistrez et fermez le fichier, puis déconnectez-vous et reconnectez-vous. Une fois connecté via SSH, un fichier .bashrc est exécuté par défaut et vous envoie une adresse e-mail de l'alerte de connexion racine.

Exemple d'alerte par e-mail
ALERT - Root Shell Access (Database Replica) on: Thu Nov 28 16:59:40 IST 2013 tecmint pts/0 2013-11-28 16:59 (172.16.25.125)

Définir des alertes par e-mail de connexion utilisateur normale SSH

Connectez-vous en tant qu'utilisateur normal (tecmint) et accédez au répertoire personnel de l'utilisateur en tapant la commande cd /home/tecmint/.

cd /home/tecmint

Ensuite, ouvrez le fichier .bashrc et ajoutez la ligne suivante à la fin du fichier. Assurez-vous de remplacer les valeurs comme indiqué ci-dessus.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

Enregistrez et fermez le fichier, déconnectez-vous et reconnectez-vous. Une fois que vous vous reconnectez, un fichier .bashrc est exécuté et vous envoie une adresse e-mail d'alerte de connexion utilisateur.

De cette façon, vous pouvez définir une alerte e-mail sur n'importe quel utilisateur pour recevoir des alertes de connexion. Ouvrez simplement le fichier .bashrc de l'utilisateur qui doit se trouver sous le répertoire personnel de l'utilisateur (c'est-à-dire /home/username/.bashrc) et définissez les alertes de connexion comme décrit ci-dessus.