LDAP – Wo setzt man es ein und wie
Die Geschichte eines Projekts
oder
„ein Ring sie zu knechten“
Gliederung
• Der Ausgangspunkt: ein babylonisches Gewirr
• Das Ziel - ein Traum?
• Die Beteiligten
• Die Idee
• Bestandsaufnahme in Domino
• Die Umsetzung– am Host
– Active Directory
– Sametime, Connections
– Drittanwendungen – Datenaustausch und Authentifizierung
• Die Werkzeuge
• Fragestellungen
Der Ausgangspunktein babylonisches Gewirr
• Jeder Anwender verfügte über eine Vielzahl von Logins mit unterschiedlichenUpdatezylen:
– Host: monatliche Änderung, 8 Zeichen, nur Buchstaben, Pflege über Hostemulation– Lotus Domino: mindestens 8 Zeichen, 3monatige Änderung, Pflege über Notes Client– Internet Access: mindestens 1 Ziffer und 1 Sonderzeichen, keine Zwangsänderung, Pflege über
eine kryptische URL– Active Directory: mindestens 2 Ziffern und 1 Großbuchstabe, monatliche Änderung, Pflege über
Login– weitere Logins: Budgetplanung, Service Desk, Webbased Training, nagios, … (ca. 20)
• Für und über jeden Anwender waren in einer Vielzahl von Systemen Daten gespeichert, die an diversen Stellen wieder gebraucht wurden
– AD: Benutzername, AD-Gruppen– Domino: Internetmailadresse, Mailgruppen– 6 Orga-Anwendungen: Vorgesetzte, Vertreter, Verfügbarkeiten– 2 Telefon-Mgmt: Festnetz- und Mobiltelefonnummer, Fax– 4 Ressourcen-Managements: Standortinformationen– 3 Personal-Anwendungen: Personalnummer, …– weitere ca. 60 Personendatenverwaltungslösungen in der Unternehmensgruppe
Das Zielein Traum?
• Authentifizierung– für inhouse Anwender einmalig bei der Windows Anmeldung für alle Applikationen
– für das Extranet Single-Sing-On für alle browserbasierten Anwendungen
• persönliche Daten– werden nur noch an einer Stelle gepflegt
– werden nirgendwo zwischengespeichert
– Alle Anwendungen greifen auf einen Datenpool zu
Die Beteiligten
• Die Daten”hüter”– jede Gruppe will Ihre Daten weiter dort pflegen wo sie es bisher tun
• Die Anwender– wollen alles möglichst einfach benutzen können
• Die Geschäftsleitung– möchte die IT-Kosten senken für Standard-Prozesse
• Die Revision– fordert die Sicherstellung der internen und gesetzlichen Richtlinien zur Datenspeicherung
und zum Informationszugriff
• Das Projektteam– Viele Punkte zu scheitern und nichts zu gewinnen?
Die Idee
• Lass jedem (fast) seinen Willen
• Wir brauchen eine Instanz, die alle Informationen zur Verfügung stellt
• Wir brauchen Schnittstellen dazu– Host
– Domino
– Active Directory
– Personalanwendungen
– Orga-Anwendungen
– Personendatenverwaltungen
– Telefonanlagen
– …
Die Idee
Und wie soll das nun alles funktionieren?
Bestandsaufnahme im Domino
• Wir haben– einen laufenden LDAP Server auf Basis Domino 8.5.1
– LDAP-Unterstützung am Host und Active Directory
– LDAP-Unterstützung in der Entwicklung
– PHP
– Java-Klassen
• Wir brauchen− Export-Schnittstellen in allen anzubindenden Systemen um die Quelldaten abzuholen, die
dort gepflegt werden
− Import-Schnittstellen in allen anzubindenen Systemen, um die Zusatzdaten, die dieAnwendungen brauchen, aktualisiert werden
− Die Unterstützung aller Beteiligten
− Ein Berechtigungskonzept
Die UmsetzungDer Host
Stammdaten:
die 8stellige Benutzerkennungwird manuell im DD eingetragen
Zusatzinformationen:
Vorname, NachnameTelefonnummerAdresse, Abteilung
Domino LDAP
bei der Anlage des Benutzers
per PERL-Script werden auf dem Hostdie Zusatz-Informationen täglich aktualisiert
Single Sign On:
seitens Host-Administration abgelehnt und nicht umgesetzt
Die UmsetzungDas Active Directory
Stammdaten:
Windows BerechtigungsgruppenKonsolidierung der DominoBerechtigungsgruppen
Zusatzinformationen:
Vorname, NachnameTelefonnummerAdresse, Abteilung
Domino Directory
tägliche automatisierte Updates perJava Agent auf dem Domino Server
Die UmsetzungDas Active Directory
Notes Client:
Aktivierung des Dienstes „Gemeinsame Anmeldung“
Domino Browser Apps:
SPNEGO
Die UmsetzungLotus Sametime
Stammdaten:
ST nutzt als Directory den Domino LDAP
Domino LDAPSingle Sign On:
SPNEGO
Die UmsetzungLotus Connections
Stammdaten:
Connectionsnutzt als Directory den
Domino LDAP
Single Sign On:
SPNEGO
Die UmsetzungInternet Access – ein Squid HTTP Proxy
Stammdaten:
braucht‘s nicht
SSO:
dank SQUID-Wiki – mehr als
http://wiki.squid-cache.org/Features/Authentication?action=show&redirect=SquidFaq%2FProxyAuthentication
http://klaubert.wordpress.com/2008/01/09/squid-kerberos-authentication-and-ldap-authorization-in-active-directory/
Braucht‘s nicht
Die UmsetzungAustausch von personenbezogenen Informationen mit Telefonanlage etc. außerhalb Notes
LDAP
Webservices
ODBC
ASCII-Files
Die UmsetzungAustausch von personenbezogenen Informationen innerhalb Notes
Für Eigenentwicklungen
LS-Klasse
für klassische Notes-Anwendungen
WebService
nix anderes als die LS-Klasse, nur halt als WS
Domino
Directory
Für 3rd Party Anwendungen, die ihre
eigenen Directories verwalten
Gedys Intraware CRM Suite, PavoneProjektmanagement, FOCONIS ZAK, GIS, K7, …
Die UmsetzungAuthentifizierung im Browser für eigene Anwendungen
1 .Zugriff durch den Anwender(HTTP Request)
2 .LTPA Token gesetzt?
ja5 .Auslieferung der Site(HTTP Response)
nein
3 .LTPA Token gesetzt? ja
4. Anmeldemaske
Die Werkzeuge
• Softera LDAP Browser– http://www.softerra.com
• DSAPI Filter für nicht-Windows Dominos– http://www.openntf.org/projects/pmt.nsf/ProjectLookup/SSO%20for%20Web%20for%20non
%20Windows%20Servers
– http://www-10.lotus.com/ldd/dominowiki.nsf/dx/Deploying_SPNEGO
• LDAP Class Libraries for Java (JLDAP)– http://www.openldap.org/jldap/overview.html
• Tonnen von IBM Dokumentationen
• TS Pump (ODBC und ASCII-Datenaustausch) by TS Consulting
Fragestellungen
• Passwort Policies
• Websphere Security Cache vs. Performance
• LTPA Token Expiration Time
• Websphere- und Domino LTPA Token
• Monitoring
• LDAP Policies
Details: SPNEGO einrichten
• Domino Konfiguration– Multiserver SSO konfigurieren, ggf. Websphere Keys einbinden
– Website – Konfiguration anpassen
– “Maximum cached users” anpassen
• SPN – service principal name– domspnego
– setspn
• Name Mapping– Domino Internet Address <-> Mail im AD
– AD-Namen im Domino Directory
• Browser Konfiguration– IE: Automatic logon only in Intranet zone & Domino Server zu „Local Intranet“ hinzufügen
– FF: Domino Server über about:config in network.negotiate-auth.trusted-uris eintragen
Details: SPNEGO einrichten
• Domino Konfiguration– Multiserver SSO konfigurieren, ggf. Websphere Keys einbinden
– Website – Konfiguration anpassen
– “Maximum cached users” anpassen
• SPN – service principal name– domspnego
– setspn
• Name Mapping– Domino Internet Address <-> Mail im AD
– AD-Namen im Domino Directory
• Browser Konfiguration– IE: Automatic logon only in Intranet zone & Domino Server zu „Local Intranet“ hinzufügen
– FF: Domino Server über about:config in network.negotiate-auth.trusted-uris eintragen
Details: SQUID einrichten
• SQUID Server– MSKUtil (http://fuhm.net/software/msktutil) oder SAMBA installieren
– Kerberos Konfiguration (krb5.conf)
– SQUID Konfiguration (Kerberos aktivieren)
– Kerberos im SQUID Startup hinzufügen
• AD– Squid Host im AD eintragen mit msktutil oder SAMBA
TS Consulting
• Thomas Schneider
– Schneekopfstraße 9, 98528 Suhl
– 0176-64347223
– www.t-s-consulting.net