← Toutes les règles
SOCLE-RUN-SVC-021// systemd servicesmoyenneruntime effectif

Activer le service pcscd

Garantit que le service pcscd.service (démon de cartes à puce PC/SC) est activé au démarrage et en cours d'exécution, afin que l'authentification par carte à puce et token matériel fonctionne.

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 démon de cartes à puce PC/SC (pcscd) est l'intergiciel qui permet au système de dialoguer avec les lecteurs de cartes à puce et les tokens matériels (CAC/PIV, YubiKey PIV, etc.). Lorsque ce démon est arrêté ou désactivé, l'authentification multifacteur adossée à un dispositif physique échoue silencieusement, le lecteur est invisible pour PAM/sssd, et les connexions retombent sur le mot de passe seul ou échouent complètement. Le garder activé est un prérequis pour la MFA matérielle, qui maintient les identifiants hors de l'hôte : même un système entièrement compromis ne peut extraire la clé privée détenue sur la carte.

Ce que vérifie Pavois

Pavois lit l'état effectif de pcscd.service depuis systemd via service('pcscd.service'), en vérifiant à la fois enabled (démarrera au boot) et running (actif maintenant). Contrairement à la vérification de l'installation du paquet pcsc-lite, cela détecte un démon installé mais masqué, planté, ou activé par socket sans jamais avoir été déclenché, précisément les modes de défaillance qui cassent silencieusement la connexion par carte à puce.

only_if { command('authselect current 2>/dev/null | grep -q with-smartcard').exit_status == 0 }
describe service('pcscd.service') do
  it { should be_enabled }
  it { should be_running }
end

Comment vérifier qu’elle est appliquée

Exécutez systemctl is-enabled pcscd.service et systemctl is-active pcscd.service ; attendez enabled et active. Confirmez qu'un lecteur est détecté avec pcsc_scan ou opensc-tool --list-readers.

Inspecter et investiguer

Consultez journalctl -u pcscd.service pour le démarrage du démon et les événements de branchement à chaud des lecteurs. systemctl show pcscd.service -p ActiveState -p UnitFileState expose l'état que Pavois vérifie. Les échecs PAM/connexion liés aux cartes à puce apparaissent dans /var/log/secure (RHEL).

Remédiation

Le plan de durcissement de Pavois agit sur la ressource service nommée pcscd avec les actions enable puis start : il configure l'unité pour démarrer au boot et la lance immédiatement. Appliqué avec pavois harden apply.

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

command# pcscd is the smartcard daemon: it is only relevant with a reader and smartcard auth. # authselect select sssd with-smartcard then: systemctl enable --now pcscd
reasonthe smartcard stack needs hardware and an auth profile: starting the daemon alone proves nothing
resourcemanual
pavois harden plan local

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

Impact & précautions

Activer pcscd est peu risqué : cela n'active que l'intergiciel et n'impose pas en soi la connexion par carte à puce. Le vrai risque est l'inverse, si cette règle fait partie d'une politique qui exige aussi les cartes à puce pour la connexion SSH/console, assurez-vous qu'un lecteur fonctionnel et une carte enrôlée sont présents avant de la rendre obligatoire, sous peine de verrouiller les administrateurs. Avant d'appliquer dans un contexte MFA imposé : vérifiez qu'un accès de secours (console, compte break-glass) existe. Sur un hôte sans lecteur de carte et sans projet d'en utiliser, ce contrôle peut simplement rester un avis non applicable.

Sources & références