← Toutes les règles
SOCLE-CLD-FSP-152// File permissionsmoyenneconfig persistante

Vérifier les permissions du fichier /etc/sysconfig/sshd

Garantit que le fichier d'environnement RHEL /etc/sysconfig/sshd n'est ni modifiable ni exécutable par le groupe/les autres et non lisible par les autres, protégeant les options de démarrage du démon SSH.

Vérifié sur le contenu d’un fichier de configuration persistant, la source de vérité qui survit aux redémarrages.

Un PASS prouve? actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0
Un seul check, mappé sur 1 norme

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

Sur les systèmes de la famille RHEL, le fichier /etc/sysconfig/sshd contient des options d'environnement du démon SSH (par exemple des surcharges de crypto-policy) chargées au démarrage de sshd. Si un utilisateur non privilégié peut y écrire, il pourrait injecter des options affaiblissant la sécurité du démon ou en altérant le comportement ; s'il est lisible par tous, des réglages sensibles sont divulgués. Le fichier doit être en mode 0640 ou plus restrictif, appartenir à root, sans écriture/exécution pour le groupe ou les autres et sans lecture pour les autres.

Ce que vérifie Pavois

Pavois lit les métadonnées effectives de l'inode de /etc/sysconfig/sshd et vérifie l'absence de bits setuid/setgid/sticky, l'absence d'écriture/exécution pour le groupe et d'écriture/exécution/lecture pour les autres. Protégé par only_if { file('/etc/sysconfig/sshd').exist? }. Vérifier le mode réel (plutôt que de supposer le défaut du paquet) détecte toute dérive post-installation qui modifierait réellement le lancement de sshd.

only_if { file('/etc/sysconfig/sshd').exist? }
describe file('/etc/sysconfig/sshd') do
  it { should_not be_executable.by('owner') }
  it { should_not be_setuid }
  it { should_not be_executable.by('group') }
  it { should_not be_writable.by('group') }
  it { should_not be_setgid }
  it { should_not be_executable.by('other') }
  it { should_not be_writable.by('other') }
  it { should_not be_readable.by('other') }
  it { should_not be_sticky }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%a %U %G' /etc/sysconfig/sshd. La sortie attendue est 640 root root ou plus strict (par ex. 600) : aucun bit d'écriture pour le groupe/les autres, aucun bit de lecture pour les autres.

Inspecter et investiguer

stat /etc/sysconfig/sshd affiche le mode courant. Les modifications du fichier apparaissent dans /var/log/audit/audit.log si une surveillance est posée (cherchez name="/etc/sysconfig/sshd"). L'effet sur le démon est visible après redémarrage dans journalctl -u sshd.

Remédiation

Aucun plan de durcissement automatisé n'est défini pour cette règle, appliquez-la donc manuellement : chown root:root /etc/sysconfig/sshd puis chmod 0640 /etc/sysconfig/sshd.

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

mode0640
path/etc/sysconfig/sshd
resourcefile
pavois harden plan local

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

Impact & précautions

Si le fichier est modifiable par un non-root, cet utilisateur peut manipuler l'environnement de démarrage du démon SSH (par ex. assouplir la crypto-policy), compromettant la sécurité de l'accès distant. Précautions : resserrer les permissions de ce fichier ne change pas la connectivité SSH, le risque est donc faible ; conservez simplement le propriétaire root et n'imposez 0600 que si aucun outil de supervision non-root n'a besoin de le lire (cas rare).

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS5.1.3directper OS, see the benchmark tablehaute

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