← Toutes les règles
SOCLE-CLD-SSH-030// SSHmoyenneruntime effectif

N'utiliser que des MAC validés FIPS 140-2

Restreint le serveur SSH aux codes d'authentification de message (MACs) validés FIPS 140-2 reposant sur SHA-2 : hmac-sha2-512-etm@openssh.com, hmac-sha2-256-etm@openssh.com, hmac-sha2-512, hmac-sha2-256.

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é →
Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 2 normes

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

Des fonctions de hachage cryptographique approuvées par FIPS doivent être employées pour protéger l'intégrité de la session SSH. Les seuls algorithmes MAC SSHv2 satisfaisant cette exigence reposent sur SHA-2. Les MAC historiques (MD5, RIPEMD-160, troncatures à 96 bits) sont considérés comme cassés et peuvent être exploités lors d'attaques par déclassement (downgrade) et de l'homme du milieu pour altérer ou déchiffrer le tunnel SSH, et ainsi capturer identifiants et données de session. Pour un système devant fonctionner en mode FIPS, l'usage de MAC non validés constitue de plus une non-conformité directe.

Ce que vérifie Pavois

Pavois exécute sshd -T et compare la ligne macs effective à la liste SHA-2 validée. sshd -T affiche la configuration réellement résolue par le démon, après tous les Include, blocs Match et drop-ins de /etc/ssh/sshd_config.d/, de sorte qu'un MAC faible réactivé par un drop-in oublié est détecté. Lire directement /etc/ssh/sshd_config manquerait ces inclusions et donnerait un faux négatif.

describe command('sshd -T') do
  its('stdout') { should match(/^macs\s+hmac\-sha2\-512\-etm@openssh\.com,hmac\-sha2\-256\-etm@openssh\.com,hmac\-sha2\-512,hmac\-sha2\-256$/i) }
end

Comment vérifier qu’elle est appliquée

Exécutez sshd -T | grep -i '^macs'. Sortie attendue :

macs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256

Aucun autre algorithme ne doit figurer dans la liste.

Inspecter et investiguer

Les événements de négociation et de connexion SSH sont journalisés dans /var/log/auth.log (ou journalctl -u ssh). Un client ne proposant que des MAC faibles est rejeté avec un message du type no matching MAC found, visible dans ces journaux et utile pour repérer les clients hérités avant de durcir la politique.

Remédiation

Le plan de durcissement de Pavois écrit la directive MACs (ressource sshd_setting) avec la valeur SHA-2 validée dans la configuration drop-in SSH puis recharge sshd. Appliquez-le avec pavois harden apply. La modification prend effet à la prochaine connexion ; les sessions existantes ne sont pas interrompues.

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

directiveMACs
notifyaction: reload, service: ssh.service
resourcesshd_setting
valuehmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256
verifysshd -t -f %{path}
pavois harden plan local

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

Impact & précautions

Le retrait des MAC hérités peut casser de très anciens clients SSH, des équipements embarqués ou des automatisations scriptées ne parlant que MD5/96 bits. Avant d'appliquer, inventoriez vos clients (OpenSSH récent privilégie déjà SHA-2) et conservez une seconde console ou un accès hors-bande ouvert. Appliquez la nouvelle ligne macs, puis ouvrez une nouvelle session SSH dans un autre terminal pour vérifier que l'authentification fonctionne toujours avant de fermer la session d'origine, cela évite tout verrouillage.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS5.1.15directper OS, see the benchmark tablehaute
DISA STIGUBTU-24-100830directper OS STIG releasehaute

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.

Sources & références