← Toutes les règles
SOCLE-CLD-FSP-093// File ownershipmoyenneétat du système de fichiers

Vérifier le propriétaire du fichier de configuration du serveur SSH

Garantit que le fichier de configuration du serveur SSH /etc/ssh/sshd_config appartient à root (uid 0).

Vérifié sur les métadonnées d’un chemin, mode, propriétaire, groupe, SUID/SGID.

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 3 normes

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

/etc/ssh/sshd_config contrôle tous les aspects de sécurité du serveur SSH : méthodes d'authentification, connexion root, algorithmes de chiffrement, port et restrictions d'accès. Une mauvaise configuration ici mène directement à un hôte exploitable à distance. Si un utilisateur non-root possède le fichier, il peut l'éditer pour activer PermitRootLogin yes, affaiblir l'authentification ou ouvrir une porte dérobée, puis déclencher un rechargement de sshd, faisant passer un compte local à un accès root distant. Restreindre la propriété à root (uid 0) garantit que seul le superutilisateur peut modifier la politique du serveur SSH.

Ce que vérifie Pavois

Pavois vérifie que le fichier réel /etc/ssh/sshd_config a l'uid de propriétaire 0, ignoré via only_if s'il est absent. Il lit le propriétaire effectif depuis le système de fichiers (stat), de sorte qu'un chown manuel du fichier de politique SSH principal est détecté même en l'absence de tout enregistrement de gestion des changements. (Note : Pavois audite le comportement du serveur SSH via sshd -T dans d'autres règles ; cette règle de propriété protège l'intégrité du fichier que sshd -T reflète in fine.)

only_if { file('/etc/ssh/sshd_config').exist? }
describe file('/etc/ssh/sshd_config') do
  its('uid') { should eq 0 }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%U %u' /etc/ssh/sshd_config. Sortie attendue : root 0. ls -l /etc/ssh/sshd_config doit de même afficher root comme propriétaire.

Inspecter et investiguer

La propriété ne génère pas de journal continu ; interrogez-la avec stat /etc/ssh/sshd_config. Les événements du service SSH et les erreurs de chargement de configuration apparaissent dans /var/log/auth.log (Debian/Ubuntu) ou via journalctl -u ssh. sshd refusera de démarrer s'il juge la configuration non sûre, en journalisant la raison à cet endroit.

Remédiation

Aucun plan de durcissement automatisé n'est défini, appliquez-la donc manuellement : chown root:root /etc/ssh/sshd_config. Réinstaller openssh-server restaure également la bonne propriété.

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

ownerroot
path/etc/ssh/sshd_config
resourcefile
pavois harden plan local

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

Impact & précautions

Un propriétaire non-root de ce fichier peut réécrire la politique SSH et obtenir un accès root distant, l'une des escalades local-vers-distant les plus puissantes. Restaurer la propriété root est sans danger et ne coupe pas les sessions en cours. Précaution : après avoir corrigé la propriété, exécutez sshd -t pour confirmer que la configuration se parse toujours, n'assouplissez pas le mode du fichier (conservez 0600/0644 selon le référentiel), et gardez une seconde session SSH ou une console ouverte avant de recharger sshd en cas d'erreur.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R50direct2.0haute
CIS5.1.1, 5.1.2directper OS, see the benchmark tablehaute
NISTAC-17(a), AC-6(1), CM-6(a)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