Morpheus
Audit de sécurité / Posture Linux

Audit Lynis

Audit de sécurité système avec Lynis et arch-audit: score, warnings, suggestions, exceptions justifiées, priorisation et limites sur Arch Linux.

Lynis arch-audit hardening exceptions validation
Audit Lynis comme boucle de validation
Lynis donne une lecture de posture; les décisions restent contextualisées par le hardening réel, SecOps et FIM.
01

Mesurer

Lancer Lynis et arch-audit pour obtenir score, warnings, suggestions et CVEs visibles.

02

Comprendre

Lire chaque finding dans le contexte Arch desktop, pas comme une vérité serveur générique.

03

Prioriser

Corriger les points qui réduisent réellement la surface d'attaque avant les suggestions cosmétiques.

04

Documenter

Conserver les exceptions justifiées pour que l'audit reste reproductible et défendable.

Contexte

Le problème réel.

Un score d'audit seul ne suffit pas. Il faut comprendre les recommandations, trier les faux positifs, prioriser les actions et documenter les exceptions acceptées.

Objectifs

Ce que la solution devait garantir.

  • Évaluer la posture globale sans publier le rapport complet.
  • Mettre en relation Lynis avec hardening kernel, nftables, AppArmor, Firejail, auditd et FIM.
  • Expliquer les warnings courants et les suggestions volontairement non retenues.
  • Utiliser arch-audit pour compléter la lecture CVE propre à Arch Linux.
Architecture publique

Structure documentée, détails exploitables retirés.

Exemples anonymisés

Ce qui peut être montré sans exposer le système réel.

Lecture du score

Le score sert de tendance, pas d'objectif absolu.

Indice hardening     70/100
Tests effectués      250+
Contexte             desktop durci

interprétation:
  90-100  cible serveur de production
  75-89   très bon
  60-74   bon desktop sécurisé
  45-59   posture de base
  0-44    posture faible

Warnings contextualisés

Les warnings courants sont traités par diagnostic, pas par automatisme.

KRNL-5830   reboot may be required
PKGS-7322   vulnerable packages found
KRNL-6000   sysctl differs from Lynis profile

chemin de décision:
  vérifier l'état courant
  vérifier le contexte Arch
  comparer avec le hardening local
  corriger, différer ou documenter l'exception

Exceptions justifiées

Certaines suggestions serveur sont volontairement non retenues pour un poste desktop/dev.

suggestion                 décision
séparer /home ou /var      exception: compromis desktop
bannière légale            exception: poste personnel
expiration mot de passe    exception: contexte d'usage
restreindre les compilateurs exception: workflow de développement
hardening PHP              non applicable si PHP absent
Runbook public

Commandes et états attendus issus de la documentation privée.

Les commandes ci-dessous sont volontairement anonymisées: chemins, noms de machines, interfaces, dépôts, périphériques et actions destructrices sont remplacés par des placeholders.

Documentation privée: lynis-audit

Lancer l'audit

Commandes anonymisées

lynis show version
lynis audit system --quick --no-colors
rg 'hardening_index|tests_performed' <lynis-report>
arch-audit

État attendu

la version de Lynis est documentée
l'audit se termine sans être traité comme une vérité automatique
la tendance de hardening est interprétée pour un contexte desktop
les CVE Arch sont revues séparément
les warnings sont classés avant action
Documentation privée: lynis-audit

Analyser warnings et suggestions

Commandes anonymisées

rg 'warning|suggestion' <lynis-log>
lynis show settings
sysctl -a | rg 'kernel\.|net\.|fs\.'
<decision-log-update>

État attendu

le warning de reboot noyau est vérifié contre l'état réel
les différences sysctl peuvent être volontaires
des partitions séparées peuvent être acceptées comme exception desktop
la bannière légale peut être non applicable
chaque exception possède une justification
Documentation privée: lynis-audit + hardening-systeme

Contrôles complémentaires

Commandes anonymisées

