GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comprendre le démon des services de sécurité du système (SSSD)

Le démon des services de sécurité du système (SSSD) fournit un accès aux fournisseurs d'identité et d'authentification distants. Les fournisseurs sont configurés en tant que back-ends avec SSSD agissant comme intermédiaire entre les clients locaux et tout fournisseur back-end configuré. Les clients locaux se connectent à SSSD, puis SSSD contacte les fournisseurs. Les avantages de SSSD incluent :

  • Charge réduite :Les clients n'ont pas à contacter directement les serveurs d'identification/authentification; ils doivent contacter uniquement SSSD.
  • Authentification hors ligne  :SSSD peut éventuellement conserver un cache des identités et des informations d'identification des utilisateurs, permettant aux utilisateurs de s'authentifier hors ligne.
  • Comptes utilisateur unique  :SSSD conserve les informations d'identification du réseau, permettant aux utilisateurs de se connecter aux ressources du réseau en s'authentifiant avec leur nom d'utilisateur local sur leur ordinateur local.

Installer SSSD

Installez les packages SSSD suivants :

# yum install sssd sssd-client

Pour que SSSD démarre au démarrage du système, saisissez l'une des commandes suivantes :

# systemctl enable sssd
# authconfig --enablesssd --update

Configuration des services SSSD

Le fichier de configuration principal pour SSSD est /etc/sssd/sssd.conf . Les services et domaines SSSD sont configurés dans des sections distinctes de ce fichier, chacune commençant par un nom de section entre crochets. Voici des exemples :

[sssd]
[nss]
[pam]

Section [sssd]

La fonctionnalité SSSD est fournie par des services spécialisés qui fonctionnent avec SSSD. Ces services spécialisés sont démarrés et redémarrés par un service spécial appelé « moniteur ». Les options de moniteur et les domaines d'identité sont configurés dans la section [sssd] de /etc/sssd/sssd.conf. Voici un exemple :

[sssd]
domains = LDAP
services = nss, pam

La directive domains peut définir plusieurs domaines. Entrez-les dans l'ordre dans lequel vous souhaitez qu'elles soient interrogées. La directive services répertorie les services qui sont démarrés au démarrage de sssd lui-même.

Sections Services

Chacun des services spécialisés qui s'exécutent avec SSSD est configuré dans des sections distinctes dans /etc/sssd/sssd.conf. Par exemple, la section [nss] est utilisée pour configurer le service Name Service Switch (NSS). La section [pam] est utilisée pour configurer le service PAM.

1. Configuration du service NSS

Le package sssd comprend un module NSS, sssd_nss, qui demande au système d'utiliser SSSD pour récupérer les informations utilisateur. Ceci est configuré dans la section [nss] de /etc/sssd/sssd.conf. Voici un exemple qui n'inclut qu'une liste partielle de directives configurables :

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
entry_cache_timeout = 300

Les directives filter_users et filter_groups indiquent à SSSD d'exclure certains utilisateurs et groupes de la récupération de la base de données NSS. La directive reconnection_retries spécifie le nombre de tentatives de reconnexion en cas de panne du fournisseur de données. La directive enum_cache_timeout spécifie, en secondes, combien de temps sssd_nss met en cache les demandes d'informations sur tous les utilisateurs.

2. Configuration du service PAM

Le package sssd fournit également un module PAM, sssd_pam, qui est configuré dans la section [pam] de /etc/sssd/sssd.conf. Voici un exemple qui n'inclut qu'une liste partielle de directives configurables :

[pam]
reconnection_retries = 3
offline_credentials_expiration = 2
offline_failed_login_attempts = 3
offline_failed_login_delay = 5

– Le offline_credentials_expiration spécifie, en jours, combien de temps autoriser les connexions mises en cache si le fournisseur d'authentification est hors ligne.
– Les offline_failed_login_attempts spécifie combien de tentatives de connexion infructueuses sont autorisées si le fournisseur d'authentification est hors ligne.

Pour mettre à jour la configuration PAM afin de référencer tous les modules SSSD, utilisez la commande authconfig comme suit pour activer SSSD pour l'authentification système :

# authconfig --update --enablesssd --enablesssdauth

