lynis
Outil d'audit de sécurité pour les systèmes Linux/Unix. Effectue des vérifications approfondies de durcissement système, des audits de configuration et des tests de conformité, utile à la fois pour les défenseurs et les attaquants. Security auditing tool for Linux/Unix systems. Performs in-depth system hardening checks, configuration audits, and compliance testing — useful for both defenders and attackers.
↗ https://cisofy.com/lynis/Overview
lynis is a security auditing tool for Unix-based systems. It performs extensive checks on system configuration, installed software, security settings, and compliance. Used by system administrators for hardening and by penetration testers to quickly identify misconfigurations that could be exploited for privilege escalation.
Basic Usage
Full system audit
lynis audit system
Quick scan (skip some tests)
lynis audit system --quick
# Audit specific category
lynis audit system --test-from-group authentication
lynis audit system --test-from-group file_permissions
Show all tests (without running)
lynis show tests
Show categories
lynis show groups
Output and Reports
Default log file location
cat /var/log/lynis.log
Report file (machine-readable)
cat /var/log/lynis-report.dat
View suggestions
lynis audit system 2>/dev/null | grep "Suggestion"
View warnings (more critical)
lynis audit system 2>/dev/null | grep "Warning"
View hardening index score
lynis audit system 2>/dev/null | grep "Hardening index"
Specific Test Groups
# Available test groups:
# authentication, boot_services, containers, crypto, databases,
# file_permissions, filesystems, firewall, hardening, kernel,
# logging, mac_frameworks, malware, networking, php, printers,
# scheduling, security_frameworks, services, shells, software,
# storage, storage_nfs, usb, virtualization
Run only file permission checks
lynis audit system --test-from-group file_permissions
Run only authentication checks
lynis audit system --test-from-group authentication
Run only network checks
lynis audit system --test-from-group networking
Attacker Perspective
Run lynis as low-priv user to find issues
lynis audit system --pentest
# Key things to look for:
# - World-writable files/directories
# - SUID/SGID binaries
# - Sudo misconfigurations
# - Cron job issues
# - Weak file permissions on sensitive files
# - SSH misconfigurations
# - Outdated software with known CVEs
Grep for privilege escalation hints
lynis audit system 2>/dev/null | grep -E "SUID|SGID|writable|password|sudo"
Custom Tests and Plugins
# Create custom test
# Place in: /etc/lynis/custom.prf
# Example custom profile
cat > /etc/lynis/custom.prf << 'EOF'
# Skip certain tests
skip-test=KRNL-5830
skip-test=KRNL-5820
# Set specific options
config:max_password_age:90
EOF
Run with custom profile
lynis audit system -c /etc/lynis/custom.prf
Compliance Profiles
Run with compliance standard
lynis audit system --profile /etc/lynis/default.prf
# Available profiles:
# cis (CIS Benchmark)
# hipaa
# iso27001
# pci-dss
Tips
- Hardening index of 70+ is considered reasonable; below 60 needs attention
- Focus on “Warnings” first — these are more critical than “Suggestions”
- As an attacker, the SUID binary list and sudo findings are highest value
- lynis is non-destructive and can be run on production systems safely
Help / Man page
lynis [command] [options]
Commands:
audit system Perform system audit
show tests List all tests
show groups List test groups
update info Check for updates
update release Update lynis
Options:
--quick Quick scan (skip some tests)
--pentest Non-privileged scan mode
--profile FILE Use custom profile
--test-from-group GRP Only run specific test group
--no-log Don't write log file
--quiet Quiet (no output to screen)
--verbose More detailed output
-Q Skip questions/wait prompts
Vue d’ensemble
lynis est un outil d’audit de sécurité pour les systèmes Unix. Il effectue des vérifications étendues sur la configuration du système, les logiciels installés, les paramètres de sécurité et la conformité. Utilisé par les administrateurs système pour le durcissement et par les pentesters pour identifier rapidement des mauvaises configurations exploitables pour l’escalade de privilèges.
Utilisation de base
# Audit système complet
lynis audit system
# Scan rapide (ignore certains tests)
lynis audit system --quick
# Auditer une catégorie spécifique
lynis audit system --test-from-group authentication
lynis audit system --test-from-group file_permissions
# Afficher tous les tests (sans les exécuter)
lynis show tests
# Afficher les catégories
lynis show groups
Sortie et rapports
# Emplacement par défaut du fichier de log
cat /var/log/lynis.log
# Fichier de rapport (lisible par machine)
cat /var/log/lynis-report.dat
# Voir les suggestions
lynis audit system 2>/dev/null | grep "Suggestion"
# Voir les avertissements (plus critiques)
lynis audit system 2>/dev/null | grep "Warning"
# Voir le score de l'indice de durcissement
lynis audit system 2>/dev/null | grep "Hardening index"
Groupes de tests spécifiques
# Groupes de tests disponibles :
# authentication, boot_services, containers, crypto, databases,
# file_permissions, filesystems, firewall, hardening, kernel,
# logging, mac_frameworks, malware, networking, php, printers,
# scheduling, security_frameworks, services, shells, software,
# storage, storage_nfs, usb, virtualization
# Lancer uniquement les vérifications de permissions de fichiers
lynis audit system --test-from-group file_permissions
# Lancer uniquement les vérifications d'authentification
lynis audit system --test-from-group authentication
# Lancer uniquement les vérifications réseau
lynis audit system --test-from-group networking
Perspective attaquant
# Lancer lynis en tant qu'utilisateur peu privilégié pour trouver des problèmes
lynis audit system --pentest
# Éléments clés à rechercher :
# - Fichiers/dossiers accessibles en écriture par tous (world-writable)
# - Binaires SUID/SGID
# - Mauvaises configurations sudo
# - Problèmes de tâches cron
# - Permissions de fichiers faibles sur les fichiers sensibles
# - Mauvaises configurations SSH
# - Logiciels obsolètes avec des CVE connues
# Grep pour trouver des indices d'escalade de privilèges
lynis audit system 2>/dev/null | grep -E "SUID|SGID|writable|password|sudo"
Tests et plugins personnalisés
# Créer un test personnalisé
# À placer dans : /etc/lynis/custom.prf
# Exemple de profil personnalisé
cat > /etc/lynis/custom.prf << 'EOF'
# Ignorer certains tests
skip-test=KRNL-5830
skip-test=KRNL-5820
# Définir des options spécifiques
config:max_password_age:90
EOF
# Lancer avec le profil personnalisé
lynis audit system -c /etc/lynis/custom.prf
Profils de conformité
# Lancer avec un standard de conformité
lynis audit system --profile /etc/lynis/default.prf
# Profils disponibles :
# cis (CIS Benchmark)
# hipaa
# iso27001
# pci-dss
Conseils
- Un indice de durcissement de 70+ est considéré comme raisonnable ; en dessous de 60, une attention est nécessaire
- Se concentrer d’abord sur les “Warnings” : plus critiques que les “Suggestions”
- Du point de vue attaquant, la liste des binaires SUID et les résultats sudo sont les plus précieux
- lynis est non destructif et peut être lancé en toute sécurité sur des systèmes de production
Aide / Page de manuel
lynis [command] [options]
Commands:
audit system Perform system audit
show tests List all tests
show groups List test groups
update info Check for updates
update release Update lynis
Options:
--quick Quick scan (skip some tests)
--pentest Non-privileged scan mode
--profile FILE Use custom profile
--test-from-group GRP Only run specific test group
--no-log Don't write log file
--quiet Quiet (no output to screen)
--verbose More detailed output
-Q Skip questions/wait prompts