nft list ruleset | rg 'policy'
aa-status | head -n 10
find <audited-scope> <group-or-world-writable-query> -printf '<mode> <owner>:<group> <path>\n'
<secops-status-script>

État attendu

le firewall est présent et deny-by-default
AppArmor est actif
les constats de permissions sont vérifiés manuellement
SecOps et FIM complètent Lynis
l'amélioration du score reste secondaire à la réduction du risque
Documentation privée: lynis-audit

Rapports et comparaison

Commandes anonymisées

cat <lynis-log>
cat <lynis-report>
rg 'hardening_index' <lynis-report>
rg 'warning|suggestion' <lynis-log>
compare <old-lynis-report> <new-lynis-report>

État attendu

la tendance du score est comparée dans le temps
les nouveaux warnings sont revus
les warnings résolus sont tracés
les rapports HTML ou exportés restent privés sauf assainissement
l'automatisation mensuelle reste optionnelle et dépend du contexte
Travail réalisé

Décisions techniques publiables.

Score

Un hardening index autour de 70/100 est traité comme bon niveau desktop, pas comme plafond définitif.

Warnings

Reboot requis, CVEs Arch et différences sysctl sont analysés avant action.

Exceptions

Partitionnement séparé, bannière légale, password aging, restriction compilateurs et PHP hardening peuvent être non retenus selon contexte.

Améliorations

LUKS, blacklist protocoles, auditd, FIM et process accounting sont classés par priorité et impact.

Fait maintenant

arch-audit confirme les advisories visibles sur Arch rolling; une synchronisation pacman peut déjà être à jour sans faire disparaître PKGS-7322.

Après redémarrage

Relancer Lynis, comparer uname -r au noyau installé et vérifier si KRNL-5830 persiste; dans ce cas, documenter l'avertissement plutôt que prétendre à une remédiation.

Justification

KRNL-6000 peut rester comme exception documentée si un sysctl différent sert la virtualisation ou la cohérence du poste.

Validation

Preuves et contrôles retenus.

Preuves visuelles

Contrôles observables et portée de la preuve.

Résultats publics

Ce que le chantier démontre.

Anonymisation

Ce qui reste privé.

  • Pas de rapport Lynis complet.
  • Pas de liste exhaustive des services, fichiers, paquets vulnérables ou chemins machine.
  • Pas de commandes destructrices de chiffrement ou repartitionnement copiables telles quelles.
  • Les CVEs, warnings et suggestions sont agrégés par catégorie.
Sources privées

Documentation d'origine.

  • Guide Audit Lynis.
  • Hardening système.
  • Hardening Kernel.
  • Auditd & SecOps.

Supplément de documentation privée anonymisé

Audit de sécurité système avec Lynis

Guide public pour auditer la posture de sécurité d'un poste Arch Linux avec Lynis, compléter avec arch-audit, puis interpréter les résultats sans chercher à optimiser aveuglément le score.

Qu'est-ce que Lynis ?

Lynis est un outil d'audit open-source pour Unix/Linux. Il évalue la posture globale via des tests système, un hardening index et des suggestions de durcissement.

OutilTypeUsage
LynisAudit systèmePosture globale
arch-auditCVE scannerVulnérabilités Arch Linux
auditdMonitoring kernelÉvénements système
pacman/FIMFile integrityModifications fichiers

Objectif de l'audit

  • Identifier les faiblesses potentielles.
  • Vérifier les mécanismes de hardening en place.
  • Prioriser les actions de sécurisation.
  • Documenter l'état réel du système.
  • Valider les configurations sans publier le rapport complet.

Contexte

  • Système: Arch Linux rolling release.
  • Usage: poste personnel sécurisé / lab.
  • Audit: root ou mode privilégié contrôlé.
  • Interprétation: desktop durci, pas serveur multi-tenant.

Installation

pacman -S lynis
lynis show version
pacman -S arch-audit

Lancer l'audit

lynis audit system
lynis audit system --quick
lynis audit system --quick --no-colors
cat <LYNIS_LOG>
cat <LYNIS_REPORT>

