Si vous avez un serveur Linux, il est possible que plusieurs utilisateurs accèdent au système. Vous voudrez peut-être savoir qui est connecté à votre système, quand un utilisateur particulier s'est connecté au système Linux. Vous voudrez peut-être également savoir à partir de quelle adresse IP votre système a été accédé.
Même si vous n'avez pas plusieurs utilisateurs, quelqu'un a probablement essayé d'accéder à votre serveur Linux. Croyez-moi, cela peut sembler bizarre, mais c'est une chose courante de nos jours pour les bots d'essayer d'accéder à vos serveurs Linux. Vous ne me croyez pas ? Vérifiez simplement les mauvaises tentatives de connexion sur votre serveur pour voir si quelqu'un a essayé de se connecter à votre système.
Laissez-moi vous montrer comment afficher l'historique de connexion Linux afin que vous sachiez qui accède à votre système et d'où.
Affichage de l'historique de connexion Linux
Linux est très bon pour conserver les journaux de tout ce qui se passe sur votre système. Tout naturellement, il stocke également des journaux sur les tentatives de connexion et de connexion. Les informations de connexion sont stockées à trois endroits :
- /var/log/wtmp – Journaux des dernières sessions de connexion
- /var/run/utmp – Journaux des sessions de connexion en cours
- /var/log/btmp – Journaux des mauvaises tentatives de connexion
Voyons ces choses un peu en détail.
1. Afficher l'historique de tous les utilisateurs connectés
Pour afficher l'historique de toutes les connexions réussies sur votre système, utilisez simplement la commande last.
lastb
La sortie devrait ressembler à ceci. Comme vous pouvez le voir, il répertorie l'utilisateur, l'adresse IP à partir de laquelle l'utilisateur a accédé au système, la date et l'heure de la connexion. pts/0 signifie que le serveur a été accédé via SSH.
abhi pts/0 202.91.87.115 Wed Mar 13 13:31 still logged in
root pts/0 202.91.87.115 Wed Mar 13 13:30 - 13:31 (00:00)
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
root pts/0 202.91.87.114 Mon Mar 4 13:35 - 13:47 (00:11)
wtmp begins Mon Mar 4 13:35:54 2019
La dernière ligne de la sortie vous indique quand le fichier journal wtmp a été créé. Ceci est important car si le fichier wtmp a été supprimé récemment, la dernière commande ne pourra pas afficher l'historique des connexions avant cette date.
Vous pouvez avoir un énorme historique de sessions de connexion, il est donc préférable de canaliser la sortie via moins de commandes.
2. Afficher l'historique de connexion d'un certain utilisateur
Si vous souhaitez simplement voir l'historique de connexion d'un utilisateur particulier, vous pouvez spécifier le nom d'utilisateur avec la dernière commande.
last <username>
Vous ne verrez que les informations de connexion de l'utilisateur sélectionné :
last servesha
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
wtmp begins Mon Mar 4 13:35:54 2019
3. Afficher les adresses IP dans l'historique de connexion au lieu du nom d'hôte
Vous ne pouviez pas le voir dans la sortie précédente, mais par défaut, la dernière commande affiche le nom d'hôte au lieu de l'adresse IP de l'utilisateur. Si vous êtes sur un sous-réseau, vous ne verrez probablement que les noms d'hôtes.
Vous pouvez forcer l'affichage des adresses IP des utilisateurs précédemment connectés avec l'option -i.
last -i
4. Afficher uniquement les N dernières connexions
Si votre système a une bonne disponibilité, votre historique de connexion sera peut-être énorme. Comme je l'ai mentionné plus tôt, vous pouvez utiliser la commande less ou d'autres commandes d'affichage de fichiers comme head ou tail.
La dernière commande vous donne la possibilité d'afficher uniquement un certain nombre d'historiques de connexion.
last -N
Remplacez simplement N par le nombre que vous voulez. Vous pouvez également le combiner avec le nom d'utilisateur.
5. Visualisez toutes les tentatives de connexion erronées sur votre serveur Linux
Vient maintenant la partie importante :vérifier les mauvaises tentatives de connexion sur votre serveur.
Vous pouvez le faire de deux manières. Vous pouvez soit utiliser la dernière commande avec le fichier journal btmp :
last -f /var/log/btmp
ou vous pouvez utiliser la commande lastb :
lastb
Ces deux commandes donneront le même résultat. Le lastb est en fait un lien vers la dernière commande avec le fichier spécifié.
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
Les mauvaises connexions peuvent être un mot de passe incorrect saisi par un utilisateur légitime. Il peut également s'agir d'un bot essayant de forcer brutalement votre mot de passe.
Vous devez analyser ici et voir si vous reconnaissez les adresses IP dans le journal. S'il y a eu trop de tentatives de connexion à partir d'une certaine adresse IP avec l'utilisateur root, quelqu'un essaie probablement d'attaquer votre système par force brute.
Vous devez déployer Fail2Ban pour protéger votre serveur dans de tels cas. Fail2Ban bannira ces adresses IP de votre serveur et donnera ainsi à votre serveur une couche de protection supplémentaire.
Conclusion
J'espère que ce didacticiel vous apprendra à afficher l'historique de connexion sous Linux et que vous pourrez désormais utiliser ces connaissances pour mieux gérer et protéger votre système Linux.
Si vous avez aimé cet article, partagez-le sur les réseaux sociaux et abonnez-vous à notre newsletter pour plus de tutoriels liés à Linux.