Vérifier les logs de démarrage et de connexion de votre serveur Linux.

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

Vérifier les logs de démarrage et de connexion de votre serveur Linux.

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

Utiliser la commande last sous Linux

Nous voyons ici que le denier reboot date du 4 janvier 2014.

Information!!! Le paramètre –x permet d’afficher également les arrêts du système et les modifications de niveau d’exécution (run level).

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 :

le fichier btmp est illisible sans la commande last sous Linux

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

Lire le contenu des fichiers wtmp et btmp avec la commande last sous Linux

  • 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.

Mettre en place une rotation des logs sous Linux avec 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  :

Exemple de configuration d'un fichier logrotate.conf

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.

signature manuelle Guillaume

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *