Comment afficher les tentatives de connexion échouées Connexion SSH sous Linux

Aujourd'hui, nous trouvons différentes façons de nous connecter à nos serveurs en toute sécurité pour effectuer des tâches de maintenance et d'assistance ou pour vérifier l'état de ceux-ci. Parce que nous ne pouvons pas toujours être directement à l'emplacement physique de ce moyen le plus pratique et le plus courant d'accéder au serveur, cela est possible à distance via le protocole SSH.

SSH (Secure SHell) a été développé comme un protocole qui permet d'établir des connexions entre deux systèmes sur la base de l'architecture client/serveur, facilitant qu'en tant qu'administrateurs ou utilisateurs, nous puissions nous connecter à distance au serveur ou à l'ordinateur, l'un des avantages les plus notables de SSH est qu'il est responsable du cryptage de la session de connexion pour augmenter la sécurité en empêchant les attaquants d'accéder aux mots de passe non cryptés.

Désormais, chaque connexion ou tentative d'accès au serveur via SSH est enregistrée et stockée dans un fichier journal par le démon rsyslog sous Linux afin qu'il soit possible d'y accéder et de valider en détail qui, quand et le statut du démarrage de la session permettant une tâche d'audit et de contrôle beaucoup plus complète.

Solvetic vous expliquera dans ce tutoriel comment visualiser ce fichier et déterminer qui a essayé ou s'est connecté à l'ordinateur.

1. Installer SSH sur Linux


Pour cet exemple, nous avons utilisé Ubuntu 19 et CentOS 8, rappelez-vous que lors de l'accès via SSH, nous pouvons travailler de manière complète sur l'ordinateur :

AGRANDIR

Installer SSH sur CentOS 8Si vous souhaitez installer SSH dans CentOS 8, vous devez exécuter les opérations suivantes :

 miam -y installer openssh-server openssh-clients 

AGRANDIR

Installer SSH sur UbuntuSi vous voulez le faire dans Ubuntu 19, vous devez exécuter ce qui suit :

 sudo apt installer openssh-server 

2. Utilisez la commande grep pour afficher les échecs de connexion sous Linux

Étape 1
Le moyen le plus simple de déterminer et d'afficher les tentatives de connexion consiste à exécuter la commande suivante :

 grep "Échec du mot de passe" /var/log/auth.log 

Étape 2
Nous pouvons voir des détails tels que:

  • Utilisateur essayant de se connecter
  • adresse IP
  • Port utilisé pour la tentative de connexion

Étape 3
On retrouve ce même résultat avec la commande cat :

 cat /var/log/auth.log | grep "Échec du mot de passe" 

Étape 4
Si vous souhaitez obtenir des informations supplémentaires sur les échecs de connexion SSH sous Linux, nous devons exécuter ce qui suit. Comme on le voit, les détails sont beaucoup plus complets.

 egrep "Échec | Échec" /var/log/auth.log 

Afficher les journaux dans RHEL ou CentOS 8Dans le cas de RHEL ou CentOS 8, tous les logs sont hébergés dans le fichier /var/log/secure, pour leur visualisation nous exécuterons ce qui suit :

 egrep "Échec | Échec" / var / log / secure 

AGRANDIR

Nous voyons que les journaux sont conservés avec tous les détails, y compris les noms de session enregistrés (corrects ou non). Une autre option pour afficher les connexions SSH ayant échoué dans CentOS consiste à utiliser l'une des lignes suivantes :

 grep "Échec" / var / log / secure grep " échec d'authentification " / var / log / secure

AGRANDIR

Étape 5
Pour afficher la liste des adresses IP qui ont tenté d'accéder, mais sans succès, nous devons utiliser la commande suivante :

 grep "Échec du mot de passe" /var/log/auth.log | awk '{print $ 11}' | uniq -c | trier -nr 
Étape 6
Dans les distributions Linux les plus récentes (telles que Ubuntu 19), il est possible d'accéder au fichier journal d'exécution que Systemd gère avec la commande journalctl, si nous voulons voir les journaux de connexion SSH échoués, nous utiliserons la commande grep pour filtrer les des résultats comme ceci :
 journalctl _SYSTEMD_UNIT = ssh.service | egrep "Échec | Échec" (Ubuntu) journalctl _SYSTEMD_UNIT = sshd.service | egrep "Échec | Échec" (RHEL, CentOS)

Sur CentOSDans CentOS, nous pouvons également utiliser les éléments suivants :

 journalctl _SYSTEMD_UNIT = sshd.service | grep "échec" journalctl _SYSTEMD_UNIT = sshd.service | grep "Échec"

Nous pouvons voir comment afficher chaque tentative de connexion SSH échouée et sur cette base, prendre les mesures de sécurité appropriées pour préserver la disponibilité des services.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave