Auditer la sécurité de son VPS avec Lynis
Un serveur qui fonctionne n'est pas forcément bien protégé. Lynis scanne votre VPS et propose des pistes de durcissement. Voici comment l'utiliser, sans appliquer ses conseils à l'aveugle.
Auditer la sécurité de son VPS permet de savoir où l’on en est avant de modifier sa configuration. Un serveur fonctionnel n’est pas nécessairement bien protégé : un service oublié, des permissions trop larges ou une politique SSH permissive peuvent augmenter sa surface d’attaque sans provoquer de symptôme visible.
Lynis est un outil open source d’audit de sécurité pour Linux. Il examine le système, signale les points sensibles et propose des pistes de durcissement. Il aide à construire un plan d’action, mais ne corrige rien automatiquement. Chaque recommandation doit être comprise et évaluée selon le rôle du serveur.
Ce que fait Lynis
Lynis réalise une série de tests locaux sur la configuration du système. Il inspecte notamment :
- la configuration du service SSH ;
- les comptes, groupes et méthodes d’authentification ;
- les permissions des fichiers et répertoires sensibles ;
- les services actifs et les logiciels installés ;
- le pare-feu et certains paramètres réseau ;
- la configuration du noyau Linux ;
- les paquets obsolètes ou vulnérables selon les informations disponibles ;
- les journaux, mécanismes d’audit et tâches planifiées ;
- certains signes élémentaires de logiciels malveillants ou de rootkits.
À la fin du scan, Lynis affiche des avertissements, des suggestions et un « hardening index ». Cet indice donne une indication synthétique du niveau de durcissement constaté. Il est surtout utile pour mesurer une évolution entre plusieurs audits réalisés sur un même serveur.
Lynis n’applique aucune correction. Cette caractéristique est importante : l’outil ne modifie pas SSH, ne ferme pas de port et ne désactive pas de service. Il fournit des observations que l’administrateur doit analyser avant d’intervenir.
Prérequis pour auditer un VPS
Il faut disposer d’un VPS Linux et d’un accès root ou d’un compte autorisé à utiliser sudo. Lynis peut exécuter certains tests avec un utilisateur standard, mais les résultats seront moins complets.
Avant l’audit, vérifiez que vous disposez d’un accès de secours ou d’une méthode de récupération. Cette précaution ne concerne pas directement Lynis, puisqu’il ne change pas le système, mais elle devient indispensable au moment d’appliquer les recommandations. Une erreur dans le pare-feu ou dans la configuration SSH peut couper l’accès au serveur.
Il est également prudent de disposer d’une sauvegarde récente. Sur un VPS TalCloud, hébergé en France sur une infrastructure NVMe avec protection Anti-DDoS Netrix, l’audit du système reste sous la responsabilité de l’administrateur. L’hébergement français et le cadre RGPD apportent un contexte adapté aux données sensibles, mais ils ne remplacent pas le durcissement de Linux.
Installer Lynis
Sur Debian et Ubuntu, Lynis est disponible dans les dépôts de paquets. Cette méthode est simple :
sudo apt update
sudo apt install lynis
Elle permet de recevoir les mises à jour proposées par la distribution. Cependant, la version présente dans les dépôts peut être plus ancienne que la dernière version publiée par le projet.
Pour disposer d’une version récente, il est préférable de cloner le dépôt officiel avec Git :
sudo apt update
sudo apt install git
git clone https://github.com/CISOfy/lynis.git
cd lynis
Cette installation ne demande pas de compilation. Lynis peut être exécuté directement depuis le répertoire cloné :
sudo ./lynis audit system
Pour récupérer ultérieurement les dernières modifications, placez-vous dans le répertoire de Lynis puis utilisez :
git pull
Le dépôt Git est recommandé pour rester à jour. Dans un environnement où les logiciels doivent provenir exclusivement des dépôts validés par la distribution, l’installation avec apt peut toutefois être plus appropriée.
Lancer un audit du système
Avec une installation issue des paquets, lancez l’audit complet avec :
sudo lynis audit system
Avec le dépôt Git, utilisez la commande depuis son répertoire :
sudo ./lynis audit system
Le scan parcourt successivement différentes catégories : démarrage, noyau, utilisateurs, stockage, réseau, SSH, pare-feu, journalisation, logiciels et permissions. Les résultats sont affichés en couleur afin de distinguer les contrôles réussis, les informations, les suggestions et les avertissements.
L’audit peut prendre quelques minutes selon la configuration du VPS. Il est possible de suivre les contrôles à l’écran, mais l’essentiel se trouve dans le résumé final et dans les fichiers de rapport.
Lire le rapport Lynis
Les « Warnings » correspondent aux éléments qui méritent une attention prioritaire. Ils peuvent révéler une configuration risquée, un mécanisme de sécurité absent ou un problème nécessitant une vérification rapide. Un avertissement n’indique pas systématiquement une compromission. Il signale un risque ou un écart qui doit être analysé.
Les « Suggestions » sont des pistes de durcissement. Elles peuvent concerner l’installation d’un outil, la modification d’un paramètre ou la réduction de la surface d’attaque. Leur pertinence dépend de l’usage du VPS. Un serveur web public, un relais de messagerie et une machine d’administration n’ont pas les mêmes contraintes.
Le « Hardening index » est un score indicatif. Une progression après plusieurs corrections montre que davantage de contrôles Lynis sont satisfaits. Elle ne prouve pas que le serveur est invulnérable et ne doit pas devenir un objectif isolé.
Pour examiner les résultats détaillés, consultez :
sudo less /var/log/lynis.log
Le rapport structuré se trouve généralement ici :
sudo less /var/log/lynis-report.dat
Le premier fichier contient le déroulement détaillé des tests. Le second facilite l’extraction et la comparaison des résultats.
Comprendre et prioriser les suggestions
Les recommandations les plus fréquentes concernent plusieurs couches du système. Lynis peut suggérer de durcir SSH, d’activer un pare-feu, d’installer Fail2ban ou de configurer les mises à jour automatiques de sécurité.
Il peut également signaler des permissions trop larges, des services inutiles, l’absence d’auditd ou des options du noyau à renforcer avec sysctl. Ces recommandations ne présentent pas toutes le même niveau d’urgence.
Commencez par classer les résultats selon trois critères :
- le niveau de risque ;
- l’exposition du composant à Internet ;
- l’impact possible d’une modification sur le service.
Un accès SSH par mot de passe exposé publiquement mérite généralement une attention rapide. Un paramètre sysctl destiné à un usage réseau différent peut être moins pertinent. De même, désactiver un service sans connaître ses dépendances risque d’interrompre une application.
Il ne faut jamais appliquer aveuglément toutes les suggestions. Lynis utilise des règles générales qui ne connaissent ni votre architecture complète ni vos contraintes métier. Comprenez le rôle de chaque paramètre, consultez sa documentation locale et mesurez les conséquences avant toute modification.
Appliquer le durcissement progressivement
Traitez d’abord les avertissements confirmés, puis les suggestions pertinentes. Effectuez les changements un par un afin de pouvoir identifier rapidement l’origine d’une régression.
Pour SSH, privilégiez l’authentification par clé, limitez les comptes autorisés et désactivez la connexion directe de root lorsque votre procédure d’administration le permet. Vérifiez toujours une seconde session avant de fermer la connexion existante.
Configurez ensuite un pare-feu avec une politique minimale : seuls les ports réellement nécessaires doivent rester accessibles. Fail2ban peut compléter cette protection en bloquant temporairement les sources qui multiplient les tentatives d’authentification.
Activez les mises à jour de sécurité adaptées à votre distribution, supprimez ou désactivez les services inutiles et corrigez les permissions excessives. Notre guide pour sécuriser un serveur Linux accompagne ces opérations.
Après chaque changement, testez l’accès distant et le fonctionnement des applications. Conservez une trace de la configuration initiale, de la modification réalisée et du résultat obtenu.
Réauditer et suivre l’évolution
Relancez Lynis après chaque série de corrections :
sudo lynis audit system
Comparez les avertissements, les suggestions et le hardening index avec les résultats précédents. La disparition d’un avertissement confirme que le contrôle correspondant est désormais satisfait, mais un test fonctionnel reste nécessaire.
Planifiez ensuite des audits réguliers, par exemple chaque semaine ou chaque mois. Une tâche cron peut automatiser leur exécution :
0 3 * * 1 /usr/sbin/lynis audit system --cronjob --quiet
Vérifiez d’abord le chemin réel avec :
command -v lynis
L’automatisation facilite le suivi, mais elle ne remplace pas une revue humaine. Les rapports doivent être lus, comparés et intégrés à une procédure de maintenance.
Connaître les limites de Lynis
Lynis n’est ni un antivirus complet ni un scanner de vulnérabilités applicatives. Il ne teste pas en profondeur le code d’un site web, les dépendances d’une application, les erreurs métier ou les failles d’une API.
Un hardening index élevé ne garantit pas l’absence de compromission. Le score reflète les contrôles connus de Lynis, pas l’ensemble des scénarios d’attaque possibles.
L’audit doit donc compléter une stratégie plus large : mises à jour régulières, sauvegardes testées, supervision, centralisation des journaux, contrôle des accès et réponse aux incidents. Associé à ces pratiques, Lynis devient un excellent outil de suivi pour maintenir un VPS Linux dans un état de sécurité cohérent.