Cybersécurité

VPS audit Lynis : tutoriel 2026

11 min de lecture

Auditer la sécurité d’un VPS Linux ne se résume pas à activer un pare-feu et à mettre à jour les paquets. Pour valider qu’un serveur respecte vraiment les bonnes pratiques 2026, il faut un outil qui passe systématiquement plus de 200 contrôles automatisés sur la configuration système, les services exposés, les permissions de fichiers, le durcissement noyau et bien d’autres axes. Lynis est l’outil de référence open source pour cet usage : développé par CISOfy depuis 2007, gratuit, distribué sous licence GPL, il s’installe en deux minutes et produit un rapport actionnable en moins de cinq minutes d’exécution. Ce tutoriel pas-à-pas montre comment installer Lynis, lancer un audit complet, interpréter le rapport et appliquer les recommandations prioritaires.

Le parcours suppose un VPS Linux fonctionnel (Debian 12, Ubuntu 24.04 LTS, ou équivalent) avec accès SSH en utilisateur sudo. À la fin, vous disposez d’un rapport Lynis complet, des actions correctives priorisées par sévérité, d’une procédure pour relancer l’audit régulièrement, et d’un score de conformité que vous pourrez suivre dans le temps. Toutes les commandes ont été vérifiées sur la documentation officielle cisofy.com/documentation/lynis/.

📍 Guide associé : VPS hardening sécurité 2026 — pour la vue d’ensemble du durcissement Linux dans laquelle Lynis s’inscrit comme un audit transversal.

Pourquoi Lynis plutôt qu’un audit manuel

Un sysadmin expérimenté peut vérifier 30 à 50 points de durcissement à la main en une heure. Lynis en vérifie 200 à 300 en cinq minutes, et avec une rigueur reproductible. Trois bénéfices concrets justifient l’usage systématique de l’outil. Premier bénéfice : la couverture exhaustive des standards reconnus (CIS Benchmarks, NIST 800-53, OWASP Server Hardening, ISO/IEC 27002). Aucun checklist manuel ne couvre cette ampleur sans omissions. Deuxième bénéfice : la reproductibilité dans le temps. Le score Lynis du mois N+1 se compare au mois N, et les régressions apparaissent immédiatement. Troisième bénéfice : la documentation des recommandations. Chaque finding pointe vers une URL officielle qui explique le contexte et les remédiations possibles.

Lynis ne remplace pas un pentest professionnel ni un SIEM en production. Il complète les deux en fournissant la couche de validation continue de la posture de sécurité, à un coût nul. Pour une équipe ouest-africaine qui n’a pas de budget pour un audit annuel à 5 millions FCFA, Lynis devient l’outil incontournable de conformité minimale.

Prérequis avant de commencer

  • Un VPS Linux récent : Debian 12, Ubuntu 24.04 LTS, RHEL 9, AlmaLinux 9 ou équivalent.
  • Accès SSH avec utilisateur sudo non-root configuré (clé Ed25519 recommandée).
  • Espace disque libre minimum 100 Mo pour le rapport et les logs.
  • Connexion réseau pour télécharger Lynis (≈ 1 Mo).
  • Tolérance d’environ 5 minutes de charge CPU modérée pendant l’exécution.

Lynis ne modifie aucun paramètre du système — il ne fait que lire les fichiers de configuration et exécuter des commandes en lecture seule. C’est important car cela signifie que vous pouvez le lancer en production sans risque de coupure ou de régression.

Étape 1 — Installer Lynis depuis le dépôt officiel

Trois méthodes d’installation existent : paquet de la distribution (rapide mais souvent en retard d’une version), dépôt CISOfy officiel (toujours à jour, recommandé pour les audits sérieux), ou téléchargement Git (pour les setups custom). La méthode dépôt officiel donne le meilleur compromis vitesse/fraîcheur.

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg
curl -fsSL https://packages.cisofy.com/keys/cisofy-software-public.key \
  | sudo gpg --dearmor -o /usr/share/keyrings/cisofy-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/cisofy-archive-keyring.gpg] https://packages.cisofy.com/community/lynis/deb/ stable main" \
  | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
sudo apt update
sudo apt install -y lynis

L’installation télécharge environ 1 Mo de paquets et déploie le binaire lynis dans /usr/sbin/lynis. Vérifiez la version installée avec lynis show version — vous devriez voir une version 3.1.x ou plus récente. Si la commande renvoie une erreur, vérifiez que le PATH inclut /usr/sbin ou utilisez le chemin complet.

Étape 2 — Lancer le premier audit complet

L’audit se lance avec une seule commande. La sortie défile en temps réel à l’écran avec un code couleur (vert OK, jaune warning, rouge fail) pour chaque contrôle. L’exécution prend entre 3 et 8 minutes selon la complexité du système et le nombre de paquets installés.

sudo lynis audit system --quick

