16/12/2024

Commandes et Système

Linux : Lister les tentatives de connexions échouées d’un serveur

I. Présentation

On aura l’occasion de rédiger un tutoriel sur la gestion des comptes et mots de passe d’un serveur, en termes de complexité et de validité. Lorsque l’on souhaite lister les tentatives de connexions échouées, au niveau d’un serveur, on peut bien sûr mettre en œuvre une véritable politique de sécurité. Mais, de façon plus basique, on peut également se servir de la commande lastb.

Dans ce tutoriel, nous verrons comment utiliser cette commande pour détecter l’ensemble des tentatives infructueuses à un serveur Linux.

II. Afficher les tentatives réussies d'un serveur

Sur un serveur Linux (de façon plus générale, sur n’importe quel serveur Unix), il est possible de faire afficher l’historique des dernières tentatives de connexions au serveur grâce à la commande last :

# last

On récupère alors la liste des dernières connexions locales réussies sur le  serveur concerné :

REMARQUE : on constate qu’on récupère également les phases de redémarrage du serveur en question. Cela peut être utile également pour scruter les différents ‘reboot’ exécutés.

Mais, on peut se demander comment faire pour récupérer le même genre de liste pour les tentatives infructueuses de connexions ?

III. Afficher les tentatives de connexions infructueuses d'un serveur

La réponse à la question ci-dessus est très simple (si tant est que l’on utilise les commandes Linux de base) : on peut utiliser la commande lastb. En effet, cette dernière permet de lister les différentes tentatives de connexion échouées pour un serveur donné.

Ainsi, pour notre serveur, nous devrions recevoir le résultat suivant, stipulant que plusieurs tentatives de connexions ont été effectuées sur le serveur srv001 :

root     ssh:notty    srv001 Sat Sep  1 16:57 - 16:57  (00:00)
root     ssh:notty    srv001 Sat Sep  1 16:57 - 16:57  (00:00)
root     ssh:notty    srv001 Sat Sep  1 16:57 - 16:57  (00:00)
root     ssh:notty    srv001 Sat Sep  1 16:57 - 16:57  (00:00)
administ ssh:notty    srv001 Sat Sep  1 16:57 - 16:57  (00:00)
administ ssh:notty    srv001 Sat Sep  1 16:57 - 16:57  (00:00)

ATTENTION : cette commande ne fait rien d’autre que d’afficher la liste des tentatives infructueuses. Si l’on souhaite aller plus loin dans la sécurité, il faudra alors mettre en place une politique PAM (Pluggable Authentication Modules) et/ou des utilitaires tels que :

  • fail2ban
  • portsentry

IV. Conclusion

Déjà, rien qu’avec l’activation de cette commande, on peut ainsi facilement déterminer les différents types de tentatives en échec et initialiser alors les contre-mesures nécessaires:

  • tentatives avec erreur de compte ou de mot de passe
  • tentatives via un robot (ou bot en anglais)
  • tentatives de déni de service

La plupart du temps, il s’agira en effet de tentatives appartenant à la première catégorie : un ou plusieurs utilisateurs se trompant dans le compte à utiliser ou le mot de passe associé. Mais, dans les autres cas de figure, il sera vraiment nécessaire de configurer PAM ainsi que les outils mentionnés ci-dessus.

author avatar
Philippe PIERRE
A exercé de nombreuses années en tant qu'administrateur de base de données et comme administrateur Système Unix/Linux. Il a enseigné les réseaux au CNAM (Paris). Aujourd'hui, employé en tant qu'ingénieur infrastructure, au sein d'un laboratoire pharmaceutique et administrant un cluster de calculs HPC, il connaît parfaitement les environnements GNU/Linux dans le cadre d'une entreprise et des systèmes de haute disponibilité. Il aime partager son expérience.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail 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.