← retour aux outils back to tools

# 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