Accueil

Lynis : Audit de sécurité pour Linux

Security
Difficulte: Intermediate
4 min de lecture

Tutoriel détaillé pour installer et configurer Lynis, un outil d\'audit de sécurité open-source, pour renforcer la sécurité de votre système Linux.

Retour aux tutoriels

L'essentiel

  • Lynis audite mais ne corrige rien : il produit des avertissements et des suggestions, chacune portant un identifiant de test comme [TEST-7708] ou [AUTH-9328], une solution proposée et un lien vers cisofy.com/lynis/controls/.
  • Une seule commande suffit : sudo lynis audit system. Elle produit deux fichiers, /var/log/lynis.log pour le log complet et /var/log/lynis-report.dat pour les données destinées à un traitement automatisé.
  • Le Hardening Index affiché en fin de rapport est une note sur 100 : à lire comme un indicateur de progression entre deux audits, pas comme un objectif absolu.
  • Deux installations possibles : via les dépôts (apt-get install lynis, ou epel-release puis yum install lynis sur CentOS/RHEL) pour la facilité de mise à jour, ou via git clone https://github.com/CISOfy/lynis.git dans /opt/ pour la dernière version — auquel cas Lynis se lance depuis /opt/lynis/.
  • Automatisation par un script /etc/cron.daily/lynis-audit exécutant lynis audit system --cronjob redirigé vers mail, rendu exécutable par chmod +x. N'appliquez jamais les suggestions en aveugle : désactiver les clés USB n'a aucun sens sur une machine virtuelle hébergée en datacenter.
Qu'est-ce que Lynis ?
Lynis est un outil de "hardening" et d'audit de sécurité pour les systèmes basés sur Unix/Linux. Il effectue un scan approfondi de votre système pour détecter les problèmes de sécurité, les mauvaises configurations, et les vulnérabilités potentielles. Il ne corrige pas les problèmes lui-même, mais fournit des suggestions et des liens pour vous aider à renforcer votre système.

Pourquoi utiliser Lynis ?

  • Audit Complet : Vérifie des centaines de points de contrôle (noyau, authentification, pare-feu, services, etc.).
  • Orienté "Hardening" : Vous aide à durcir votre système en suivant les meilleures pratiques de sécurité.
  • Conformité : Peut aider à vérifier la conformité avec des normes comme PCI-DSS ou HIPAA.
  • Open-Source : Gratuit et transparent, avec une communauté active.

Prérequis

  • Un système Linux (Ubuntu/Debian, CentOS/RHEL, etc.).
  • Accès root ou privilèges sudo.

Installation

Il y a deux méthodes principales pour installer Lynis :

Méthode 1 : Via les dépôts (recommandé pour la facilité de mise à jour)

# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y lynis

# Sur CentOS / RHEL
sudo yum install -y epel-release
sudo yum install -y lynis

Méthode 2 : Via Git (pour avoir la dernière version)

cd /opt/
sudo git clone https://github.com/CISOfy/lynis.git
cd lynis

Avec cette méthode, vous lancerez lynis depuis le répertoire /opt/lynis/.

Lancer un audit

La commande principale est simple :

sudo lynis audit system

Lynis va scanner votre système. L'audit peut prendre quelques minutes. Pendant le scan, il affiche les tests effectués en temps réel. À la fin de l'audit, deux choses importantes sont affichées à l'écran :

  1. Le rapport de scan : Résumé des avertissements (Warnings) et des suggestions (Suggestions).
  2. Les chemins vers les fichiers de log et de rapport :
    • /var/log/lynis.log : Le log complet de l'audit.
    • /var/log/lynis-report.dat : Un fichier de données contenant les résultats, pour un traitement automatisé.
Le "Hardening Index"
À la fin du rapport, Lynis calcule un "Hardening Index", une note sur 100 qui vous donne une idée générale du niveau de sécurité de votre système. C'est un bon indicateur pour suivre vos progrès.

Comprendre et utiliser le rapport

Le plus important est la section "Suggestions" à la fin de la sortie. Chaque suggestion est listée avec un ID de test (ex: `[TEST-1234]`).


Suggestions
----------------------------
* Harden the system by installing a file integrity tool. [TEST-7708] 
  - Solution : Install a file integrity tool like AIDE, Tripwire, or Samhain.
  - Details  : https://cisofy.com/lynis/controls/TEST-7708/

* Consider tweaking permissions for umask in /etc/login.defs. [AUTH-9328]
  - Solution : Set the umask value to 027.
  - Details  : https://cisofy.com/lynis/controls/AUTH-9328/

Pour chaque suggestion, Lynis vous donne :

  • Une description du problème.
  • Une suggestion de solution.
  • Un lien vers le site de CISOfy (les créateurs de Lynis) avec des détails sur le contrôle et comment le corriger.

