← Toutes les règles
SOCLE-CLD-KRN-005// Kernel command lineélevéeruntime effectif

Configurer les mitigations de la faille L1 Terminal Fault

Garantit que le noyau a démarré avec l1tf=full,force, activant la mitigation la plus forte de L1 Terminal Fault, y compris le contrôle inconditionnel du SMT/hyper-threading.

Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.

Un PASS prouve✓ actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 1 norme

Pavois vérifie la configuration effective, l’état résolu et réellement appliqué, pas un fichier. Les scanners basés fichier (OVAL/SCAP, Lynis) ratent les Include, drop-ins et défauts runtime ; ce check voit ce qui est réellement en vigueur.

Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.

Pourquoi cette règle

L1TF (L1 Terminal Fault, alias Foreshadow) est une vulnérabilité d'exécution spéculative qui permet à un attaquant de lire toute mémoire physique mise en cache dans le cache de données L1, contournant les contrôles d'accès mémoire imposés par l'OS ou l'hyperviseur. Sur un hôte partagé ou une plateforme de virtualisation, cela permet le vol de secrets entre VM / entre invités. l1tf=full,force applique la mitigation complète et la force même lorsque le noyau la jugerait inutile, et désactive le partage SMT vulnérable, la configuration imposée par l'ANSSI BP-028 R8 pour les CPU Intel affectés.

Ce que vérifie Pavois

Pavois lit /proc/cmdline, la ligne avec laquelle le noyau en cours a démarré, et vérifie la présence de l1tf=full,force. C'est décisif par rapport à la lecture de /etc/default/grub : le fichier de config n'est qu'une intention pour le prochain démarrage, alors que /proc/cmdline prouve que la mitigation est active dans le noyau en cours. Recoupez l'état effectif avec /sys/devices/system/cpu/vulnerabilities/l1tf, qui rapporte la mitigation réellement appliquée.

describe command('cat /proc/cmdline') do
  its('stdout') { should match(/(^| )l1tf=full( |$)/) }
end
describe command("grep -hwsF 'l1tf=full' /etc/default/grub /etc/kernel/cmdline /boot/grub/grub.cfg /boot/grub2/grub.cfg /boot/efi/EFI/*/grub.cfg 2>/dev/null") do
  its('stdout') { should match(/\S/) }
end

Comment vérifier qu’elle est appliquée

Exécutez cat /proc/cmdline et confirmez la présence de l1tf=full,force, puis cat /sys/devices/system/cpu/vulnerabilities/l1tf doit indiquer la mitigation active (p. ex. Mitigation: PTE Inversion; VMX: cache flushes, SMT disabled). Le drapeau n'apparaît qu'après un redémarrage.

Inspecter et investiguer

La mitigation effective est rapportée par cat /sys/devices/system/cpu/vulnerabilities/l1tf. Les messages de mitigation/SMT du noyau apparaissent dans dmesg (dmesg | grep -i -e l1tf -e smt).

Remédiation

pavois harden apply utilise la ressource kernel_cmdline pour ajouter l1tf=full,force à la configuration du chargeur d'amorçage (GRUB) et la régénérer. Signalé reboot_required : la mitigation ne prend effet, et n'apparaît dans /proc/cmdline, qu'après le redémarrage suivant.

Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :

paraml1tf=full
reboot_requiredtrue
resourcekernel_cmdline
pavois harden plan local

où la cible est local, un alias SSH user@hôte, ou un conteneur , Docs

Impact & précautions

Compromis de performance important : full,force peut désactiver le SMT/hyper-threading, ce qui peut réduire le débit sur les charges limitées par le CPU et fortement virtualisées, anticipez la perte de capacité. Précautions : sur les CPU AMD (non affectés par L1TF), l'option est de fait sans effet ; sur les CPU Intel récents avec corrections matérielles, elle peut être inutile. Validez l'état réel via /sys/.../vulnerabilities/l1tf plutôt que de le supposer. Nécessite un redémarrage ; vérifiez que le chargeur d'amorçage s'est régénéré proprement pour éviter de démarrer une ligne de noyau imprévue.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R8direct2.0haute

Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.

Sources & références