SSSD : Configuration d'un client LDAP

De Adadov.net wiki
Révision datée du 26 mars 2015 à 02:26 par Adadov (discussion | contributions) ((by SublimeText.Mediawiker))
Ecrit Par : Adadov

SSSD ou System Security Services Daemon est un service qui permet l'accès a différents fournisseurs d'identification et d'authentification. Il est possible de configurer SSSD pour utiliser un domaine native LDAP (C'est un domaine LDAP qui fournit authentification et identification). On peut aussi utiliser un LDAP avec authentification Kerberos mais aussi d'autres sources en utilisant des modules.

SSSD permet aussi l'authentification hors ligne, cette fonctionnalité permet d'éviter les doubles comptes dans le cas de machines qui ne sont pas toujours connectées au réseau de l'entreprise et/ou qui ne peuvent pas utiliser de VPN pour accéder aux serveurs d'authentification.

Pour le moment la partie qui nous intéresse est l'accès a un domaine native LDAP.

Installation

L'installation se fait directement via YUM.

[root@linux] # yum install sssd sssd-ldapdblclick to copy
[root@linux] # systemctl enable sssd.service

Nous avons donc maintenant tout le nécessaire installé et activé.

Configuration de NSS

Afin de pouvoir récupérer les listes d'utilisateurs depuis notre serveur LDAP, nous allons configurer NSS pour qu'il utilise SSSD.
Pour ça il faut éditer le fichier /etc/nsswitch.conf .

<file> passwd: files sss group: files sss </file>

Configuration de l'authentification

Pour configurer le système afin qu'il utilise SSSD pour l'authentification, il est possible de le faire de deux façons différentes.

Utiliser l'utilitaire authconfig

[root@linux] # authconfig --enablesssd --enablesssdauth --enablelocauthorize --updatedblclick to copy

Editer les fichiers de configuration de PAM manuellement

Section à venir

Désactiver le cache NSCD

Si NSCD est installé il est fortement conseillé de désactiver le cache pour les mots de passe, SSSD n'est pas prévu pour fonctionner avec.

Pour le faire simplement :

[root@linux] # sed -i.0 's/\(enable-cache.*passwd.*\)yes/\1no/' /etc/nscd.confdblclick to copy
[root@linux] # systemctl restart nscd.service


Configurer SSSD

Pour la configuration de SSSD on retrouve vite ses marques, elle se rapproche fortement de la configuration de n'importe quel client LDAP.

<file> [domain/default]

autofs_provider = ldap id_provider = ldap auth_provider = ldap chpass_provider = ldap sudo_provider = none selinux_provider = none

ldap_uri = ldap://srv.exemple.loc/ # Adresse du serveur LDAP ldap_search_base = dc=exemple,dc=loc?sub?(objectclass=posixAccount) # Base et filtre de recherche ldap_default_bind_dn = uid=auth,ou=special_users,dc=exemple,dc=loc # DN de connexion pour l'énumération ldap_default_authtok = secret # Password du DN de connexion ldap_default_authtok_type = password # A définir sur password

ldap_id_use_start_tls = False # Pas de connexion TLS

enumerate = True # wik Active l'énumération des comptes de la source

cache_credentials = True # Active la mise en cache des comptes utilisateurs case_sensitive = True offline_credentials_expiration = 3 # Les comptes seront gardés en cache 3 jours après la dernière connexion au LDAP create_homedir = True # Demande la création des homeDirectory s'ils n'existent pas

[sssd] account_cache_expiration = 2 # Le cache des comptes expire après 2 jours services = nss, pam, autofs config_file_version = 2 domains = default

[nss] homedir_substring = /home filter_users = root,ldap,named,avahi,haldaemon,dbus,radiusd,news,nscd # Liste des utilisateurs à ne pas

                                                                      # récupérer depuis les sources

filter_users_in_groups = True # Ne pas afficher les utilisateurs filtrés </file>