SWL-Netzwerk (V): Debian Wheezy und ClearOS. SSSD-Authentifizierung gegen natives LDAP.

Hallo Freunde!. Bitte, ich wiederhole, vorher lesen «Einführung in ein Netzwerk mit freier Software (I): Präsentation von ClearOS»Laden Sie das ClearOS Step-by-Step-Installationsimages-Paket (1,1 Mega) herunter, um zu erfahren, wovon wir sprechen. Ohne diese Lektüre wird es schwierig sein, uns zu folgen.

Systemsicherheitsdienst-Daemon

das Programm SSSD o Daemon für den Systemsicherheitsdienstist ein Projekt von Fedora, geboren aus einem anderen Projekt - auch von Fedora - genannt KostenlosIPA. Nach eigenen Angaben wäre eine kurze und frei übersetzte Definition:

SSSD ist ein Dienst, der den Zugriff auf verschiedene Identitäts- und Authentifizierungsanbieter ermöglicht. Es kann für eine native LDAP-Domäne (LDAP-basierter Identitätsanbieter mit LDAP-Authentifizierung) oder für einen LDAP-Identitätsanbieter mit Kerberos-Authentifizierung konfiguriert werden. SSSD stellt die Schnittstelle zum System über bereit NSS y PAMund ein einfügbares Back-End, um eine Verbindung zu mehreren und unterschiedlichen Kontoursprüngen herzustellen.

Wir glauben, dass wir vor einer umfassenderen und robusteren Lösung für die Identifizierung und Authentifizierung registrierter Benutzer in einer OpenLDAP stehen als die in den vorhergehenden Artikeln angesprochenen, ein Aspekt, der im Ermessen aller und ihrer eigenen Erfahrungen liegt.

Die in diesem Artikel vorgeschlagene Lösung wird am meisten für mobile Computer und Laptops empfohlen, da wir damit getrennt arbeiten können, da die SSSD die Anmeldeinformationen auf dem lokalen Computer speichert.

Beispielnetzwerk

  • Domänencontroller, DNS, DHCP: ClearOS Enterprise 5.2sp1.
  • Controller-Name: CentOS
  • Domain Name: friends.cu
  • Controller IP: 10.10.10.60
  • ---------------
  • Debian-Version: Keuchend.
  • Teamname: Debian7
  • IP-Adresse: Verwenden von DHCP

Wir überprüfen, ob der LDAP-Server funktioniert

Wir ändern die Datei /etc/ldap/ldap.conf und installieren Sie das Paket ldap-utils:

: ~ # nano /etc/ldap/ldap.conf
[----] BASE dc = Freunde, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ # aptitude install ldap-utils: ~ $ ldapsearch -x -b 'dc = Freunde, dc = cu' '(Objektklasse = *)': ~ $ ldapsearch -x -b dc = Freunde, dc = cu 'uid = Schritte '
: ~ $ ldapsearch -x -b dc = Freunde, dc = cu 'uid = legolas' cn gidNumber

Mit den letzten beiden Befehlen überprüfen wir die Verfügbarkeit des OpenLDAP-Servers unseres ClearOS. Schauen wir uns die Ausgaben der vorherigen Befehle genauer an.

Wichtig: Wir haben außerdem überprüft, ob der Identifikationsdienst auf unserem OpenLDAP-Server ordnungsgemäß funktioniert.

network-swl-04-Benutzer

Wir installieren das sssd-Paket

Es wird auch empfohlen, das Paket zu installieren Finger Schecks trinkbarer zu machen als die ldapsearch:

: ~ # aptitude sssd finger installieren

