Comment auditer la sécurité de votre système Linux avec Lynis



Réaliser un audit de sécurité sur votre machine Linux à l’aide de Lynis est une démarche essentielle pour optimiser sa protection. Dans un monde où la sécurité des appareils connectés est primordiale, voici comment vous pouvez vous assurer que votre système est correctement verrouillé.

Évaluation de la sécurité de votre système Linux

Lynis exécute une série de tests automatisés qui passent au crible de nombreux éléments et configurations de votre système d’exploitation Linux. Les résultats sont présentés sous forme d’un rapport en couleur ASCII, détaillant les avertissements, les suggestions et les actions recommandées.

La cybersécurité est une question d’équilibre. La paranoïa excessive n’est pas constructive. La question est de savoir quel niveau de vigilance est approprié pour vous. Si vous ne fréquentez que des sites web fiables, que vous n’ouvrez jamais de pièces jointes ou de liens provenant d’expéditeurs inconnus et que vous utilisez des mots de passe complexes et uniques pour chaque compte, quels sont réellement les risques, en particulier lorsque vous utilisez Linux ?

Examinons cela à l’inverse. Linux n’est pas immunisé contre les logiciels malveillants. Le tout premier ver informatique, par exemple, ciblait les systèmes Unix en 1988. De même, les rootkits tirent leur nom du superutilisateur Unix (root) et des logiciels (kits) employés pour éviter la détection, accordant ainsi à l’attaquant un accès privilégié.

Pourquoi sont-ils nommés d’après « root » ? Parce que le premier rootkit, apparu en 1990, visait les machines Sun Microsystems utilisant l’Unix SunOS.

Les logiciels malveillants ont donc fait leurs débuts sous Unix, avant de se propager avec l’ascension de Windows. Aujourd’hui, avec la popularité croissante de Linux, les systèmes d’exploitation de type Linux et Unix, tel que macOS, sont devenus des cibles de choix pour les acteurs malveillants.

Si vous êtes prudent, raisonnable et attentif lors de l’utilisation de votre ordinateur, quel danger persiste ? La réponse est complexe. En bref, les cyberattaques sont variées et sophistiquées, capables de réaliser des exploits considérés autrefois comme impossibles.

Des rootkits, comme Ryuk, peuvent infiltrer des ordinateurs éteints en exploitant les fonctions Wake-on-LAN. Des preuves de concept ont même été développées, démontrant la capacité de chercheurs de l’Université Ben-Gourion du Néguev à extraire des données depuis un ordinateur isolé.

Il est impossible de prévoir avec exactitude les menaces futures. Cependant, nous comprenons les points faibles des systèmes. Il est donc judicieux de les renforcer, quelles que soient les attaques présentes ou à venir.

Sur l’ensemble des cyberattaques, seule une petite partie cible intentionnellement des individus ou des organisations spécifiques. La plupart sont aveugles, les logiciels malveillants n’ayant que faire de leur victime. Des analyses automatisées de ports et d’autres techniques recherchent simplement les systèmes vulnérables pour les attaquer. C’est la vulnérabilité qui vous désigne comme cible.

C’est là que Lynis entre en jeu.

Installation de Lynis

Pour installer Lynis sur Ubuntu, utilisez la commande suivante:

sudo apt-get install lynis

Sur Fedora, utilisez :

sudo dnf install lynis

Sur Manjaro, la commande est :

sudo pacman -Sy lynis

Réalisation d’un audit

Lynis est une application en ligne de commande, sans interface graphique. Pour lancer un audit, ouvrez une fenêtre de terminal. Ajustez sa taille pour l’adapter à la hauteur de votre écran. Les résultats de Lynis sont volumineux et une fenêtre de terminal plus grande facilite la lecture.

Ouvrir une fenêtre de terminal dédiée à Lynis est également une bonne pratique. La nécessité de parcourir les résultats en haut et en bas sera ainsi facilitée.

Pour démarrer l’audit, tapez simplement cette commande:

sudo lynis audit system

Les catégories de tests, les titres et les résultats défileront dans la fenêtre du terminal au fur et à mesure de l’avancement de l’audit. L’analyse ne dure que quelques minutes. Une fois terminé, vous reviendrez à l’invite de commande. Pour consulter les résultats, il suffit de faire défiler la fenêtre du terminal.

La première section de l’audit identifie la distribution Linux, la version du noyau et d’autres informations système.

Les zones nécessitant votre attention sont mises en évidence en orange (suggestions) et en rouge (avertissements nécessitant une action).

Voici un exemple d’avertissement. Lynis a examiné la configuration du serveur de messagerie Postfix et a identifié un problème concernant la bannière. Nous pourrons obtenir plus de détails sur ce problème et sa cause par la suite.

Ci-dessous, Lynis nous avertit que le pare-feu n’est pas configuré sur la machine virtuelle Ubuntu que nous utilisons.

Continuez à faire défiler pour voir tous les points que Lynis a soulevés. Au bas du rapport, vous trouverez un écran de synthèse.

Le « score de durcissement » est votre score de sécurité. Notre score de 56/100 n’est pas exceptionnel. 222 tests ont été exécutés et un plugin Lynis est activé. En visitant la page de téléchargement du plugin Lynis Community Edition et en vous inscrivant à la newsletter, vous obtiendrez des liens vers d’autres plugins.

Il existe de nombreux plugins, dont certains permettant l’audit par rapport à des normes comme RGPD, ISO27001, et PCI-DSS.

