Linux : Lister les tentatives de connexions échouées d’un serveur
Sommaire
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.