Kokiris et la sécurité : épisode 2

Posté le 22 Jan, 2026

Replay de l’épisode 1 : Kokiris et la sécurité de vos serveurs

Partie 1 : Audit de conformité et tests de durcissement

Pourquoi auditer le durcissement de vos serveurs ?

Un serveur “durci” n’est réellement sécurisé que si ses configurations sont régulièrement validées. Les mises à jour système, les interventions manuelles ou les changements de configuration peuvent créer des régressions de sécurité silencieuses.

L’approche présentée ici combine cinq outils d’audit complémentaires pour obtenir une vision exhaustive de l’état de sécurité d’un système Debian.

Les cinq piliers de l’audit

1. Tests BATS : validation fine des configurations

BATS (Bash Automated Testing System) permet d’exécuter plus de 40 fichiers de tests couvrant les domaines critiques :

Durcissement SSH

  • Désactivation des algorithmes cryptographiques obsolètes (3DES, AES-CBC, Arcfour, Blowfish)
  • Suppression des MACs faibles (HMAC-MD5, HMAC-SHA1, UMAC)
  • Enforcement des échanges de clés modernes (Curve25519, ECDH)
  • Validation des paramètres serveur : PermitRootLogin no, PermitEmptyPasswords no, X11Forwarding no

Politique de mots de passe

  • Longueur minimale : 15 caractères
  • Complexité : 3-4 classes de caractères requises
  • Algorithme de hachage : SHA512 (65536 rounds) ou yescrypt
  • Historique des mots de passe (éviter la réutilisation)
  • Verrouillage de compte après échecs via pam_faillock

Durcissement du noyau (sysctl)

kernel.randomize_va_space = 2      # ASLR complet
kernel.kptr_restrict = 2           # Masquage des pointeurs kernel
kernel.dmesg_restrict = 1          # Restriction des logs kernel
kernel.modules_disabled = 1        # Empêche le chargement de modules
kernel.yama.ptrace_scope = 2       # Restriction du traçage de processus
fs.protected_symlinks = 1          # Protection contre les attaques par symlinks
fs.protected_hardlinks = 1         # Protection contre les attaques par hardlinks

Configuration d’audit (auditd)

  • Surveillance des fichiers critiques (/etc/passwd, /etc/shadow, /etc/sudoers)
  • Journalisation des appels système sensibles
  • Monitoring des binaires d’audit eux-mêmes

Sécurité du système de fichiers

  • Options de montage restrictives : nodev, nosuid, noexec sur /tmp
  • Désactivation des systèmes de fichiers obsolètes (floppy, cramfs, freevxfs)
  • Contrôle des binaires SUID/SGID

2. Lynis : score de durcissement global

Lynis fournit un indice de durcissement (hardening index) permettant de suivre l’évolution de la posture de sécurité dans le temps. Cet outil analyse :

  • La configuration des services
  • Les permissions des fichiers
  • Les paramètres réseau
  • L’état des mises à jour
  • La présence de malwares

3. Debsecan : inventaire des vulnérabilités

Debsecan interroge la base de données des vulnérabilités Debian pour identifier :

  • Les CVE affectant les paquets installés
  • Les vulnérabilités corrigeables (fix disponible)
  • Le nombre total de paquets vulnérables

4. OpenSCAP : conformité aux référentiels

OpenSCAP évalue la conformité par rapport à des profils de sécurité standardisés :

Profil Description
Standard Baseline Debian par défaut
ANSSI BP28 Minimal Référentiel français niveau minimal
ANSSI BP28 Intermédiaire Référentiel français niveau intermédiaire
ANSSI BP28 Élevé Référentiel français niveau strict

Les rapports HTML générés indiquent clairement les règles passées et échouées.

5. OVAL : définitions de vulnérabilités XML

OVAL (Open Vulnerability and Assessment Language) complète l’analyse avec des définitions standardisées de vulnérabilités spécifiques à chaque version de Debian.

Résultats obtenus

L’exécution de ces tests génère un ensemble de rapports dans un répertoire centralisé :

├── bats-output.log
├── bats-summary.csv
├── lynis-report.txt
├── debsecan-full.txt
├── debsecan-fixed.txt
├── oscap-anssi-high-report.html
├── oscap-standard-report.html
├── oval-bookworm-report.html
└── summary.txt

Le fichier summary.txt agrège les métriques clés :

  • Pourcentage de tests BATS réussis
  • Score Lynis
  • Nombre de CVE corrigeables
  • Résultats par profil OpenSCAP

Partie 2 : Surveillance continue des vulnérabilités

Limites de l’audit ponctuel

Les audits ponctuels présentent un défaut majeur : ils capturent un instant T. Entre deux audits, de nouvelles CVE sont publiées quotidiennement, rendant potentiellement vulnérables des paquets considérés comme sûrs.

Solution : un exporteur Prometheus pour debsecan

L’intégration de debsecan avec Prometheus permet une surveillance temps réel des vulnérabilités.

Intégration Grafana

Un dashboard Grafana pré-configuré permet de visualiser :

  • L’évolution du nombre de CVE dans le temps
  • Les seuils d’alerte colorés :
    • Vert : 0 CVE
    • Orange : 5+ CVE
    • Rouge : 15+ CVE
  • Le détail par paquet et par CVE
  • L’historique des corrections appliquées

Exemple en image :

Dashboard

Gestion des exceptions (whitelist)

Certaines CVE peuvent être acceptées temporairement (faux positifs, risque mitigé par d’autres contrôles). Le mécanisme de whitelist permet de les exclure du comptage :

debsecan_cve_whitelist:
  - CVE-2024-12345  # Mitigé par le WAF
  - CVE-2024-67890  # Non applicable (fonctionnalité désactivée)

Conclusion

La sécurité d’une infrastructure Kokiris repose sur deux piliers indissociables :

  1. La validation du durcissement via des tests exhaustifs couvrant SSH, les mots de passe, le kernel, l’audit et le système de fichiers
  2. La surveillance continue des vulnérabilités avec intégration aux outils d’observabilité

Ces deux approches, utilisées conjointement, permettent de maintenir une posture de sécurité proactive plutôt que réactive, en détectant les problèmes avant qu’ils ne soient exploités.

Auteur : Kévin D.