Aller au contenu

SSSD

À quoi il sert

SSSD (System Security Services Daemon) relie une machine Linux à un annuaire central. Il interroge l'annuaire (LDAP, Active Directory, FreeIPA, Kerberos), met les réponses en cache, et se branche à la fois sur NSS (libnss-sss, pour que id, getent passwd et ls -l connaissent les comptes de l'annuaire) et sur PAM (libpam-sss, pam_sss.so, pour l'authentification et le contrôle d'accès). Il se compose d'un moniteur, de répondeurs (sssd_nss, sssd_pam, sssd_ssh) et d'un fournisseur par domaine (sssd_be). La configuration est dans /etc/sssd/sssd.conf ; sssctl vérifie la configuration et inspecte les comptes, sss_cache invalide le cache.

Quand le choisir

Dès que les comptes des personnes doivent être gérés en un seul endroit : arrivées et départs appliqués à tout le parc, groupes communs, clés SSH publiées dans l'annuaire. Pour Active Directory ou FreeIPA, l'outil realm (paquet realmd) automatise l'inscription de la machine et génère la configuration de SSSD. Pour l'accès SSH seul, des certificats SSH à courte durée de vie sont une alternative moderne, sans démon sur chaque serveur.

Points d'attention

  • sssd.conf doit appartenir à root avec des droits restreints (chmod 600), sinon SSSD refuse de démarrer ; sudo sssctl config-check vérifie syntaxe et droits.
  • Le canal vers l'annuaire doit être chiffré et authentifié : ldaps:// ou StartTLS, avec ldap_tls_reqcert = demand. Un faux annuaire pourrait sinon créer des comptes ou valider n'importe quel mot de passe.
  • Interrogez l'annuaire avec un compte de service dédié en lecture seule, jamais avec un compte d'administration de l'annuaire.
  • cache_credentials = true permet de se connecter quand l'annuaire est injoignable, mais stocke les empreintes des mots de passe sur la machine : limitez sa durée avec offline_credentials_expiration.
  • Le cache explique qu'un compte désactivé puisse encore entrer un moment : désactivez dans l'annuaire et invalidez le cache (sss_cache -E) sur les machines sensibles.
  • Restreignez qui peut se connecter (access_provider = simple et ses listes de groupes, ou les règles HBAC de FreeIPA) : avec un fournisseur LDAP, le contrôle d'accès par défaut (permit) laisse entrer tout compte de l'annuaire.
  • Gardez un compte local d'administration et un accès console : une panne d'annuaire ou de SSSD ne doit pas vous enfermer dehors.

Par où commencer

La leçon Authentification : PAM, NSS et annuaires du cours Linux : administration système, qui explique les piles PAM et NSS puis relie un serveur à un annuaire LDAP avec SSSD. Puis la documentation officielle et les pages de manuel sssd.conf(5), sssd-ldap(5) et sssctl(8).