← Toutes les règles
SOCLE-CLD-GEN-054// Hardening (misc)élevéeconfig persistante

Configurer le backend LDAP de SSSD pour utiliser TLS sur toutes les transactions

Définit ldap_id_use_start_tls = true dans SSSD afin que chaque requête LDAP (identité et authentification) soit encapsulée dans StartTLS et jamais envoyée en clair.

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é →
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

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

Lorsque SSSD interroge LDAP sur une connexion en clair, les noms d'utilisateur, les appartenances de groupe et, selon la méthode de bind, les identifiants transitent en clair sur le réseau, lisibles et modifiables par quiconque sur le chemin. Activer StartTLS sur les requêtes d'identité chiffre le canal et fournit une protection d'intégrité, empêchant l'écoute, le vol d'identifiants et l'altération des données d'annuaire qui pilotent les décisions d'authentification et d'autorisation.

Ce que vérifie Pavois

Le contrôle ne s'exécute que si /etc/sssd/sssd.conf existe, puis recherche dans l'arborescence /etc/sssd/ la directive ldap_id_use_start_tls = true. SSSD n'offrant pas de vidage d'exécution simple de ce réglage, la directive sur disque à travers tous les fragments de configuration est le reflet faisant autorité de ce que le démon charge, et Pavois lit toute l'arborescence, pas un seul fichier, afin de ne pas manquer les drop-ins.

only_if { file('/etc/sssd/sssd.conf').exist? }
describe command('grep -qriE \'^[[:space:]]*ldap_id_use_start_tls[[:space:]]*=[[:space:]]*true\' /etc/sssd/ 2>/dev/null && echo ok || echo ko') do
  its('stdout.strip') { should eq 'ok' }
end

Comment vérifier qu’elle est appliquée

Exécutez grep -riE 'ldap_id_use_start_tls\s*=\s*true' /etc/sssd/. La sortie attendue est une ligne correspondante ldap_id_use_start_tls = true. Remarque : cette directive s'applique aux URI ldap:// ; si ldap_uri utilise déjà ldaps://, le TLS est implicite et StartTLS n'est pas nécessaire.

Inspecter et investiguer

SSSD enregistre sa négociation TLS via journalctl -u sssd et, avec le débogage activé, dans /var/log/sssd/sssd_*.log. Une négociation StartTLS échouée (AC manquante, serveur sans TLS) y apparaît ; les événements d'authentification utilisateur arrivent aussi dans /var/log/secure (RHEL) ou /var/log/auth.log (Debian/Ubuntu).

Remédiation

Aucun plan de durcissement automatisé n'est défini ; cela doit donc être appliqué manuellement : dans la section [domain/...] de /etc/sssd/sssd.conf, définissez ldap_id_use_start_tls = true, assurez-vous que ldap_tls_cacert/ldap_tls_cacertdir est configuré et que ldap_tls_reqcert vaut demand, puis systemctl restart sssd.

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

command# If SSSD with LDAP is configured, enable StartTLS in /etc/sssd/sssd.conf: # ldap_id_use_start_tls = true # then: systemctl restart sssd
reasononly applies if SSSD/LDAP is in use, enable StartTLS in sssd.conf deliberately
resourcemanual
pavois harden plan local

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

Impact & précautions

Activer StartTLS exige que le serveur LDAP prenne en charge TLS sur son port ldap:// et que le client fasse confiance à l'AC du serveur ; si l'un manque, SSSD échouera au bind et l'authentification sera cassée pour tous les utilisateurs de l'annuaire. Avant d'appliquer, vérifiez que le serveur propose StartTLS et que l'AC est installée, conservez un compte administrateur local pour la récupération, et redémarrez SSSD dans une fenêtre de maintenance en surveillant journalctl -u sssd. Ce contrôle ne s'évalue que lorsque SSSD est réellement utilisé.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R67direct2.0haute
NISTCM-6(a), CM-7(a), CM-7(b)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