Surveillance des utilisateurs actifs et des connexions : commandes who
, w
, last
1. Pourquoi est-il important de surveiller les utilisateurs ?
Linux, comme tout autre serveur (ou même une méchante boîte avec des sites web), permet à de nombreux utilisateurs de travailler simultanément. Mais que faire si votre serveur est compromis ? Ou si un collègue malveillant décide "par accident" de supprimer des fichiers importants pendant la nuit ? La surveillance des activités des utilisateurs nous aide à comprendre qui, quand et d'où ils se sont connectés, ainsi que quels processus ils exécutaient. C'est comme une caméra de surveillance, mais pour votre serveur.
Outils principaux de surveillance
Pour évaluer l'activité des utilisateurs sur un serveur, Linux propose trois commandes clés :
who
— montre les utilisateurs actuels travaillant sur le système.w
— donne un peu plus d'infos : les actions des utilisateurs et la charge du système.last
— fournit un historique des connexions au système.
Chacune de ces commandes a ses particularités et est applicable dans différents scénarios. Voyons-les à travers des exemples.
2. Commande who
La commande who
affiche une liste des utilisateurs actuellement connectés au système. C'est comme un "registre", où tu peux voir qui est actuellement sur le serveur.
who
Exemple de sortie de la commande :
user1 pts/0 2023-10-20 09:10 (192.168.1.100)
root pts/1 2023-10-20 09:15 (192.168.1.101)
Qu'est-ce qu'on voit ici :
- Nom d'utilisateur
user1
,root
. - Le terminal par lequel ils sont connectés
pts/0
,pts/1
. - Heure de connexion
2023-10-20 09:10
. - D'où la connexion vient
192.168.1.100
.
Options pour who
:
who -a
: Affiche aussi des données système, comme l'heure de démarrage, les processus actifs et les utilisateurs.who am i
: Affiche seulement les infos sur l'utilisateur qui a lancé la commande.
3. Commande w
Si who
enregistre simplement qui s'est connecté, alors w
donne plus d'infos - elle raconte ce que fait actuellement l'utilisateur. C'est utile pour comprendre s'il est en train de faire un truc utile ou quelque chose qui doit être immédiatement arrêté.
w
Exemple de sortie :
10:20:42 up 1 day, 5:12, 2 users, load average: 0.00, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 pts/0 192.168.1.100 09:10 1:00 0.01s 0.01s nano app.py
root pts/1 192.168.1.101 09:15 2:00 0.02s 0.02s htop
Qu'est-ce qui se passe ici :
- La ligne du haut donne des infos système : l'heure actuelle, le temps de fonctionnement du serveur, le nombre d'utilisateurs et la charge système
load average
. - Le tableau montre :
- Le nom de l'utilisateur
user1
,root
. - Le terminal via lequel l'utilisateur est connecté
pts/0
,pts/1
. - L'adresse IP de l'utilisateur
192.168.1.100
. - L'heure de connexion au système
09:10
. - Le temps d'inactivité
IDLE
. - L'action actuelle de l'utilisateur
WHAT
, par exemple, l'édition du fichierapp.py
avecnano
.
- Le nom de l'utilisateur
Options pour w
:
w -h
: Supprime les en-têtes du tableau.w username
: Affiche des infos uniquement pour un utilisateur précis.
4. Commande last
Si who
et w
parlent du présent, alors last
permet de jeter un œil au passé. Elle affiche l'historique de toutes les connexions au système. Cette commande lit le fichier /var/log/wtmp
, où toutes les connexions des utilisateurs sont enregistrées.
last
Exemple de sortie :
user1 pts/0 192.168.1.100 Fri Oct 20 09:10 - 09:30 (00:20)
root pts/1 192.168.1.101 Fri Oct 20 09:15 - down (00:15)
Ce qu'on voit ici :
- Le nom d'utilisateur
user1
,root
. - Le terminal
pts/0
,pts/1
. - L'adresse IP ou le nom d'hôte
192.168.1.100
,192.168.1.101
. - Heure de connexion
Fri Oct 20 09:10
. - Heure de déconnexion
09:30
et durée totale de la session00:20
.
Options pour last
:
last -n 10
: Montre seulement les 10 dernières entrées.last username
: L'historique des connexions pour un utilisateur spécifique.last reboot
: Indique quand le serveur a été redémarré.
5. Exemple pratique : analyse de l’activité des utilisateurs
Imaginons que tu veux savoir qui a bossé sur le serveur la nuit pour comprendre s’il s’est passé quelque chose de louche. Commençons par vérifier les utilisateurs actuels :
who
Ensuite, regardons ce qu’ils font :
w
Si tu trouves quelque chose de bizarre (par exemple, un processus inconnu), il faut vérifier qui s’est connecté pendant la nuit. Pour ça, utilisons :
last
Regardons les logs pour un utilisateur spécifique qui a attiré l’attention :
last user1
Si tu vois une anomalie, par exemple, une connexion depuis une IP inconnue, il faut agir : restreindre l’accès, mettre en place une authentification à deux facteurs ou bloquer l’utilisateur.
6. Particularités et erreurs typiques
En utilisant les commandes de surveillance, il est important de se rappeler que :
Le fichier des logs peut être vidé. Si quelqu'un a intentionnellement supprimé les entrées de
/var/log/wtmp
, la commandelast
ne montrera rien. C'est l'une des raisons pour lesquelles il est important de sauvegarder régulièrement les logs ou de les envoyer sur un serveur distant.Faciliter la lecture des résultats. Parfois, la sortie des commandes peut être surchargée (par exemple, s'il y a beaucoup d'utilisateurs). Utilisez des filtres comme
grep
pour trouver les informations nécessaires :last | grep user1
Dépendance des paramètres du système. Certains systèmes peuvent ne pas enregistrer les logs de connexion si cela a été désactivé dans la configuration. Assurez-vous que
/var/log/wtmp
est régulièrement mis à jour.
Comment ces connaissances sont-elles utilisées en pratique ?
- Administration des serveurs. Par exemple, vous êtes administrateur dans une entreprise et devez surveiller la sécurité du système pour que personne ne "casse tout" accidentellement ou intentionnellement.
- Détection des menaces. Les outils de surveillance vous aideront à repérer les tentatives d'accès non autorisés.
- Audit du système. Lors de l'inspection des serveurs pour garantir leur conformité aux normes de sécurité, ces commandes sont souvent utilisées pour analyser l'activité des utilisateurs.
- Diagnostic. Vous remarquez que le serveur devient lent ? Regardez qui fait quoi dessus !
Maintenant, vous êtes prêt à surveiller votre système comme un pro ! N'oubliez pas que la protection du système commence par comprendre ce qui se passe sous le capot.
GO TO FULL VERSION