Votre travail consiste à passer en revue ces suggestions, à comprendre leur impact, et à les appliquer si elles sont pertinentes pour votre environnement.

Automatiser les audits avec Cron

Il est recommandé de lancer Lynis régulièrement pour détecter les nouvelles vulnérabilités ou les changements de configuration. Vous pouvez utiliser cron pour cela.

# Créer un script cron pour Lynis
sudo nano /etc/cron.daily/lynis-audit

Ajoutez le contenu suivant :

#!/bin/sh
# Lancer un audit cronjob (moins verbeux) et envoyer le rapport par email
lynis audit system --cronjob | mail -s "Rapport d'audit Lynis pour $(hostname)" [email protected]

Rendez le script exécutable :

sudo chmod +x /etc/cron.daily/lynis-audit
Ne pas appliquer aveuglément
Toutes les suggestions de Lynis ne sont pas forcément applicables à votre cas d'usage. Par exemple, il peut suggérer de désactiver les clés USB, ce qui n'est pas pertinent pour un serveur virtuel dans un datacenter. Analysez chaque suggestion avant de l'appliquer.

Conclusion

Lynis est un outil formidable pour obtenir un bilan de santé de la sécurité de votre système Linux. Il vous guide dans le processus de "hardening" et vous aide à identifier les faiblesses que vous auriez pu manquer. Effectuer un audit avec Lynis devrait être l'une des premières étapes après l'installation d'un nouveau serveur, et ses audits réguliers sont une partie essentielle d'une bonne hygiène de sécurité.

MR

Écrit par

Morgann Riu

Expert en cybersécurité et administration Linux. Je partage mes connaissances à travers des tutoriels gratuits et des formations pour aider les administrateurs systèmes et développeurs à sécuriser leurs infrastructures.

Questions fréquentes

Mon Hardening Index reste bas alors que le serveur est parfaitement à jour, est-ce normal ?
Oui. L'index reflète le résultat de centaines de points de contrôle portant sur le noyau, l'authentification, le pare-feu ou les services, et pas l'état des correctifs. Un serveur totalement patché mais sans pare-feu actif, sans outil de contrôle d'intégrité des fichiers et avec un umask permissif obtiendra une note médiocre, ce qui est le comportement attendu. Traitez les suggestions une à une et suivez l'évolution de la note d'un audit à l'autre plutôt que sa valeur brute.
À quoi sert l'option --cronjob ?
Elle bascule Lynis en mode non interactif et nettement moins verbeux, adapté à une exécution planifiée dont la sortie part par email. Sans elle, l'audit affiche chaque test au fil de l'eau, ce qui produit un message illisible une fois redirigé vers mail. C'est exactement pour cette raison que le script /etc/cron.daily/lynis-audit utilise lynis audit system --cronjob.
Dépôts ou git clone : quelle méthode d'installation privilégier ?
Le paquet des dépôts se met à jour avec le reste du système, ce qui est le plus simple à maintenir sur un parc, mais il embarque souvent une version en retard sur l'amont. Le git clone dans /opt/lynis donne accès aux contrôles les plus récents, au prix d'une mise à jour manuelle et d'un lancement depuis ce répertoire au lieu du PATH. Pour un serveur de production géré par configuration, préférez les dépôts ; pour un audit ponctuel exigeant les tests les plus récents, prenez la version Git.
Faut-il appliquer toutes les suggestions remontées par Lynis ?
Non, et c'est le principal piège de l'outil. Lynis ne connaît pas votre contexte : il peut suggérer de désactiver les périphériques USB sur une machine virtuelle qui n'en verra jamais, ou de durcir un service que vous n'utilisez pas. Servez-vous de l'identifiant de chaque suggestion, par exemple [AUTH-9328], pour ouvrir la fiche correspondante sur cisofy.com/lynis/controls/ et évaluer l'impact réel avant d'appliquer quoi que ce soit en production.
Comment exploiter les résultats autrement qu'en lisant le rapport à l'écran ?
Utilisez /var/log/lynis-report.dat, un fichier de données structuré prévu pour le traitement automatisé, là où /var/log/lynis.log reste le log détaillé destiné à la lecture humaine. En le combinant à l'audit quotidien planifié dans /etc/cron.daily/lynis-audit, vous pouvez en extraire le Hardening Index et le nombre d'avertissements pour les remonter dans votre supervision et détecter une dérive de configuration sans ouvrir un seul rapport.

Partager ce tutoriel

Cet article vous a plu ?

Cet article vous a-t-il été utile ?

Merci pour votre retour !

Commentaires

Recommandé pour vous

Article de fond sur le sujet

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.