Lynis
Modifié par john le 2026/09/20 00:17
Audit de sécurité local, lancé chaque nuit sur les deux machines. Édition libre de Lynis, par CISOfy.
Installation
sudo apt install lynis
| Élément | Valeur |
|---|---|
| Version (paquet Debian) | 3.1.4 |
| Binaire | /usr/sbin/lynis (hors du PATH d'un utilisateur : lancer avec sudo) |
| Tests et greffons | /usr/share/lynis/ |
| Profil par défaut | /etc/lynis/default.prf |
| Profil personnalisé | /etc/lynis/custom.prf (prioritaire, non écrasé par les mises à jour) |
Version du projet, plus récente que celle de Debian, sans installation :
git clone https://github.com/CISOfy/lynis
cd lynis && sudo ./lynis audit system
cd lynis && sudo ./lynis audit system
Lancement automatique
Timer systemd fourni par le paquet, une fois par jour peu après minuit :
lynis.timer → lynis.service → /usr/sbin/lynis audit system --cronjob
systemctl list-timers lynis.timer
systemctl cat lynis.service
systemctl cat lynis.service
cronjob : sans couleurs, sans pauses, sans interaction.
Commandes
| Commande | Effet |
|---|---|
| lynis audit system | Audit complet de la machine |
| lynis audit system | Sans pause entre les sections |
| lynis audit system | Seulement les tests indiqués |
| lynis audit system | Seulement un groupe de tests |
| lynis audit system | Audit sans droits root (moins de tests) |
| lynis audit dockerfile <FICHIER> | Analyse d'un Dockerfile |
| lynis audit system remote <HOTE> | Affiche la marche à suivre pour auditer une autre machine |
| lynis show details <ID_TEST> | Explication et résultat d'un test |
| lynis show groups | Groupes de tests (ssh, kernel, firewalls, webservers…) |
| lynis show tests | Liste de tous les tests |
| lynis show profiles | Profils chargés |
| lynis show settings | Réglages en vigueur |
| lynis update info | Vérifier si une version plus récente existe |
Résultats
| Fichier | Contenu |
|---|---|
| /var/log/lynis-report.dat | Rapport au format clé=valeur |
| /var/log/lynis.log | Déroulé détaillé de chaque test |
Clés utiles du rapport :
| Clé | Contenu |
|---|---|
| hardening_index | Indice de durcissement, sur 100 |
| warning[] | Avertissements |
| suggestion[] | Suggestions de durcissement |
| vulnerable_packages_found | Paquets avec des vulnérabilités connues (1 si oui) |
| firewall_active | Pare-feu détecté (1 si oui) |
| lynis_version | Version utilisée |
| report_datetime_start, report_datetime_end | Début et fin de l'audit |
Format d'un avertissement ou d'une suggestion : ID_TEST|message|détail|solution|
sudo grep -E '^(hardening_index|report_datetime_end)=' /var/log/lynis-report.dat
sudo grep '^warning\[\]=' /var/log/lynis-report.dat | cut -d'=' -f2
sudo grep '^suggestion\[\]=' /var/log/lynis-report.dat | cut -d'=' -f2
sudo grep '^warning\[\]=' /var/log/lynis-report.dat | cut -d'=' -f2
sudo grep '^suggestion\[\]=' /var/log/lynis-report.dat | cut -d'=' -f2
Indice de durcissement en septembre 2026 : 64 (serveur principal), 79 (Raspberry Pi).
Profil personnalisé
/etc/lynis/custom.prf (non utilisé ici) :
# Ignorer un test
skip-test=<ID_TEST>
# Ignorer un seul point d'un test
skip-test=SSH-7408:PermitRootLogin
# Rôle de la machine : server, workstation ou personal
machine-role=server
# Sans couleurs, sans pauses
colors=no
quick=yes
skip-test=<ID_TEST>
# Ignorer un seul point d'un test
skip-test=SSH-7408:PermitRootLogin
# Rôle de la machine : server, workstation ou personal
machine-role=server
# Sans couleurs, sans pauses
colors=no
quick=yes
Un test ignoré ne compte plus dans l'indice de durcissement.
Audit d'une autre machine
L'édition libre n'audite pas à distance : Lynis doit s'exécuter sur la machine cible.
scp -r lynis/ <UTILISATEUR>@<HOTE>:/tmp/
ssh <UTILISATEUR>@<HOTE> 'cd /tmp/lynis && sudo ./lynis audit system --quick'
scp <UTILISATEUR>@<HOTE>:/var/log/lynis-report.dat rapport-<HOTE>.dat
ssh <UTILISATEUR>@<HOTE> 'cd /tmp/lynis && sudo ./lynis audit system --quick'
scp <UTILISATEUR>@<HOTE>:/var/log/lynis-report.dat rapport-<HOTE>.dat
L'audit à distance centralisé fait partie de Lynis Enterprise.