Désactiver la prise en charge CAN
Garantit que le module noyau can n'est pas chargé et est mis en liste noire afin que le protocole de bus CAN inutilisé ne puisse être activé.
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.
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
CAN (Controller Area Network) est un protocole de bus automobile/industriel sans utilité sur un serveur généraliste. Son module noyau ajoute du code d'analyse de protocole à la surface d'attaque ; une faille pourrait y être exploitée pour une élévation de privilèges ou un déni de service. Désactiver ce module inutilisé supprime cette exposition.
Ce que vérifie Pavois
Pavois utilise kernel_module('can') pour vérifier que le module n'est pas chargé et qu'il est désactivé dans la politique modprobe effective. Interroger le noyau vivant plus la config modprobe résolue (au lieu d'un seul .conf) détecte un module en liste noire quelque part mais encore chargé, ou réactivé par un override.
describe kernel_module('can') do
it { should_not be_loaded }
it { should be_disabled }
endComment vérifier qu’elle est appliquée
Exécutez lsmod | grep '^can' (aucune sortie = non chargé) et modprobe -n -v can (attendu : install /bin/true ou /bin/false). modprobe --showconfig | grep can affiche les règles effectives.
Inspecter et investiguer
Les tentatives de chargement bloquées apparaissent dans le journal noyau : journalctl -k | grep -i can / dmesg | grep -i can. lsmod montre les modules résidents ; modprobe --showconfig montre la politique.
Remédiation
pavois harden apply utilise la ressource kernel_module pour mettre can en liste noire : il écrit une règle modprobe (install can /bin/false plus une entrée blacklist) afin que le module ne puisse se charger automatiquement, et le décharge s'il est résident. reboot_required est vrai pour garantir le retrait.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| action | blacklist |
|---|---|
| name | can |
| reboot_required | true |
| resource | kernel_module |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Sur un serveur standard, désactiver can n'a aucun impact fonctionnel. Précaution : les passerelles industrielles/automobiles/IoT communiquant avec un bus CAN perdraient cette capacité, confirmez qu'aucune interface can/vcan n'est configurée (ip link show type can) avant d'appliquer. Un redémarrage est nécessaire pour décharger un module déjà chargé.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 3.2.2 | direct | per OS, see the benchmark table | haute |
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.