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

N'utiliser que des MAC robustes

Désactive les codes d'authentification de message SSH (MACs) faibles, les variantes MD5, RIPEMD-160, à 96 bits et UMAC à 64 bits, afin de ne conserver que des MAC robustes à pleine longueur.

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é →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 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

Les algorithmes MAC MD5 et à 96 bits sont considérés comme faibles et il a été démontré qu'ils accroissent l'exploitabilité lors d'attaques de déclassement (downgrade) SSH. Ils restent un point faible connu, d'autant plus exploitable à mesure que la puissance de calcul augmente. Un attaquant cassant le MAC depuis une position d'homme du milieu peut altérer ou déchiffrer le tunnel SSH et capturer identifiants et informations. Leur retrait impose des MAC SHA-2 à pleine longueur.

Ce que vérifie Pavois

Pavois exécute sshd -T et compare la ligne macs effective, qui commence par l'exclusion - des algorithmes faibles MD5/96 bits/UMAC-64. sshd -T montre la configuration résolue du démon, après tous les Include, blocs Match et drop-ins, de sorte qu'un MAC faible réactivé en aval 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' et vérifiez qu'aucun de hmac-md5, hmac-md5-96, hmac-ripemd160, hmac-sha1-96 ou umac-64@openssh.com (ni leurs variantes -etm) n'apparaît dans la liste résolue. La ligne effective doit commencer par macs -hmac-md5,hmac-md5-96,....

Inspecter et investiguer

Les événements de négociation SSH sont journalisés dans /var/log/auth.log (ou journalctl -u ssh). Un client ne proposant que des MAC faibles est rejeté avec no matching MAC found, ce qui fait apparaître les clients hérités avant l'application.

Remédiation

Cette règle n'a pas encore de plan de durcissement automatisé dans Pavois ; elle doit donc être appliquée manuellement : ajoutez MACs -hmac-md5,hmac-md5-96,hmac-ripemd160,hmac-sha1-96,umac-64@openssh.com,hmac-md5-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,umac-64-etm@openssh.com dans un drop-in sous /etc/ssh/sshd_config.d/, validez avec sshd -t, puis rechargez avec systemctl reload ssh.

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

Exclure les MAC faibles peut casser de très anciens clients SSH, des équipements embarqués ou des automatisations ne parlant que MD5/96 bits. Avant d'appliquer, inventoriez vos clients (OpenSSH récent privilégie déjà les MAC SHA-2 ETM) et gardez une seconde session ou console ouverte. Validez avec sshd -t avant le rechargement, puis ouvrez une nouvelle session SSH dans un autre terminal pour confirmer l'accès avant de fermer la session d'origine, afin d'éviter tout verrouillage.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS5.1.15directper OS, see the benchmark tablehaute
NISTAC-17 (2)support800-53 Rev 5 · 800-171 Rev 2 (pinned)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.

Sources & références