Activer l'authentification par clé publique
Garantit que SSH accepte les connexions par clé en positionnant PubkeyAuthentication yes dans sshd.
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
L'authentification par clé publique est le socle d'un accès SSH robuste et résistant au phishing, et un prérequis pour les dispositifs à jeton matériel ou multi-facteurs (cartes à puce, clés de sécurité FIDO/U2F adossées à des certificats). Conserver PubkeyAuthentication yes permet d'abandonner les mots de passe réutilisables au profit d'identifiants cryptographiques qui ne peuvent être ni forcés par force brute ni rejoués. Le désactiver forcerait un repli sur l'authentification par mot de passe, plus faible, augmentant fortement la facilité d'accès non autorisé aux fonctions privilégiées.
Ce que vérifie Pavois
Pavois lit la valeur effective de pubkeyauthentication depuis sshd -T, la configuration résolue du démon. Un scan du fichier /etc/ssh/sshd_config pourrait rater la valeur si elle est définie dans un drop-in Include ou un bloc Match, sshd -T montre exactement ce que le démon en cours d'exécution applique.
describe command('sshd -T') do
its('stdout') { should match(/^pubkeyauthentication\s+yes$/i) }
endComment vérifier qu’elle est appliquée
Exécutez sudo sshd -T | grep -i pubkeyauthentication. La sortie attendue est pubkeyauthentication yes.
Inspecter et investiguer
Les authentifications par clé réussies et échouées sont consignées par sshd dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (famille RHEL) ; suivez avec journalctl -u ssh -f (ou -u sshd). Recherchez Accepted publickey for ... et l'empreinte de la clé présentée.
Remédiation
pavois harden apply définit la directive sshd_setting pubkeyauthentication sur yes dans un drop-in géré, la valide avec sshd -t -f %{path}, puis déclenche un reload du service ssh pour que les connexions par clé soient acceptées sans couper les sessions actives.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| directive | pubkeyauthentication |
|---|---|
| notify | action: reload, service: ssh.service |
| resource | sshd_setting |
| value | yes |
| verify | sshd -t -f %{path} |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Si l'authentification par clé est désactivée, le système se rabat sur les mots de passe, affaiblissant la sécurité d'accès et cassant toute automatisation ou administration reposant sur des clés. L'activer est sûr et additif, cela ne désactive pas les autres méthodes. Précaution : avant de désactiver ultérieurement l'authentification par mot de passe (étape de durcissement complémentaire), assurez-vous qu'au moins une clé autorisée fonctionnelle est en place pour un compte ayant accès, et gardez une console ou une seconde session ouverte, faute de quoi vous risquez de vous bloquer. Le reload préserve votre session SSH en cours.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| DISA STIG | UBTU-22-612020, UBTU-24-400030 | direct | per OS STIG release | 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.