Le flag --quick évite les pauses interactives. Pour un audit avec questions au sysadmin, retirez --quick. La sortie console résume à la fin le score (Hardening Index sur 100), le nombre de warnings et de suggestions, et le chemin du rapport complet sur disque (/var/log/lynis.log et /var/log/lynis-report.dat). Un score initial sur un VPS frais Debian 12 sans hardening tourne typiquement autour de 60-65/100 — il monte à 80+ après application des recommandations clés.

Étape 3 — Lire le rapport et comprendre les findings

Lynis classe chaque résultat en quatre niveaux. OK : le contrôle passe, aucune action requise. SKIPPED : le contrôle ne s’applique pas à votre système (par exemple, contrôle SELinux sur Debian où AppArmor est utilisé à la place). WARNING : faille concrète, action prioritaire recommandée dans la semaine. SUGGESTION : amélioration de durcissement, à traiter dans le mois selon la criticité.

Pour extraire les findings actionnables, parcourir le fichier /var/log/lynis-report.dat avec grep "warning\[\]" et grep "suggestion\[\]". Chaque ligne contient un identifiant (par exemple SSH-7408 pour la configuration SSH) et un texte court. La documentation détaillée de chaque contrôle se trouve sur cisofy.com/lynis/controls/<ID>/ — un simple https://cisofy.com/lynis/controls/SSH-7408/ ouvre l’explication complète avec les remédiations.

Étape 4 — Appliquer les remédiations prioritaires

Plutôt que d’essayer de corriger 50 findings en une journée, traiter d’abord les 10 warnings les plus critiques. Lynis lui-même recommande cette approche dans son output. Les warnings classiques sur un VPS frais Debian/Ubuntu concernent typiquement : la configuration SSH (PermitRootLogin, PasswordAuthentication, X11Forwarding), les services superflus activés (rpcbind, avahi-daemon), l’absence d’auditd pour la traçabilité, le pare-feu non actif, l’absence de mises à jour automatiques de sécurité.

Pour chaque warning, suivre le lien CISOfy correspondant, appliquer la modification, et relancer Lynis pour confirmer que le finding disparaît. Cette boucle itérative monte le score progressivement. Documenter chaque correction dans un journal d’audit de l’équipe — c’est précieux lors d’un changement d’équipe ou d’un audit externe ultérieur.

Étape 5 — Automatiser les audits hebdomadaires

Un audit ponctuel ne sert à rien si l’on ne suit pas l’évolution dans le temps. Configurez Lynis pour s’exécuter automatiquement toutes les semaines via cron ou systemd timer, et envoyer le rapport par email à l’équipe d’astreinte. Le pattern minimal tient en quelques lignes.

# /etc/cron.weekly/lynis-audit
#!/bin/bash
LOGFILE=/var/log/lynis-weekly-$(date +%Y%m%d).log
lynis audit system --quick --no-colors > "$LOGFILE" 2>&1

# Envoyer le résumé par mail si MTA configuré
grep -E "Hardening index|Warnings|Suggestions" "$LOGFILE" \
  | mail -s "Lynis weekly $(hostname)" ops@exemple.com

Rendez le script exécutable avec sudo chmod +x /etc/cron.weekly/lynis-audit. Cron exécutera l’audit chaque semaine et archivera les rapports dans /var/log/. Pour conserver l’historique long terme, ajoutez une rotation logrotate qui garde 12 mois — soit 52 audits successifs sur un an, ce qui permet de tracer toute régression.

Erreurs fréquentes en audit Lynis

Symptôme Cause probable Correctif
Score Hardening Index très bas (< 50) VPS frais sans aucun durcissement Suivre la checklist hardening complète sur le guide VPS hardening
Lynis ne détecte pas tous les services exposés Plugins optionnels désactivés Lancer avec sudo lynis audit system --pentest pour mode étendu
Faux positifs sur containers Docker Lynis tourne dans le host, pas dans les conteneurs Lancer Lynis aussi à l’intérieur de conteneurs critiques séparément
Score qui régresse mois après mois Nouveaux services installés sans durcissement Audit pré-déploiement obligatoire pour chaque nouveau service
Permissions denied sur certains fichiers Lynis lancé sans sudo Toujours lancer avec sudo pour audit complet

Cinq remédiations prioritaires que Lynis recommande presque systématiquement

Sur quasi tous les VPS Debian ou Ubuntu fraîchement installés, Lynis remonte la même série de findings. En traiter cinq prioritaires fait gagner 10 à 15 points de Hardening Index en moins d’une heure de travail. Voici les warnings les plus fréquents et leur correction express.

SSH-7408 — Configuration SSH durcie. Modifier /etc/ssh/sshd_config pour fixer PermitRootLogin no, PasswordAuthentication no (clé SSH obligatoire), X11Forwarding no, AllowTcpForwarding no sauf besoin explicite, MaxAuthTries 3, ClientAliveInterval 300. Recharger avec sudo systemctl reload ssh. Vérifier que la nouvelle config est bien chargée avec sudo sshd -T | grep -E "permitroot|passwordauth".

