Sécuriser un système Linux à l'instinct, sans méthode, conduit presque toujours à laisser passer des points de configuration importants — soit parce qu'ils sont peu connus, soit simplement parce qu'on ne pense pas à les vérifier. Lynis est un outil d'audit open source, développé depuis plus de quinze ans, qui répond exactement à ce problème : il analyse systématiquement la configuration d'un système Linux ou Unix et propose des recommandations de durcissement, classées par domaine. Il ne corrige rien automatiquement — et c'est en réalité une qualité, pas une limite : il sert de base structurée pour prioriser les actions, en laissant l'administrateur décider en connaissance de cause.

Installation

Lynis s'installe de deux façons principales. La plus simple consiste à utiliser le gestionnaire de paquets de la distribution, lorsqu'il est disponible :

apt install lynis        # Debian / Ubuntu
dnf install lynis         # Fedora / RHEL

Pour disposer systématiquement de la dernière version, y compris ses derniers tests, il est également possible de cloner directement le dépôt officiel du projet, ce qui évite de dépendre du rythme de mise à jour des paquets de la distribution.

Lancer un premier scan

Un scan complet du système se lance avec une seule commande :

lynis audit system

Ce scan s'exécute entièrement en local, sans envoyer la moindre donnée à l'extérieur — un point important pour un outil destiné à être utilisé sur des serveurs de production, potentiellement sensibles. Il examine successivement plusieurs dizaines de catégories : informations système, gestion des paquets et mises à jour disponibles, configuration du démarrage, authentification et mots de passe, configuration du noyau, pare-feu, services réseau en écoute, journalisation, planification des tâches, permissions de fichiers sensibles, et bien d'autres. Pour un audit orienté spécifiquement sur la posture offensive du système (utile en amont d'un test d'intrusion), l'option --pentest ajoute des vérifications supplémentaires pertinentes dans ce contexte.

Lire le rapport et le hardening index

À la fin du scan, Lynis affiche un résumé directement dans le terminal, ainsi qu'un score appelé « hardening index », noté sur 100. Ce score synthétise le niveau général de durcissement du système au regard de l'ensemble des tests effectués. Il est important de le considérer pour ce qu'il est : un indicateur de tendance et un point de comparaison dans le temps — utile pour suivre l'évolution d'un même serveur d'un audit à l'autre — plutôt qu'un objectif à maximiser aveuglément. Un score de 100 n'existe pratiquement jamais en pratique, et ce n'est pas nécessairement souhaitable : certains tests ne s'appliquent simplement pas à tous les contextes.

Le rapport détaillé, bien plus riche que le résumé affiché à l'écran, est enregistré dans deux fichiers : /var/log/lynis.log contient le journal complet et lisible de l'exécution du scan, tandis que /var/log/lynis-report.dat contient les résultats sous une forme structurée, exploitable par des scripts pour automatiser le suivi dans le temps ou l'intégration à d'autres outils.

Les grandes catégories de contrôles

Il est utile de connaître, au moins dans les grandes lignes, les principales familles de contrôles que Lynis exécute, pour mieux interpréter le rapport final. La catégorie « authentification » vérifie notamment la politique de mots de passe, la configuration de PAM et les comptes disposant de droits élevés. La catégorie « pare-feu » contrôle qu'un pare-feu est actif et correctement configuré, plutôt que simplement installé sans être appliqué. La catégorie « noyau » (kernel) examine les paramètres sysctl liés à la sécurité réseau et à la protection mémoire. La catégorie « journalisation » vérifie que les événements systèmes sont bien enregistrés et, idéalement, transmis vers un système de centralisation externe. Enfin, la catégorie « permissions de fichiers » recherche les fichiers sensibles dont les droits d'accès sont anormalement permissifs, un défaut de configuration classique et pourtant régulièrement rencontré même sur des systèmes globalement bien tenus.

Comprendre une suggestion typique

Chaque suggestion émise par Lynis est associée à un identifiant unique (par exemple AUTH-9262 pour une recommandation liée aux mots de passe), une brève explication du problème identifié, et souvent un lien vers la documentation officielle du projet pour approfondir le sujet. Une suggestion typique pourrait signaler, par exemple, l'absence de règle de complexité minimale sur les mots de passe locaux, ou la présence de services réseau en écoute qui ne semblent pas nécessaires au rôle du serveur. Dans les deux cas, Lynis ne se contente pas de signaler le problème : il indique généralement la piste de correction à suivre, charge ensuite à l'administrateur de l'appliquer après vérification.

