Lynis - L’outil d’audit automatisé

26 May 2021 par Neuroble

Card image cap

 

Présentation de l’outil d’audit automatisé Lynis

Neuroble - Mai 2021

[TOC]

 

Introduction

Le risque cyber augmentant au fil des années, il est devenu de plus en plus important pour les entreprises de réduire ce risque. Cela passe par une Politique de Sécurité claire et définie ainsi que par un état des lieux du parc informatique d’une entreprise.
Plusieurs actions sont à mener et aujourd’hui nous allons nous intéresser aux audits de sécurité.
Un audit est une évaluation de l’état de sécurité d’une ou plusieurs machines constituant un Système d’Informations (SI). Ces audits peuvent être menés en interne ou bien en faisant appel à des prestataires. C’est un travail fastidieux qui nécessite rigueur et une connaissance approfondie des systèmes.
Afin de faciliter ce travail, certaines entreprises ont développé des outils permettant d’automatiser cette activité comme Nessus, OpenVAS, Lynis, ...
Cet article parlera donc de Lynis, un outil développé par la firme CISOFY afin d’auditer les systèmes UNIX uniquement. L’outil est présent par défaut dans la distribution Kali Linux.

 

Installation

L’outil est par défaut présent dans Kali Linux, mais peut également être installé comme paquet depuis les dépôts :

sudo apt install lynis

ou bien en clonant le dépôt Github :

git clone https://github.com/CISOfy/Lynis

Lien Github Lynis

 

Machines compatibles :

 

• AIX

• FreeBSD

• HP-UX

• Linux

• macOS

• NetBSD

• NixOS

• OpenBSD

• Solaris

• Et d’autres

 

Deux  modes d’utilisation

Deux versions existent, une version “self-hosted”, on installe l’outil sur une machine d’audit et on fait les tests à distance, ou on l’installe sur la machine qu’on veut auditer afin de perpétrer des tests plus en profondeur.
L’autre version est une versions Software As A Service “SaaS”, l’outil est hébergé sur une plateforme de l’éditeur, pour un coût de 3$ par machine à auditer

 

 

Fonctionnalités & Plugins

Fonctionnalités

  • Audit system :

    • Permet un scan en profondeur de la machine sur laquelle s’exécute Lynis. On peut  choisir plusieurs niveaux de scan en fonction des privilèges de l’utilisateur qui lance  l’outil.

  • Audit system remote :

    • Comme le précédent mais sur une machine distante

  • Audit docker :

    • Si la machine hôte dispose d’un serveur docker, Lynis est capable d’effectuer un  audit des dockers afin d’y rechercher d’éventuels mauvaises configurations.

Il existe aussi différentes options permettant d’adapter l’outil aux situations


  • Pentest :

    • Convient à un utilisateur non privilégié afin de trouver de potentiels points  d’entrée sur la machine qui pourraient être exploités par un attaquant.

  • Forensic :

    • Permet de mener un audit de type forensic sur une machine qui tourne ou  via un point de montage. Dans l’état actuel, je n’ai pas pu essayer cette  fonctionnalité afin de savoir si en cas d’attaque l’outil n’irait pas perturber le  travail d’une équipe forensic en effectuant des modifications sur le système.

    •  

Plugins

Afin de compléter les capacités de cet outil, la firme propose certains plugins en community edition ou en entreprise edition. Certains plugins se concentrent sur la cryptographie, sur le système de fichiers, la  gestion des comptes, … par exemple. La liste totale des plugins disponible se trouve à l’adresse suivante : Lien plugins Lynis

La commande :

lynis -h

affiche l’aide de l’outil

 

La commande :

lynis show settings

Permet d’afficher les options de l’outil pour le personnaliser encore plus.
Deux fonctionnalités semblent vraiment intéressantes :

  • Configuration d’un serveur de collecte de logs, pratique pour récuperer les logs de plusieurs machines et de les comparer
  • Automatisation des tests via des crontabs

 

Les tests

Pour lancer un test on utilise la commande suivante :

lynis audit system --quick

 

On adapte en fonction du type de tests à effectuer et des plugins que l’on souhaite utiliser.
Lorsque l’outil a effectué ses tests, il délivre un rapport assez complet comprenant des recommandations de sécurité tenant compte de l’état du système actuel.
Pour l’exemple j’ai déployer une VM Kali basique sans configuration et j’ai obtenu un score d’hardening de 57% ce qui est peu, et environ 240 tests ont été effectués par l’outil sans plugins supplémentaires. Le rapport sorti par l’outil faisait environ 30 pages.

 

Conclusions

A mon sens Lynis est un outil intéressant pour des petites structures voulant mettre en place des tests réguliers au sein de son SI. Mais il ne remplacera pas interprétation humaine que peut fournir une équipe d’auditeur. Il est donc à utiliser en complément d’audits menés par des professionnels, tout en respectant les règles d’hygiène numérique.