Un « V » vert représente une coche. Vous verrez également des points d’interrogation orange et des « X » rouges.

Nous avons des coches vertes pour la présence d’un pare-feu et d’un analyseur de logiciels malveillants. Pour ce test, nous avons également installé rkhunter, un détecteur de rootkit, pour vérifier si Lynis le détecterait. Comme indiqué ci-dessus, c’est le cas ; nous avons une coche verte à côté de « Scanner de logiciels malveillants ».

L’état de conformité est inconnu car aucun plugin de conformité n’a été utilisé dans cet audit. Les modules de sécurité et de vulnérabilité ont été utilisés pour ce test.

Deux fichiers sont générés : un journal et un fichier de données. Le fichier de données, situé dans « /var/log/lynis-report.dat », est celui qui nous intéresse. Il contient une copie des résultats (sans la mise en évidence par couleur) que nous pouvons voir dans la fenêtre du terminal. Ceux-ci sont utiles pour suivre l’évolution de votre score de durcissement au fil du temps.

En remontant dans la fenêtre du terminal, vous verrez des listes de suggestions et d’avertissements. Les avertissements étant les plus importants, nous allons les examiner.

Voici les cinq avertissements:

« La version de Lynis est très ancienne et devrait être mise à jour » : Il s’agit en fait de la dernière version de Lynis disponible dans les dépôts Ubuntu. Bien qu’elle n’ait que 4 mois, Lynis la considère comme très ancienne. Les versions disponibles dans les dépôts Manjaro et Fedora étaient plus récentes. Les mises à jour des gestionnaires de paquets ont souvent un léger retard. Si vous souhaitez absolument utiliser la dernière version, vous pouvez cloner le projet depuis GitHub et le maintenir à jour.
« Aucun mot de passe n’est défini pour le mode unique » : Le mode unique est un mode de récupération et de maintenance dans lequel seul l’utilisateur root est actif. Par défaut, aucun mot de passe n’est défini pour ce mode.
« Impossible de trouver 2 serveurs de noms réactifs » : Lynis a essayé de communiquer avec deux serveurs DNS mais n’a pas réussi. Cela signifie qu’en cas de défaillance du serveur DNS actuel, il n’y aura pas de basculement automatique vers un autre.
« Une divulgation d’informations a été détectée dans la bannière SMTP » : Une divulgation d’informations se produit lorsqu’une application ou un équipement réseau divulgue sa marque, son numéro de modèle ou d’autres informations dans ses réponses par défaut. Ces informations peuvent servir aux acteurs malveillants ou aux programmes automatiques pour identifier des vulnérabilités. Une fois le logiciel ou l’appareil identifié, une simple recherche peut révéler les vulnérabilités qu’ils pourraient essayer d’exploiter.
« Modules iptables chargés, mais aucune règle active » : Le pare-feu Linux est actif, mais aucune règle n’y est configurée.

Résoudre les avertissements

Chaque avertissement est accompagné d’un lien vers une page Web décrivant le problème et la manière de le corriger. Pour ouvrir la page correspondante, maintenez la touche Ctrl enfoncée et cliquez sur le lien. Votre navigateur par défaut affichera la page concernée.

La page ci-dessous s’est ouverte lorsque nous avons fait Ctrl+clic sur le quatrième avertissement mentionné précédemment.

Vous pouvez examiner chaque élément et décider des avertissements à corriger.

La page Web ci-dessus explique que les informations par défaut (la « bannière ») envoyées à un système distant lorsqu’il se connecte au serveur de messagerie Postfix configuré sur notre ordinateur Ubuntu sont trop détaillées. Il n’y a aucun avantage à révéler trop d’informations. Elles sont même souvent utilisées contre vous.

La page Web indique également que la bannière se trouve dans « /etc/postfix/main.cf ». Elle nous conseille de la modifier afin qu’elle affiche seulement « $myhostname ESMTP ».

Nous utilisons la commande suivante pour modifier le fichier comme le recommande Lynis:

sudo gedit /etc/postfix/main.cf

Nous localisons la ligne dans le fichier qui définit la bannière.

Nous la modifions afin qu’elle contienne le texte recommandé par Lynis.

Nous enregistrons nos modifications et fermons gedit. Nous devons maintenant redémarrer le serveur de messagerie Postfix afin que les modifications soient prises en compte :

sudo systemctl restart postfix

Nous relançons maintenant Lynis pour vérifier si nos modifications ont eu un effet.

La section « Avertissements » n’en affiche plus que quatre. Celui concernant Postfix a disparu.

Un avertissement a été corrigé, il en reste donc quatre ainsi que 50 suggestions à examiner !

Jusqu’où aller ?

Si vous n’avez jamais renforcé la sécurité de votre système, vous aurez probablement un nombre similaire d’avertissements et de suggestions. Il est important de tous les examiner et de déterminer, en vous basant sur les pages Web de Lynis, si la correction est nécessaire.

La solution idéale, bien entendu, serait de tous les corriger. Mais c’est plus facile à dire qu’à faire. De plus, certaines suggestions peuvent être excessives pour un ordinateur personnel standard.

Faut-il mettre en liste noire les pilotes de noyau USB pour désactiver l’accès USB lorsque vous ne l’utilisez pas ? Pour un ordinateur critique gérant des données commerciales sensibles, cela pourrait être nécessaire. Mais pour un PC domestique Ubuntu ? Probablement pas.