Nach Abschluss der Installation wird der Service SSD startet wegen fehlender Datei nicht /etc/ssd/ssd.conf. Die Ausgabe der Installation spiegelt dies wider. Daher müssen wir diese Datei erstellen und mit dem belassen nächster Mindestinhalt:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD wird nicht gestartet, wenn Sie keine Domänen konfigurieren. # Fügen Sie neue Domänenkonfigurationen als [domain / ] Abschnitte und # fügen Sie dann die Liste der Domänen (in der Reihenfolge, in der sie # abgefragt werden sollen) zum Attribut "Domänen" unten hinzu und kommentieren Sie sie aus. Domains = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # LDAP-Domäne [domain / amigos.cu] id_provider = ldap
auth_provider = LDAP
chpass_provider = ldap # ldap_schema kann auf "rfc2307" gesetzt werden, in dem die Namen der Gruppenmitglieder im Attribut # "memberuid" gespeichert sind, oder auf "rfc2307bis", in dem die DNs der Gruppenmitglieder im Attribut # "member" gespeichert sind. Wenn Sie diesen Wert nicht kennen, wenden Sie sich an Ihren LDAP # -Administrator. # funktioniert mit ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = friends, dc = cu # Beachten Sie, dass das Aktivieren der Aufzählung einen moderaten Einfluss auf die Leistung hat. # Folglich ist der Standardwert für die Aufzählung FALSE. # Ausführliche Informationen finden Sie auf der Manpage sssd.conf. enumerate = false # Ermöglicht Offline-Anmeldungen durch lokales Speichern von Kennwort-Hashes (Standard: false). cache_credentials = true
ldap_tls_reqcert = erlauben
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Sobald die Datei erstellt wurde, weisen wir die entsprechenden Berechtigungen zu und starten den Dienst neu:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # service sssd restart

Wenn wir den Inhalt der vorherigen Datei anreichern möchten, empfehlen wir die Ausführung Mann sssd.conf und / oder konsultieren Sie die vorhandene Dokumentation im Internet, beginnend mit den Links am Anfang des Beitrags. Konsultieren Sie auch Mann sssd-ldap. Das Paket SSD enthält ein Beispiel in /usr/share/doc/sssd/examples/sssd-example.conf, mit dem Sie sich bei einem Microsoft Active Directory authentifizieren können.

Jetzt können wir die trinkbarsten Befehle verwenden Finger y getent:

: ~ $ Fingerschritte
Login: strides Name: Strides El Rey Verzeichnis: / home / strides Shell: / bin / bash Nie angemeldet. Keine Mail. Kein Plan.

: ~ $ sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas Der Elf: / home / legolas: / bin / bash

Wir können uns immer noch nicht als Benutzer des LDAP-Servers authentifizieren. Bevor wir die Datei ändern müssen /etc/pam.d/common-session, damit der Ordner des Benutzers automatisch erstellt wird, wenn Sie Ihre Sitzung starten, falls er nicht vorhanden ist, und dann das System neu starten:

[----]
Sitzung erforderlich pam_mkhomedir.so skel = / etc / skel / umask = 0022

### Die obige Zeile muss VORHER enthalten sein
# Hier sind die Pakete pro Paket (der "primäre" Block) [----]

Wir starten unser Wheezy neu:

: ~ # neu starten

Trennen Sie nach dem Anmelden das Netzwerk mithilfe des Verbindungsmanagers und melden Sie sich ab und wieder an. Schneller nichts. In einem Terminal ausführen ifconfig und sie werden sehen, dass die eth0 es ist überhaupt nicht konfiguriert.

Aktivieren Sie das Netzwerk. Bitte melden Sie sich ab und wieder an. Überprüfen Sie erneut mit ifconfig.

Um offline arbeiten zu können, müssen Sie sich mindestens einmal anmelden, während OpenLDAP online ist, damit die Anmeldeinformationen auf unserem Computer gespeichert werden.

Vergessen wir nicht, den in OpenLDAP registrierten externen Benutzer zu einem Mitglied der erforderlichen Gruppen zu machen und dabei immer auf den Benutzer zu achten, der während der Installation erstellt wurde.

Hinweis::

Option deklarieren ldap_tls_reqcert = nie, in der Datei /etc/ssd/ssd.confstellt ein Sicherheitsrisiko dar, wie auf der Seite angegeben SSSD - FAQ. Der Standardwert ist «Nachfrage«. Sehen Mann sssd-ldap. Allerdings im Kapitel 8.2.5 Domänen konfigurieren Aus der Fedora-Dokumentation geht Folgendes hervor:

SSSD unterstützt keine Authentifizierung über einen unverschlüsselten Kanal. Folglich, wenn Sie sich auch bei einem LDAP-Server authentifizieren möchten TLS/SSL or LDAPS erforderlich.

SSSD Die Authentifizierung über einen unverschlüsselten Kanal wird nicht unterstützt. Wenn Sie sich bei einem LDAP-Server authentifizieren möchten, ist dies erforderlich TLS / SLL o LDAP.

