Désactiver l'authentification basée sur l'hôte
Garantit que HostbasedAuthentication SSH est réglé sur no afin que les clients ne puissent s'authentifier uniquement sur la base de l'identité de leur hôte.
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 basée sur l'hôte établit des relations de confiance entre machines, permettant à un utilisateur d'un hôte de confiance de se connecter sans identifiants par utilisateur. Ainsi, compromettre un hôte permet à un attaquant de se déplacer trivialement vers chaque hôte qui lui fait confiance, transformant une seule brèche en mouvement latéral sur tout le parc. La désactiver force une authentification réelle par utilisateur (clés, mots de passe) à chaque connexion.
Ce que vérifie Pavois
Pavois exécute sshd -T et vérifie la ligne effective hostbasedauthentication no. sshd -T affiche la configuration en vigueur entièrement résolue, y compris les blocs Match, les fichiers Include et les drop-ins de /etc/ssh/sshd_config.d/, donc Pavois rapporte ce que sshd applique réellement, et non ce qu'une seule ligne de sshd_config pourrait dire alors qu'un drop-in la surcharge.
describe command('sshd -T 2>/dev/null | grep -qiE \'^hostbasedauthentication no\' && echo ok || echo ko') do
its('stdout.strip') { should eq 'ok' }
endComment vérifier qu’elle est appliquée
Exécutez sshd -T | grep -i hostbasedauthentication. La sortie attendue est hostbasedauthentication no.
Inspecter et investiguer
Les tentatives et résultats d'authentification SSH sont journalisés dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (RHEL), et via journalctl -u ssh / journalctl -u sshd. La directive effective est confirmée avec sshd -T | grep -i hostbased.
Remédiation
Aucun plan de durcissement automatisé n'est fourni ; appliquez-la manuellement. Ajoutez HostbasedAuthentication no dans un drop-in tel que /etc/ssh/sshd_config.d/60-hardening.conf (c'est aussi la valeur par défaut de sshd), validez avec sshd -t, puis rechargez avec systemctl reload ssh (ou sshd).
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| directive | HostbasedAuthentication |
|---|---|
| notify | action: reload, service: ssh.service |
| resource | sshd_setting |
| value | no |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Régler ceci sur no est la valeur par défaut de sshd et n'est presque jamais perturbateur, l'auth basée sur l'hôte est rarement utilisée. Les seuls systèmes concernés sont ceux qui s'appuient délibérément sur la confiance ~/.shosts//etc/ssh/shosts.equiv (certains clusters HPC ou installations legacy de type rsh). Si vous exploitez un tel environnement, confirmez qu'une voie de connexion alternative (par clé) fonctionne avant de la désactiver. Lancez toujours sshd -t avant de recharger pour éviter de casser le service SSH sur un hôte distant.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 5.1.10, 8.3.1, 5.1.12 | direct | per OS, see the benchmark table | haute |
| NIST | 3.1.12, AC-17(a), AC-3, CM-6(a), CM-7(a), CM-7(b) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
| PCI DSS | 8.3.1 | support | 4.0.1 | moyenne |
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.