Les warnings sont normaux, même sur un système sécurisé. L'important est de comprendre leur contexte.

Comprendre les résultats

ScoreNiveauLecture
90-100ExcellentServeur production très durci.
75-89Très bienSystème sécurisé.
60-74BienDesktop sécurisé.
45-59MoyenProtections de base.
0-44FaibleNombreuses faiblesses.
Hardening index : 70 / 100
Tests performed : 250+

Un score autour de 70 est une bonne posture pour un desktop durci. Les recommandations restantes sont souvent orientées serveur.

Points forts identifiés

  • Firewall nftables actif avec stratégie deny-by-default.
  • Hardening kernel au boot et au runtime.
  • AppArmor actif et profils enforce/complain suivis.
  • Sandbox applicative via Firejail.
  • Permissions critiques et sticky bit contrôlés.
  • Réseau durci: anti-spoofing, redirects désactivés, SYN cookies.

Warnings communs

CodeSensTraitement
KRNL-5830Reboot probablement requis.Comparer noyau courant et noyau installé.
PKGS-7322Paquets vulnérables détectés.Contrôler avec arch-audit et contexte Arch.
KRNL-6000Différences sysctl.Vérifier si les écarts sont volontaires.
uname -r
arch-audit
arch-audit -u
lynis show settings
sysctl -a | rg 'kernel\.|net\.|fs\.'

Suggestions non retenues

SuggestionJustification publique
Partitionnement séparéComplexité inutile pour ce desktop personnel.
Bannière légaleHors contexte personnel.
Expiration mots de passeRotation non nécessaire dans ce contexte.
Restriction compilateursIncompatible avec usage développement.
PHP hardeningNon applicable si PHP absent.

Améliorations recommandées

  • Haute priorité: chiffrement LUKS et blacklist des protocoles réseau inutiles.
  • Priorité moyenne: auditd, pacman/FIM, intégrité système ciblée.
  • Priorité basse: process accounting et bannières SSH si service activé.
Commandes destructrices retirées

Les commandes réelles de chiffrement, formatage ou repartitionnement ne sont pas publiées comme recette exécutable. Elles restent dans les runbooks privés.

Analyse des rapports

cat <LYNIS_LOG>
cat <LYNIS_REPORT>
rg 'warning' <LYNIS_LOG>
rg 'suggestion' <LYNIS_LOG>
rg 'hardening_index' <LYNIS_REPORT>
rg 'Result: NOT FOUND|WARNING' <LYNIS_LOG>

Les rapports HTML ou exports complets restent privés sauf version expurgée.

Automatisation des audits

Un audit mensuel peut être utile, mais il doit produire une tendance et non déclencher des corrections automatiques.

<LYNIS_MONTHLY_AUDIT_SCRIPT>
<LYNIS_REPORT_DIR>/lynis-<DATE>.log
compare <OLD_REPORT> <NEW_REPORT>

État de sécurité final

  • Noyau durci: boot + sysctl.
  • Surface d'attaque réduite: services minimaux, firewall actif.
  • Contrôle d'accès: AppArmor.
  • Isolation applicative: Firejail.
  • Réseau sécurisé: anti-spoofing, ICMP contrôlé, SYN cookies.
  • Permissions maîtrisées.

Limitations de Lynis

  • Arch rolling release peut afficher des CVEs non exploitables ou déjà en cours de correction.
  • Lynis est générique et souvent orienté serveur.
  • Lynis n'est pas un IDS/IPS et ne fournit pas de détection temps réel.
  • SecOps, auditd et FIM complètent la posture entre deux audits.

Commandes de référence rapide

lynis audit system
lynis audit system --quick
lynis audit system --quiet
lynis show tests
cat <LYNIS_LOG>
rg 'hardening_index' <LYNIS_REPORT>
rg 'warning|suggestion' <LYNIS_LOG>
arch-audit
arch-audit -u
arch-audit -f json