Wir persönlich denken dass die Lösung angesprochen Aus Sicherheitsgründen ist dies für ein Enterprise LAN ausreichend. Über das WWW Village empfehlen wir die Implementierung eines verschlüsselten Kanals mit TLS oder «Transportsicherheitsschicht »zwischen dem Client-Computer und dem Server.

Wir versuchen dies durch die korrekte Generierung von selbstsignierten Zertifikaten oder «zu erreichenSelbst signiert „Auf dem ClearOS-Server konnten wir das aber nicht. Es ist in der Tat ein anstehendes Problem. Wenn ein Leser weiß, wie es geht, können Sie es gerne erklären!

debian7.amigos.cu


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   eliotime3000 sagte

    Excellent.

    1.    federico sagte

      Grüße ElioTime3000 und danke für den Kommentar !!!

    2.    federico sagte

      Grüße eliotime3000 und danke für das Lob für den Artikel !!!

  2.   kuraya sagte

    Ausgezeichnet! Ich möchte dem Autor der Veröffentlichung ganz herzlich gratulieren, dass er sein umfangreiches Wissen geteilt hat, und dem Blog, dass er die Veröffentlichung erlaubt hat.

    Danke!

    1.    federico sagte

      Vielen Dank für Ihr Lob und Ihren Kommentar !!! Stärke, die Sie mir geben, um weiterhin Wissen mit der Gemeinschaft zu teilen, in der wir alle lernen.

  3.   Phenobarbital sagte

    Guter Artikel! Beachten Sie, dass Sie in Bezug auf die Verwendung von Zertifikaten beim Generieren des Zertifikats der ldap-Konfiguration hinzufügen müssen (cn = config):

    olcLocalSSF: 71
    olcTLSCACertificateFile: / path / to / ca / ​​cert
    olcTLSCertificateFile: / path / to / public / cert
    olcTLSCertificateKeyFile: / path / to / private / key
    olcTLSVerifyClient: versuchen Sie es
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Damit (und beim Generieren der Zertifikate) erhalten Sie SSL-Unterstützung.

    Viele Grüße!

    1.    federico sagte

      Danke für Ihren Beitrag !!! Ich veröffentliche jedoch 7 Artikel über OpenLDAP in:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      In ihnen betone ich die Verwendung von Start TLS vor SSL, die von openldap.org empfohlen wird. Grüße @phenobarbital, und vielen Dank für Ihre Kommentare.
      Meine Email-Adresse lautet federico@dch.ch.gob.cu, falls Sie mehr austauschen möchten. Der Zugang zum Internet ist für mich sehr langsam.

    2.    Phenobarbital sagte

      Für TLS ist die Konfiguration dieselbe, wobei zu berücksichtigen ist, dass mit SSL der Transport über einen verschlüsselten Kanal transparent gemacht wird, während in TLS eine bidirektionale Verschlüsselung für den Datentransport ausgehandelt wird. Mit TLS kann der Handshake über denselben Port (389) ausgehandelt werden, während mit SSL die Aushandlung über einen alternativen Port erfolgt.
      Ändern Sie Folgendes:
      olcLocalSSF: 128
      olcTLSVerifyClient: erlauben
      olcTLSCipherSuite: NORMAL
      (Wenn Sie in Bezug auf Sicherheit paranoid sind, verwenden Sie:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      und neu starten, werden Sie später sehen mit:
      GNUTLS-CLI-DEBG -P 636 LDAP.ipm.org.gt

      Auflösen von 'ldap.ipm.org.gt'…
      Überprüfung auf SSL 3.0-Unterstützung… ja
      Überprüfen, ob% COMPAT erforderlich ist… nein
      Überprüfung auf TLS 1.0-Unterstützung… ja
      Überprüfung auf TLS 1.1-Unterstützung… ja
      Überprüfen des Fallbacks von TLS 1.1 auf… N / A.
      Überprüfung auf TLS 1.2-Unterstützung… ja
      Überprüfung auf sichere Neuverhandlungsunterstützung… ja
      Überprüfung auf Unterstützung für sichere Neuverhandlungen (SCSV)… ja

      Mit welcher TLS-Unterstützung auch aktiviert ist, verwenden Sie 389 (oder 636) für TLS und 636 (ldaps) für SSL. Sie sind völlig unabhängig voneinander und Sie müssen nicht eine deaktiviert haben, um die andere zu verwenden.

      Viele Grüße!