Cette commande va vous servir, si vous avez un doute sur les reboot, les arrêts où les connexions sur votre serveur Linux. Qu’il soit hébergé chez un tiers (OVH, Gandi, …) où dans votre entreprise, vous devez alors connaître l’existence de ces deux fichiers : wtmp et btmp.
Vérifier les logs de démarrage et de connexion de votre serveur Linux.
Sous Linux, la commande last permet de lire le contenu des fichiers /var/log/wtmp et /var/log/btmp.
Pour connaître les dates et heures ou la machine s’est arrêtée il suffit de taper la commande :
#last –x shutdown
Nous voyons ici que depuis le 1 décembre 2013, la machine a été arrêté 1 fois le 4 janvier 2014.
Pour connaître les dates et heures ou la machine a rebooté, il suffit de taper la commande :
#last –x reboot
Nous voyons ici que le denier reboot date du 4 janvier 2014.
Le fichier wtmp contient une trace de toutes les connexion et déconnexions du système (arrêt, reboot).
Le fichier btmp contient tous les échecs de connexions à votre système.
Il est impossible de lire directement ces fichiers avec un éditeur de texte type vi ou vim.
Voici un exemple avec le fichier btmp :
Ah oui, pas facile pour récupérer les informations.
Pour lire le fichier de façon plus agréable, vous devez utiliser la commande suivante (vous pouvez utiliser la même commande pour le fichier wtmp):
#last –f /var/log/btmp
- 1: login utilisé pour se connecter à votre machine.
- 2: type de connexion utilisée, ici ssh
- 3: adresse ip du hackeur
- 4: date de tentative de connexion
Comme vous pouvez le constater ici l’ip 117.79.157.110 effectue de la brute force pour récupérer un accès sur ma machine.
Mettre en place la rotation de fichier log
Il vous est possible de définir la durée de conservation de ces logs. Pour ce faire vous devez éditer le fichier /etc/logrotate.conf.
Ce qui nous intéresse ici se sont les lignes surlignées en jaune. Voici quelques explications de ces lignes :
- monthly : La rotation s’effectuera tous les mois. Nous pouvons aussi mettre daily pour tous les jours, weekly pour toutes les semaines.
- create 0664 root utmp : Les fichiers secondaire créés auront pour créateur root et appartienne au groupe utmp et auront les droits 664.
- minsize : demande la rotation des log si le fichier fait au minimum la taille définie par cette variable.
- size : les fichiers ne sont archivés que si leur taille dépasse la valeur définie ici.
- rotate 1 : Nous garderons 1 fichiers de log
- missingok : signifie que l’absence du/des fichier(s) log(s) n’est pas anormale. Si cette option n’est pas active alors l’administrateur recevra un mail si le/les log(s) est/sont manquant(s).
D’autres paramètres existent comme :
- compress : Les fichiers logs secondaire c’est à dire tout ce qui n’est pas le fichier de log principal seront compressés.
- delaycompress : Reporte la compression du journal précédent au prochain cycle de permutation. Ceci n’a un effet qu’utilisé en combinaison avec l’option compress. Elle peut être utilisée quand il n’est pas possible de demander à un programme de fermer son journal et qu’il puisse par conséquent continuer à écrire pour un moment dans le journal précédent.
- notifempty : permet de ne pas permuter le journal lorsqu’il est vide
- prerotate, postrotate/endscript : Les lignes entre prerotate et endscript (chacun devant apparaître sur une ligne isolée) seront exécutées avant permutation du journal. Ces directives doivent apparaîtrent dans la définition d’un journal
Pour connaître les autres options vous pouvez consulter le man à cette adresse : man logrotate.
Afin d’avoir un peu d’historique, j’ai configuré la rotation de cette manière :
Dans l’exemple ci-dessus, la rotation s’effectue au bout d’un an à moins que la taille du fichier atteigne les 15 Mo. Par défaut (les cinq premières lignes), la durée de rotation est d’une semaine et la conservation sur 1 mois (rotate 4).
Une fois la configuration de votre logrotate terminé, vous pouvez forcer sont exécution de cette manière :
#logrotate -f /etc/logrotate.conf
ou pour débugger :
#logrotate -d /etc/logrotate.conf
Si vous souhaitez découvrir d’autres commandes ou astuces pratiques sous Linux, vous pouvez consulter ce tutoriel : Optimiser et dépanner un serveur Linux.