Cette commande génère automatiquement le fichier de configuration PAM pour inclure les entrées pam_sss.so nécessaires.

Configuration des domaines SSSD

Les domaines SSSD sont une combinaison d'un fournisseur d'identité et d'une méthode d'authentification. SSSD fonctionne avec les fournisseurs d'identité LDAP (notamment OpenLDAP, Red Hat Directory Server et Microsoft Active Directory) et peut utiliser l'authentification LDAP native ou l'authentification Kerberos. Lors de la configuration d'un domaine, vous définissez à la fois où les informations utilisateur sont stockées et comment ces utilisateurs sont autorisés à s'authentifier auprès du système.

Semblables aux services SSSD, les domaines SSSD sont également configurés dans des sections distinctes du fichier /etc/sssd/sssd.conf. Les services et les domaines sont identifiés dans la section [sssd]. Exemple :

[sssd]
domains = LDAP
services = nss, pam

Cet exemple spécifie un domaine LDAP. La section domaine de la configuration commencerait par l'en-tête suivant :

[domain/LDAP]

La section de configuration du domaine spécifierait alors le fournisseur d'identité, le fournisseur d'authentification et toute configuration spécifique pour accéder aux informations de ces fournisseurs.

Voici un exemple de section de domaine :

[domain/LDAP]
id_provider = ldap
ldap_uri = ldap://ldap.example.com
ldap_search_base = dc=example,dc=com
auth_provider = krb5
krb5_server = kerberos.example.com
krb5_realm = EXAMPLE.COM
min_id = 10000
max_id = 20000

Fournisseur d'identité

id_provider spécifie le back-end d'identité du fournisseur de données à utiliser pour ce domaine. Les back-ends pris en charge sont :

  • proxy  :Prend en charge un ancien fournisseur NSS
  • local :fournisseur local interne SSSD
  • ldap :Fournisseur LDAP

– Le ldap_uri donne une liste séparée par des virgules des URI (Universal Resource Identifiers) des serveurs LDAP, par ordre de préférence, auxquels SSSD se connecte.
– La ldap_search_base donne le DN de base à utiliser pour effectuer les opérations utilisateur LDAP.

Fournisseur d'authentification

La directive auth_provider spécifie le fournisseur d'authentification utilisé pour le domaine. S'il n'est pas spécifié, l'id_provider est utilisé. Les fournisseurs d'authentification pris en charge sont :

  • ldap :Authentification LDAP native
  • krb5 :Authentification Kerberos
  • proxy :Relai l'authentification vers une autre cible PAM
  • aucun  :Désactive explicitement l'authentification

– Le krb5_server donne une liste séparée par des virgules des serveurs Kerberos, par ordre de préférence, auxquels SSSD se connecte.
– Le krb5_realm donne le domaine Kerberos à utiliser pour l'authentification SASL (Simple Authentication and Security Layer)/API Generic Security Services (GSS-API). La configuration des connexions SASL à l'aide de GSS-API est requise avant que SSSD puisse utiliser Kerberos pour se connecter au serveur LDAP.
– Les deux dernières directives, min_id et max_id , sont des exemples d'attributs globaux disponibles pour tout type de domaine. Les autres attributs incluent les paramètres de cache et de délai d'attente. Ces deux directives spécifient les limites UID et GID pour le domaine. Si un domaine contient une entrée qui est en dehors de ces limites, elle est ignorée.

Démarrez ou redémarrez le service sssd après avoir apporté des modifications à la configuration des domaines ou des services :

# systemctl start sssd


Cent OS
  1. Comprendre les appels système sous Linux avec strace

  2. Comprendre le système de fichiers Btrfs dans Fedora Linux

  3. Comment pouvez-vous protéger votre ordinateur ?

  4. Équilibrer la sécurité Linux avec la convivialité

  5. Comprendre le démon DM-multipath (multipathd)

Comment vérifier tous les services en cours d'exécution sous Linux

Tout sur les démons sous Linux

Audit de sécurité avec Lynis

Comment répertorier les services sous Linux

SmarterMail et services de sécurité de messagerie tiers

Comprendre le fonctionnement d'un système de messagerie