Der System Security Services Daemon (SSSD) bietet Zugriff auf entfernte Identitäts- und Authentifizierungsanbieter. Anbieter werden als Back-Ends konfiguriert, wobei SSSD als Vermittler zwischen lokalen Clients und allen konfigurierten Back-End-Anbietern fungiert. Die lokalen Clients verbinden sich mit SSSD und dann kontaktiert SSSD die Anbieter. Zu den Vorteilen von SSSD gehören:
- Reduzierte Belastung :Clients müssen die Identifizierungs-/Authentifizierungsserver nicht direkt kontaktieren; sie müssen nur SSSD kontaktieren.
- Offline-Authentifizierung :SSSD kann optional Benutzeridentitäten und Anmeldeinformationen zwischenspeichern, sodass sich Benutzer offline authentifizieren können.
- Einzelbenutzerkonten :SSSD verwaltet Netzwerkanmeldeinformationen, sodass Benutzer eine Verbindung zu Netzwerkressourcen herstellen können, indem sie sich mit ihrem lokalen Benutzernamen auf ihrem lokalen Computer authentifizieren.
SSSD installieren
Installieren Sie die folgenden SSSD-Pakete:
# yum install sssd sssd-client
Geben Sie eine der folgenden Eingaben ein, damit SSSD beim Systemstart gestartet wird:
# systemctl enable sssd # authconfig --enablesssd --update
SSSD-Dienste konfigurieren
Die Hauptkonfigurationsdatei für SSSD ist /etc/sssd/sssd.conf . SSSD-Dienste und Domänen werden in separaten Abschnitten dieser Datei konfiguriert, die jeweils mit einem Namen des Abschnitts in eckigen Klammern beginnen. Im Folgenden finden Sie Beispiele:
[sssd] [nss] [pam]
[sssd]-Abschnitt
Die SSSD-Funktionalität wird von spezialisierten Diensten bereitgestellt, die zusammen mit SSSD ausgeführt werden. Diese spezialisierten Dienste werden von einem speziellen Dienst namens „Monitor“ gestartet und neu gestartet. Überwachungsoptionen und Identitätsdomänen werden im Abschnitt [sssd] von /etc/sssd/sssd.conf konfiguriert. Das Folgende ist ein Beispiel:
[sssd] domains = LDAP services = nss, pam
Die domains-Direktive kann mehrere Domains definieren. Geben Sie sie in der Reihenfolge ein, in der sie abgefragt werden sollen. Die services-Direktive listet die Dienste auf, die gestartet werden, wenn sssd selbst startet.
Dienstleistungsbereiche
Jeder der spezialisierten Dienste, die zusammen mit SSSD ausgeführt werden, wird in separaten Abschnitten in /etc/sssd/sssd.conf konfiguriert. Beispielsweise wird der Abschnitt [nss] verwendet, um den Dienst Name Service Switch (NSS) zu konfigurieren. Der Abschnitt [pam] wird verwendet, um den PAM-Dienst zu konfigurieren.
1. Konfigurieren des NSS-Dienstes
Das sssd-Paket enthält ein NSS-Modul, sssd_nss, das das System anweist, SSSD zum Abrufen von Benutzerinformationen zu verwenden. Dies wird im Abschnitt [nss] von /etc/sssd/sssd.conf konfiguriert. Das Folgende ist ein Beispiel, das nur eine unvollständige Liste konfigurierbarer Anweisungen enthält:
[nss] filter_groups = root filter_users = root reconnection_retries = 3 entry_cache_timeout = 300
Die Direktiven filter_users und filter_groups weisen SSSD an, bestimmte Benutzer und Gruppen vom Abrufen aus der NSS-Datenbank auszuschließen. Die Direktive reconnection_retries gibt an, wie oft versucht wird, die Verbindung im Falle eines Absturzes des Datenanbieters wiederherzustellen. Die Direktive enum_cache_timeout gibt in Sekunden an, wie lange sssd_nss Anfragen über alle Benutzer zwischenspeichert.
2. Konfigurieren des PAM-Dienstes
Das sssd-Paket enthält auch ein PAM-Modul, sssd_pam, das im Abschnitt [pam] von /etc/sssd/sssd.conf konfiguriert wird. Das Folgende ist ein Beispiel, das nur eine unvollständige Liste konfigurierbarer Anweisungen enthält:
[pam] reconnection_retries = 3 offline_credentials_expiration = 2 offline_failed_login_attempts = 3 offline_failed_login_delay = 5
– Der offline_credentials_expiration Direktive gibt in Tagen an, wie lange zwischengespeicherte Anmeldungen zugelassen werden, wenn der Authentifizierungsanbieter offline ist.
– Die offline_failed_login_attempts Direktive gibt an, wie viele fehlgeschlagene Anmeldeversuche zulässig sind, wenn der Authentifizierungsanbieter offline ist.
Um die PAM-Konfiguration so zu aktualisieren, dass alle SSSD-Module referenziert werden, verwenden Sie den Befehl authconfig wie folgt, um SSSD für die Systemauthentifizierung zu aktivieren:
# authconfig --update --enablesssd --enablesssdauth
Dieser Befehl generiert automatisch die PAM-Konfigurationsdatei, um die erforderlichen pam_sss.so-Einträge einzuschließen.
SSSD-Domänen konfigurieren
SSSD-Domänen sind eine Kombination aus einem Identitätsanbieter und einer Authentifizierungsmethode. SSSD funktioniert mit LDAP-Identitätsanbietern (einschließlich OpenLDAP, Red Hat Directory Server und Microsoft Active Directory) und kann native LDAP-Authentifizierung oder Kerberos-Authentifizierung verwenden. Beim Konfigurieren einer Domäne definieren Sie, wo die Benutzerinformationen gespeichert werden und wie diese Benutzer sich gegenüber dem System authentifizieren dürfen.
Ähnlich wie SSSD-Dienste werden auch SSSD-Domänen in separaten Abschnitten der Datei /etc/sssd/sssd.conf konfiguriert. Die Dienste und Domänen werden im Abschnitt [sssd] identifiziert. Beispiel:
[sssd] domains = LDAP services = nss, pam
Dieses Beispiel gibt eine LDAP-Domäne an. Der Domänenabschnitt der Konfiguration würde mit dem folgenden Header beginnen:
[domain/LDAP]
Der Domänenkonfigurationsabschnitt würde dann den Identitätsanbieter, den Authentifizierungsanbieter und jede spezifische Konfiguration angeben, um auf die Informationen in diesen Anbietern zuzugreifen.
Das Folgende ist ein Beispiel für einen Domänenabschnitt:
[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
Identitätsanbieter
Der id_provider gibt das Identitäts-Back-End des Datenanbieters an, das für diese Domäne verwendet werden soll. Unterstützte Backends sind:
- Proxy :Unterstützt einen Legacy-NSS-Anbieter
- lokal :SSSD-interner lokaler Anbieter
- ldap :LDAP-Anbieter
– Die ldap_uri Direktive gibt eine durch Kommas getrennte Liste der URIs (Universal Resource Identifiers) der LDAP-Server in der Reihenfolge ihrer Präferenz an, mit denen sich SSSD verbindet.
– Die ldap_search_base Direktive gibt den Basis-DN an, der zum Ausführen von LDAP-Benutzeroperationen verwendet werden soll.
Authentifizierungsanbieter
Die Direktive auth_provider gibt den für die Domäne verwendeten Authentifizierungsanbieter an. Wenn nicht angegeben, wird der id_provider verwendet. Unterstützte Authentifizierungsanbieter sind:
- ldap :Native LDAP-Authentifizierung
- krb5 :Kerberos-Authentifizierung
- Proxy :Leitet die Authentifizierung an ein anderes PAM-Ziel weiter
- keine :Deaktiviert die Authentifizierung explizit
– Der krb5_server Direktive gibt eine durch Kommas getrennte Liste von Kerberos-Servern in der Reihenfolge ihrer Präferenz an, mit denen sich SSSD verbindet.
– Der krb5_realm -Direktive gibt den Kerberos-Realm zur Verwendung für die Simple Authentication and Security Layer (SASL)/Generic Security Services API (GSS-API)-Authentifizierung an. Die Konfiguration von SASL-Verbindungen mithilfe der GSS-API ist erforderlich, bevor SSSD Kerberos verwenden kann, um eine Verbindung zum LDAP-Server herzustellen.
– Die letzten beiden Anweisungen, min_id und max_id , sind Beispiele für globale Attribute, die für jeden Domänentyp verfügbar sind. Andere Attribute umfassen Cache- und Timeout-Einstellungen. Diese beiden Anweisungen geben UID- und GID-Grenzwerte für die Domäne an. Enthält eine Domain einen Eintrag, der außerhalb dieser Grenzen liegt, wird dieser ignoriert.
Starten oder starten Sie den sssd-Dienst neu, nachdem Sie Konfigurationsänderungen an Domänen oder Diensten vorgenommen haben:
# systemctl start sssd