← Toutes les règles
SOCLE-CLD-KRN-008// Kernel command linemoyenneruntime effectif

Désactiver la prise en charge USB du noyau via la configuration du bootloader

Désactive la prise en charge USB du noyau via un paramètre du bootloader afin que l'hôte rejette totalement les périphériques USB, destiné aux systèmes spécialisés à fonction figée.

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é →
FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0

Pourquoi cette règle

Le sous-système USB est une surface d'attaque physique courante : un périphérique USB malveillant peut se faire passer pour un clavier (BadUSB), exploiter un pilote de classe bogué ou exfiltrer des données dès son branchement. Désactiver la prise en charge USB au niveau du démarrage noyau supprime entièrement cette surface, ce qui n'est réaliste que sur des systèmes spécialisés à fonction figée (bornes, appliances, hôtes isolés) sans besoin légitime de périphériques USB.

Ce que vérifie Pavois

Pavois lit la ligne de commande noyau active depuis /proc/cmdline plutôt que /etc/default/grub, reflétant ainsi ce que le noyau en cours a réellement appliqué, une modification GRUB jamais régénérée ne tromperait pas la vérification. La ligne de boot active est la source faisant autorité pour tout paramètre noyau régissant la disponibilité d'un module ou sous-système.

describe command('cat /proc/cmdline') do
  its('stdout') { should match(/(^| )nousb( |$)/) }
end
describe command("grep -hwsF 'nousb' /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

Lancez cat /proc/cmdline et confirmez la présence du jeton attendu désactivant l'USB sur la ligne de boot. Confirmez aussi qu'aucun périphérique USB n'est énuméré avec lsusb (vide ou en échec) et que le module usbcore n'est pas chargé via lsmod | grep usbcore.

Inspecter et investiguer

Le noyau journalise l'initialisation du sous-système USB (ou son absence) au démarrage, inspectez dmesg | grep -i usb ou journalctl -k | grep -i usb. Quand l'USB est désactivé, aucun message d'énumération usbcore/usb 1-1 n'apparaît.

Remédiation

Cette règle n'a aucun plan de durcissement automatisé : elle doit être appliquée manuellement, ajoutez le paramètre désactivant l'USB au bootloader (par ex. via /etc/default/grub puis grub2-mkconfig, ou blacklistez les modules usb_storage/usbcore) puis redémarrez. Pavois ne modifie pas l'USB automatiquement car le désactiver peut couper le seul périphérique d'entrée sur une machine physique.

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

paramnousb
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

Désactiver l'USB est très perturbateur sur du matériel physique : cela coupe claviers, souris, stockage USB, dongles KVM et supports de récupération. Précautions :

  • N'appliquez jamais sur une machine dont la seule console est un clavier USB, vous serez verrouillé dehors.
  • À réserver aux serveurs sans tête gérés en IPMI/série ou aux VM à entrée virtio.
  • Conservez un accès de récupération hors-bande (console série, console hyperviseur) pour annuler le paramètre de boot au besoin.
  • Nécessite un redémarrage pour prendre effet.

Sources & références