Configuration et sécurisation d’un serveur Linux Debian: Partie 3

Update: Version Debian 8 dispo

Dernière partie de l’article sur la configuration et la sécurisation d’un serveur Linux Debian. La première ce trouve ici. La seconde .

A ce stade le serveur fonctionne bien et possède une sécurisation minimale. Mais qu’arrive-t-il si pour une raison ou une autre un des services tombe ? Dans ce dernier chapitre on va se concentrer sur la partie monitoring du serveur.

Partie 3: Monitoring

Surveillance du disque dur

Le disque dur est un organe central d’un serveur dédié. Avec le temps, de petites détériorations peuvent apparaître et entraîner une perte de données ou une instabilité du système.

Si comme moi vous avez un serveur Kimsufi chez OVH, il faut savoir que la surveillance du disque dur de la machine est à vôtre charge. En cas de panne de ce dernier il vous faudra prévenir l’hébergeur afin qu’il procède au remplacement de la pièce.

L’idée est donc de contrôler l’état du disque du serveur afin de diagnostiquer un éventuel problème qui pourrait conduire au changement préventif du disque. Pour cela nous allons utiliser le protocole SMART. SMART est une technologie implémentée dans les disques durs permettant permet ainsi de collecter en permanence des informations sur la santé du matériel.

Comme d’habitude l’installation s’effectue via le gestionnaire de paquets

On va identifier le disque avec la commande fdik -l.

fdisk

Le disque est donc sda. Normalement c’est sda si vous n’avez qu’un seul disque dans le serveur.

Petit test rapide en manuel

La commande doit retourner

Si la commande ne retourne pas « PASSED » c’est que le disque est en train de passer l’arme à gauche.

On va vérifier à présent se qui est faisable avec le SMART de vôtre disque.

Ce qui donne pour le disque de mon serveur perso

smart-abilities

 

La ligne intéressante est « Self-test supported ». Le disque peut s’auto diagnostiquer.

Cette ligne vous donne aussi une idée des durées de test estimés. Pour un test court (short) c’est une minute dans mon cas. 43 minutes pour un long (Extended).

On va justement lancer un test rapide

Le résultat nous demande d’attendre une minute.

A la fin de cette minute on peut regarder le résultat avec la commande:

Qui nous donne

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 8867 –
# 2 Short offline Completed without error 00% 8863 –

Completed without error donc c’est tout bon! Bref ça c’était la partie manuel pour se rassurer que tout va bien. On va maintenant automatiser un peu. Pour cela rien de plus simple. Smartmontools est livré avec son propre deamon qu’il faut juste régler.

Pour que le démon se lance au démarage du serveur on décommante la ligne suivante dans le fichier /etc/default/smartmontools

On édite ensuite le fichier /etc/smartd.conf.

On commande la ligne par défaut.

On ajoute notre disque.

Explication des paramètres

-a : Monitor la santé du disque

-d : Précise le type de disque

-o : Offline test

-S : Autosave

-m : adresse ou envoyer le mail d’alerte

-M : en mode test pour vérifier de suite que l’envoi de mail est ok

On démarre le programme pour prendre en compte les changements.

On reçoit le mail de test

mail_test_smartmontools

 

C’est tout bon, on édite à nouveau le fichier de configuration pour remplacer le paramètre -M comme ceci

On redémarre pour prendre en compte et c’est fini. Le prochain mail reçu de sa part sera à prendre avec considération car cela voudra dire qu’il y a un problème avec le disque.

Petite supervision

Je dis « petite » parce que en terme de supervision il existe de l’artillerie lourde sur Linux (nagios, centreon, skinken,etc…). Ici on va juste mettre en place un petit outil sous forme de script qui se place dans le cron et qui se nomme MotdStat.

Ce petit programme permet deux choses:

  • Un petit monitoring du serveur avec des alertes par mail
  • Afficher certaines constantes à la connexion ssh

Voila une petite idée de se que l’outil propose comme affichage à la connexion SSH

motdstat

Le programme n’est pas disponible dans les dépôts officiels. Il faut récupérer l’archive sur le site ici. Pour l’installer il faut compiler les sources.

Pour tester

Le message est alors généré dans le fichier /etc/motd et doit apparaître après le login de connexion  SSH.

On ajoute cette même ligne de commande au crontab de façon à automatiser la génération par exemple toutes les 5 minutes.

Editer la crontab

On ajoute la ligne suivante et on ferme le fichier

Toutes les 5 minutes, le fichier /etc/motd (motd = message of the day ), sera mis à jour avec les dernières constantes relevées du système.

Toute la configuration se passe au même endroit , soit dans /etc/motdstat , ou vous pouvez lister les fichiers suivants :

  • fstab_limits : ici on ajoute les partitions à surveiller avec la limite à atteindre avant une alerte mail

  • motdstat.conf : Configuration principale du programme. C’est ici que l’on va saisir le mail de destination des alertes par exemple

  • netservice : Surveillance des ports qui doivent être en écoute sur la machine

  • process : Les processus qui doivent tourner sur la machine

Les fichiers de configuration plutôt simple je ne détaillerai donc pas plus.

En cas de problème comme l’arrêt d’un service ou le dépassement du seuil d’espace disque, un mail vous sera envoyé. Dans l’exemple, le cron lance le script toute les 5 minutes. A vous de choisir quel délais de détection via la ligne du crontab. Sachez toutefois qu’un mail part à chaque lancement du script en cas d’alerte tant que vous n’avez pas réglé le problème.

 

4 thoughts on “Configuration et sécurisation d’un serveur Linux Debian: Partie 3”

  1. teddy dit :

    Super tuto, je m’en sers de mémo. Le lien pour télécharger MODstat n’est plus valide (erreur 404), la nouvelle adresse : http://www.gelogic.net/download/

    Une petite coquille sur la première page de « configuration et sécurisation », dans la partie concernant cron-apt, le chemin : /et//cron-apt/action.d/3-download pose évidemment problème. :p

    En tout cas merci, j’ai appris plein de trucs.

    1. Sispheor dit :

      C’est corrigé, merci à vous.

  2. Lypik dit :

    Intéressant, ça va me servir prochainement.

    Je voulais savoir si c’était possible d’envoyer ses mél d’alerte en utilisant PGP, au lieu de les envoyer en clair ?

    Merci, bonne continuation.

    1. Sispheor dit :

      Je n’ai jamais eu ce besoin pour le moment alors je ne pourrais pas vous répondre. Je pense que oui mais il vous faudra installer un agent de mail plus abouti que nullmailer comme par exemple postfix.

Laisser un commentaire

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