Prioriser plutôt qu'appliquer aveuglément

Toutes les suggestions ne se valent pas, et c'est précisément l'étape la plus importante — et la plus souvent négligée — de l'utilisation de Lynis. Une recommandation pertinente sur un poste de travail individuel peut être inutile, voire contre-productive, sur un serveur applicatif dédié fonctionnant dans un environnement contrôlé. À l'inverse, certaines suggestions marquées comme secondaires par l'outil peuvent s'avérer critiques compte tenu du contexte spécifique du système audité — les données qu'il héberge, son exposition réseau, sa criticité pour l'activité. L'audit automatisé doit donc toujours être suivi d'une analyse humaine avant application, qui confronte chaque suggestion à la réalité opérationnelle du système concerné.

Lynis permet d'ailleurs de formaliser une partie de ce travail de contextualisation via des profils personnalisés (custom.prf), qui permettent d'exclure explicitement certains tests jugés non pertinents pour une catégorie de machines donnée, avec une justification documentée. Cette approche est préférable à l'ignorance silencieuse d'une suggestion à chaque exécution : elle laisse une trace claire de la décision prise et de sa justification, utile lors d'un audit ultérieur ou d'une revue par une autre personne que celle qui a fait le choix initial.

Suivre l'évolution dans le temps

L'intérêt de Lynis ne se limite pas à un audit ponctuel. Exécuté régulièrement — par exemple via une tâche planifiée mensuelle — et en conservant l'historique des scores et des suggestions traitées, il permet de suivre objectivement la progression du durcissement d'un parc de serveurs dans la durée, et de détecter rapidement une régression de configuration, par exemple à la suite d'une mise à jour système ou de l'installation d'un nouveau service qui aurait rouvert un point d'attention déjà traité auparavant.

« Un outil d'audit donne des pistes, pas des décisions. C'est à l'administrateur de juger de la pertinence de chaque recommandation dans son contexte réel, et non à l'outil de décider à sa place. »

Intégrer Lynis à un parc de serveurs

Sur un parc comportant plusieurs dizaines ou centaines de machines, exécuter Lynis manuellement serveur par serveur devient rapidement impraticable. Le fichier de résultats structuré (lynis-report.dat) se prête bien à une exploitation automatisée : un script simple peut centraliser les résultats de l'ensemble du parc, générer un tableau de bord comparatif entre machines, ou déclencher une alerte lorsque le hardening index d'un serveur chute brutalement d'un scan à l'autre. Cette approche transforme un outil d'audit ponctuel en un véritable indicateur de suivi continu de la posture de sécurité du parc, intégrable aux pipelines d'intégration continue pour les environnements provisionnés automatiquement.

Comment Lynis se situe par rapport à d'autres approches

Lynis n'est pas le seul outil de ce type : des solutions comme OpenSCAP permettent d'évaluer un système au regard de référentiels normés comme les CIS Benchmarks, avec une approche plus formelle et davantage tournée vers la conformité réglementaire. Ces outils ne s'opposent pas : Lynis se distingue par sa simplicité de mise en œuvre, l'absence totale de dépendance à un service externe, et une lisibilité immédiate de ses résultats, ce qui en fait un excellent premier réflexe avant d'envisager, si le contexte réglementaire l'exige, une démarche de conformité plus formelle et documentée face à un référentiel spécifique.

Les limites à garder en tête

Lynis reste un outil d'audit de configuration : il évalue la façon dont le système est paramétré, mais ne remplace ni une analyse de risques complète, ni un test d'intrusion, qui chercherait activement à exploiter des faiblesses plutôt qu'à les lister. Il ne détecte pas non plus les vulnérabilités liées à la logique métier des applications hébergées sur le serveur. Il constitue en revanche un excellent point de départ, rapide à mettre en œuvre et peu coûteux, pour identifier l'essentiel des écarts de configuration avant d'engager, si le contexte le justifie, des démarches d'audit plus approfondies.