AUTH-9282 — Mot de passe et politique d’expiration. Configurer /etc/login.defs pour fixer PASS_MAX_DAYS 90 et PASS_MIN_LEN 14. Activer pam_pwquality avec sudo apt install libpam-pwquality et configurer /etc/security/pwquality.conf pour exiger une complexité minimale.

FIRE-4513 — Pare-feu actif. Activer ufw avec une politique par défaut deny, et autoriser uniquement les ports nécessaires (22 SSH, 80, 443 web). La commande type est sudo ufw default deny incoming && sudo ufw allow ssh && sudo ufw allow 80,443/tcp && sudo ufw enable.

UPGR-2244 — Mises à jour automatiques de sécurité. Installer unattended-upgrades et l’activer avec sudo dpkg-reconfigure --priority=low unattended-upgrades. Vérifier la configuration dans /etc/apt/apt.conf.d/50unattended-upgrades pour ne mettre à jour que les patches sécurité (pas les majeures).

BANN-7126 et BANN-7130 — Bannières d’avertissement légal. Créer /etc/issue.net et /etc/issue avec un texte légal indiquant que l’accès non autorisé est interdit. Référencer le fichier dans /etc/ssh/sshd_config via Banner /etc/issue.net. C’est un point de conformité juridique souvent oublié et corrigé en deux minutes.

Lynis vs OpenSCAP vs Nessus : quel outil pour quel contexte

Lynis n’est pas le seul outil d’audit de sécurité Linux disponible. Deux alternatives reviennent dans les discussions : OpenSCAP, le standard NIST officiellement supporté par Red Hat, et Nessus, le scanner commercial Tenable. Comprendre leurs différences évite de choisir le mauvais outil pour son contexte.

OpenSCAP est puissant et orienté conformité réglementaire stricte (FIPS, DISA STIG, PCI-DSS). Il s’appuie sur des profils SCAP standardisés et produit des rapports compatibles avec les outils d’audit gouvernementaux. La courbe d’apprentissage est plus raide que Lynis et la communauté francophone limitée. Pour une PME ouest-africaine sans contrainte réglementaire stricte, OpenSCAP est sur-dimensionné. Pour une entreprise qui exporte vers l’UE et doit prouver une conformité documentée, OpenSCAP devient pertinent.

Nessus Professional est commercial (à partir de 4 000 USD/an) et orienté pentest scanner réseau plutôt qu’audit système local. Il scanne les ports exposés, détecte les CVE des services accessibles, produit des rapports pour les auditeurs externes. Pour une PME, le coût est rédhibitoire — préférer alternatives gratuites comme OpenVAS (le successeur communautaire de Nessus) ou simplement Lynis pour l’audit local complété par nmap pour l’inspection réseau externe.

La règle pratique : Lynis pour l’audit système local sur tous les VPS, OpenVAS ou nmap pour l’audit réseau externe, OpenSCAP uniquement si une exigence réglementaire spécifique le demande. Pour 95 % des PME ouest-africaines, Lynis seul couvre la baseline sécurité acceptable.

Adaptation au contexte ouest-africain

Lynis est gratuit et tourne sur n’importe quel VPS Linux modeste. Pour une PME basée à Dakar, Abidjan, Bamako ou Cotonou qui exploite un ou plusieurs serveurs Hetzner ou Contabo, intégrer Lynis dans la routine hebdomadaire ne coûte rien et apporte une garantie de conformité minimale. C’est particulièrement précieux dans les contextes où le budget ne permet pas un audit externe annuel — Lynis donne un baseline défendable face à un comité de pilotage ou une demande d’investisseur.

Côté conformité OHADA et juridiction locale (loi sénégalaise 2008-12, CDP Côte d’Ivoire), pouvoir produire un rapport Lynis daté avec un score 80+ est un argument concret de diligence raisonnable. Combiné aux sauvegardes versionnées, à un monitoring de logs et au durcissement SSH, Lynis complète la pile de validation sécurité d’une PME sérieuse à coût quasi-nul.

Pour étoffer le tableau

Lynis couvre l’audit système. Trois extensions naturelles selon le contexte : ajouter OSSEC ou Wazuh pour la détection d’intrusion en temps réel sur les fichiers et logs ; ajouter chkrootkit ou rkhunter pour la détection de rootkits en complément de Lynis ; intégrer le rapport Lynis dans une pipeline CI qui fait échouer le déploiement si le score chute en dessous d’un seuil défini (par exemple Hardening Index < 75).

Pour les équipes qui veulent industrialiser leur posture sécurité, intégrer Lynis avec un dashboard Grafana qui affiche le Hardening Index dans le temps reste un excellent indicateur de progression mois après mois — le score visible motive l’équipe à maintenir la rigueur.

Mots-clés associés : Lynis 3, CIS Benchmarks, NIST 800-53, hardening Linux, audit sécurité VPS, score Hardening Index, OHADA conformité, audit automatique cron.

Partager