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