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 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 }
endComment 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 :
| mode | 0640 |
|---|---|
| path | /etc/sysconfig/sshd |
| resource | file |
pavois harden plan localoù 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
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 5.1.3 | direct | per OS, see the benchmark table | haute |
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.