UNIXwork

LDAP-Authentifizierung mit Solaris

2017-12-06 19:19:24.0

Dieser Artikel ist eine kurze Anleitung für die Einrichtung des LDAP-Clients unter Solaris. Der Artikel gilt sowohl für das aktuelle Solaris 11 als auch Solaris 10.

Netzwerk-Konfiguration (nur Solaris 11)

Solaris 11 hat für die Netzwerkkonfiguration zwei Profile (NCP): DefaultFixed und Automatic. Der LDAP-Client funktioniert jedoch nicht mit dem Automatic-NCP, daher muss zwingend DefaultFixed verwendet werden. Zumindestens wenn Solaris über die Live-CD installiert wurde ist standardmäßig das Automatic-NPC aktiv. Dies muss dann geändert werden.

netadm enable -p ncp defaultfixed

Danach muss noch das Netzwerk manuell konfiguriert werden. Wer einfach DHCP verwenden will kann dies folgendermaßen tun:

ipadm create-ip net0
ipadm create-addr -T dhcp net0/v4

DNS geht dann übrigens noch nicht, das beheben wir aber später.

LDAP-Client konfigurieren

Dieser Schritt ist identisch unter Solaris 10 und 11. Der folgende Befehl konfiguriert den LDAP-Client.

ldapclient manual -a credentialLevel=proxy -a authenticationMethod=simple -a defaultSearchBase=dc=example,dc=com -a domainName=example.com -a defaultServerList=<ip> -a proxyDN=<admin-cn> -a proxyPassword=<admin-pw> -a serviceSearchDescriptor=group:ou=Groups,dc=example,dc=com

Standardmäßig werden Benutzer in ou=People,dc=example,dc=com gesucht (für den Basis-DN dc=example,dc=com). Wo genau nach Gruppen gesucht wird weiß ich gar nicht, weshalb ich auch mit -a serviceSearchDescriptor=group:ou=Groups,dc=example,dc=com den passenden DN angebe. Wer dies für User ändern will kann dies mit -a serviceSearchDescriptor=passwd und -a serviceSearchDescriptor=shadow tun.

Name-Service konfigurieren

Nachdem der LDAP-Client konfiguriert ist, ist der Name Service Switch für die meisten eher suboptimal konfiguriert, denn Hostnamen werden per LDAP gesucht und nicht mehr mittels DNS. Unter Solaris 11 ändert man dies nur mit ein paar Befehlen:

svccfg -s "name-service/switch" setprop 'config/host = astring: "files dns"'
svcadm refresh name-service/switch
svcadm restart name-service/switch

Unter Solaris 10 muss die Datei /etc/nsswitch.conf angepasst werden. Dafür ändert man nur folgende zwei Zeilen:

hosts: files dns
ipnodes: files dns

PAM konfigurieren

Die User existieren zwar schon, einloggen kann man sich jedoch nicht. Unter Solaris 11 ersetzt man dafür in den Dateien /etc/pam.d/login und /etc/pam.d/other die Zeile auth required pam_unix_auth.so.1 mit folgenden zwei Zeilen:

auth binding          pam_unix_auth.so.1 server_policy
auth required         pam_ldap.so.1

Unter Solaris 10 muss nur die Datei /etc/pam.conf geändert werden. Die Zeile

login   auth required       pam_unix_auth.so.1

ersetzt man durch

login   auth binding        pam_unix_auth.so.1 server_policy
login   auth required       pam_ldap.so.1

und die Zeile

other   auth required       pam_unix_auth.so.1

mit

other   auth binding        pam_unix_auth.so.1 server_policy
other   auth required       pam_ldap.so.1

Danach kann man sich gewohnt mit su oder in Gnome mit LDAP-Benutzern einloggen.

Autor: Olaf | 0 Kommentare | Tags: ldap, solaris

LDAP-Authentifizierung mit SSSD

2015-01-26 18:54:00.0

Unter Fedora/RHEL kommt standardmäßig der System Security Services Daemon für die Authenticationverwaltung zum Einsatz, aber auch unter anderen Distributionen lässt sich SSSD nachinstallieren. Ich möchte hier kurz beschreiben, wie sich mit SSSD LDAP-Authentication einrichten lässt. Die traditionellere Methode wird in einem anderen Artikel beschrieben.

Unter Fedora/RHEL gibt es das Tool authconfig-gtk, mit dem sich ldap per GUI konfigurieren lässt. Ohne GUI reicht es die Datei /etc/sssd/sssd.conf zu bearbeiten. Dazu fügt man zuerst die ldap-Konfiguration ein:

[domain/mydomain]
autofs_provider = ldap
cache_credentials = True
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://ldapserver/
ldap_id_use_start_tls = True
ldap_tls_cacertdir = /etc/openldap/cacerts

Der Domainname ist frei wählbar und es muss noch angegeben werden, dass diese Domain verwendet werden soll. Die [sssd] Sektion enthält den Eintrag domains, der die Domainnamen kommagetrennt enthält.

[sssd]
...
domains = mydomain

Das war nur ein einfaches Beispiel. Mehr Informationen gibt es in der sehr ausführlichen Dokumentation.

Autor: Olaf | 0 Kommentare | Tags: ldap, linux, rhel

Einstieg in LDAP mit OpenDJ

2014-12-29 15:00:00.0

LDAP-Server gibt es einige. Am meisten verbreitet ist wohl OpenLDAP. Ich persöhnlich finde OpenLDAP allerdings zu frickelig, vor allem seit slapd.conf abgeschafft wurde, und die Konfiguration auch über ldap geschieht. Glücklicherweise gibt es einige Alternativen, z.B. den 389 Directory Server von Red Hat, und natürlich OpenDJ, worum es in diesem Artikel auch gehen soll.

OpenDJ ist ein Fork von OpenDS, einem von Sun Microsystems in Java entwickelten LDAP-Server. Nach der Übernahme von Sun durch Oracle wurde die Entwicklung von OpenDS jedoch eingestellt, daher gründeten ehemalige Sun-Mitarbeitern die Firma ForgeRock und forkten OpenDS. OpenDJ hat daher einen gewissen kommerziellen Charakter, allerdings ist es trotzdem OpenSource-Software.

OpenDJ gibt es unter anderem als einfaches zip-Package zu downloaden. Für die normalen Releases muss man sich registrieren, jedoch nicht für die Nightly-Builds. Da es sich um Java-Software handelt, benötigt man natürlich eine JRE. Nach dem Download einfach das zip-Package in den gewünschten Installationsort entpacken. Danach muss nur noch das setup-Script ausgeführt werden. Dieses startet einen kinderleichten grafischen- oder CLI-Assistenten, in dem alles nötige konfiguriert wird.

Nach dem Setup wird gewöhnlich eine Server-Instanz gestartet und es wird gefragt, ob man das Control-Panel (Button mit der Aufschrift “Steuerbereich starten”) starten möchte. Dies kann man später auch alles manuell machen. Im opendj/bin Verzeichnis liegen alle nötigen Skripte (start-ds, stop-ds, control-panel).

Das Control-Panel macht OpenDJ so benutzerfreundlich. Es ist sowohl möglich lokale Server, als auch entfernte Server damit zu administrieren.

OpenDJ Control-Panel Login Screenshot

OpenDJ Control-Panel Übersicht Screenshot

Neben typischen Aufgaben wie LDIF Im- und Export und Schema-Verwaltung, gibt es auch die Möglichkeit, LDAP-Einträge zu verwalten. Man kann sich also auch einen separaten LDAP-Client sparen.

OpenDJ Control-Panel Einträge Screenshot

Ganz nett ist auch, dass OpenDJ standardmäßig mit allen wichtigen Schemas ausgeliefert wird. Einfacher kann man den Einstieg in die LDAP-Welt nicht machen.

Autor: Olaf | 0 Kommentare | Tags: ldap, java