Präsentation herunterladen
Veröffentlicht von:Rickert Kebler Geändert vor über 9 Jahren
1
Apache Authentifizierung am LDAP-Server
Lars Gelbke Inf03
2
Übersicht 1. Einführung 2. Apache 3. LDAP 4. Authentifizierung
Allgemein und Aufbau 3. LDAP Einführung Verzeichnis / Datenbank Verzeichnisstruktur Mechanismen 4. Authentifizierung allgemeiner Ablauf Apache Konfiguration LDAP Konfiguration Beispiel 5. Resümee 6. Quellen Lars Gelbke Inf03
3
Einführung Warum? Wieso? Weshalb? LDAP was ist das ?
LDAP Allheilmittel ? Apache Flexibel wie immer ? Apache standardkonform ? Lars Gelbke Inf03
4
Apache Allgemein Produkt der Apache Software Foundation
OpenSource Projekt meist verbreiteter Web-Server entstanden aus dem NCSA http-Server serverseitige Unterstützung von Scriptsprachen Lars Gelbke Inf03
5
Apache Aufbau modularer Aufbau
hohe Plattformunabhängigkeit durch APR (Apache Portable Runtime) seit Version 2.0 Vielzahl an verschiedenen Authentifizierungsmodulen verschiedene Securitykonzepte Lars Gelbke Inf03
6
LDAP Einführung Lightweight Directory Access Protocol
Entwicklung an der Universität von Michigan und erstmal 1993 in einem RFC vorgeschlagen Weiterentwicklung/Vereinfachung des DAP (Directory Access Protocol) auch als X.500 Standard bekannt LDAP setzt im Gegensatz zu DAP nicht auf OSI-Stack sondern auf TCP/IP-Stack auf Lars Gelbke Inf03
7
LDAP Verzeichnis / Datenbank
Verzeichnisse sind auf Lesezugriff optimiert und bieten nur eingeschränkte Schreibfunktionen verbesserte Suchfunktionen von vornherein standortunabhängig konzipiert kann viele gleichzeitige Zugriffe meistern Bsp.: Passwortdatei Lars Gelbke Inf03
8
LDAP LDAP-Verzeichnisstruktur hierarchische Baumstruktur root-Objekt
Verwendung von Standardisierten Schemen Lars Gelbke Inf03
9
LDAP Schemen ähnelt einer Klasse welche für ein daraus entstandenes Objekt Attribute bereitstellt dient der Client-Standardisierung abgeleitete Klassen möglich Lars Gelbke Inf03
10
LDAP Beispiel ## FIRST Level hierarchy - people
## uses mixed upper and lower case for objectclass ou=people, dc=example,dc=com ou: peopledescription: All people in organisation objectclass: organizationalunit ## SECOND Level hierarchy ## ADD a single entry under FIRST (people) level # this is an ENTRY sequence and is preceded by # the ou: Human Resources is the department name dn: cn=Robert Smith,ou=people,dc=example,dc=com objectclass: inetOrgPerson cn: Robert Smith cn: Robert J Smith sn: smith uid: rjsmith userpassword: rJsmitH carlicense: HISCAR 123 homephone: mail: description: swell guy ou: Human Resources Beispiel # this is a comment dc=example,dc=com dc: example description: My wonderful company objectClass: dcObject objectClass: organization o: Example, Inc. Lars Gelbke Inf03
11
LDAP Mechanismen 2 Phasen Authentication Phase / bind phase
Anmeldung des Clients am Verzeichnis Anonym Simple Protected (Simpel über SSL) Strong Authorization Phase / compare phase Abfrage der übergebenen Parameter Lars Gelbke Inf03
12
LDAP Stärken Schwächen ermöglicht zentralisierte Datenhaltung
kein fixer Primärschlüssel vereinfachte Security Policen nur schwere Implementierung in SQL-Systemen offener Standard und somit kostenfreie Integration möglich wenig aussage kräftige Literatur optimiert auf Lesezugriff nicht alle Systeme unterstützen LDAP verteiltes Verzeichnissystem möglich generalisierte Schemen(Klassen) Lars Gelbke Inf03
13
Authentifizierung Allgemein Lars Gelbke Inf03
14
Authentifizierung System Betriebssystem: Suse 9.2
Apache: Teil des XAMPP for Linux Paketes Apache-Version: LDAP: OpenLDAP Version: Datenbank: BerkeleyDB Version: Lars Gelbke Inf03
15
Authentifizierung Apache modularer Aufbau
Hauptkonfiguration in httpd.conf Zugriffsrechte können in httpd.conf oder in .htaccess konfiguriert werden .htaccess muss in dem zu schützenden Verzeichnis liegen Vielzahl an Parametern die durch die Module bereitgestellt werden LoadModule auth_module modules/mod_auth.so Lars Gelbke Inf03
16
Authentifizierung Apache-Module mod_auth mod_access
Grundfunktionalitäten zur Dateibasierten Authentifizierung mod_access Grundfunktionalitäten zur Adressbasierten mod_ldap stellt Cache und SSL Funktionen zur Verfügung mod_auth_ldap wichtigstes Modul zur LDAP- Authentifizierung mod_core bietet Grundlegende Funktionalitäten welche von allen Modulen genutzten werden können Lars Gelbke Inf03
17
Authentifizierung mod_auth_ldap AuthLDAPAuthoritative AuthLDAPBindDN
AuthLDAPPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPGroupAttribute AuthLDAPGroupAttributelsDN AuthLDAPRemoteUserlsDN AuthLDAPURL Lars Gelbke Inf03
18
Authentifizierung Require-Direktive in mod_core valid-user user group
User im LDAP vorhanden user nur speziell definierte User group nur Gruppenmitglieder dn auf distinguished name basierende Authentifizierung ldap-attribut es muss ein bestimmtes LDAP-Attribut erfüllt sein Lars Gelbke Inf03
19
Authentifizierung Beispiel
01 LoadModule ldap_module modules/mod_ldap.so 02 LoadModule auth_ldap_module modules/mod_auth_ldap.so 03 04 <Directory /> Options None AllowOverride all Order deny,allow Deny from all AuthName "eDirectory Identifikation" AuthType Basic AuthLDAPURL ldap:// /ou=people,dc=n0s,dc=de require valid-user 13 </Directory> Lars Gelbke Inf03
20
Authentifizierung LDAP-Grundkonfiguration
Grundkonfiguration in der slapd.conf stets versuchen Client an Server anzupassen und nicht Server an Client slapd.conf lese/schreib geschützt Verschiede Hilfs-Tools ldapadd ldapsearch … Lars Gelbke Inf03
21
Authentifizierung LDAP-Konfiguration
include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/inetorgperson.schema database bdb suffix "dc=n0s,dc=de“ # ACL1 access to attr=userpassword by self write by anonymous auth by group.exact="cn=itpeople,ou=groups,dc=n0s,dc=de" write by * none rootdn "cn=admin,dc=n0s,dc=de“ rootpw nene_so_einfach_nicht Lars Gelbke Inf03
22
Authentifizierung ldapadd
ldapadd -f example.ldif -x -D "cn=admin,dc=n0s,dc=de" -w so_einfach_net Lars Gelbke Inf03
23
Authentifizierung Beispiel Lars Gelbke Inf03
24
Authentifizierung .htaccess AuthName "spezUser-dir Login“
AuthType Basic AuthLDAPURL ldap:// /dc=n0s,dc=de?cn require user "Robert Smith“ AuthName "Admin-dir Login" AuthLDAPURL ldap:// /dc=n0s,dc=de?uid require group cn=admin,ou=groups,dc=n0s,dc=de AuthName "spezAttr-Dir Login" AuthLDAPURL ldap:// /dc=n0s,dc=de?uid?sub require ldap-attribute ou="Sales" Lars Gelbke Inf03
25
Authentifizierung Lars Gelbke Inf03
26
Resümee Apache sehr einfach konfigurierbar aber dennoch stark anpassungsfähig LDAP benötigt viel Einarbeitungszeit, was jedoch an der Komplexität der Thematik und nicht an der Software liegt generell stellt es eine elegante und ausgereifte Lösung der Nutzeranmeldung dar Lars Gelbke Inf03
27
Quellen http://www.mitlinx.de/ldap/index.html
Sehr gute Einführung in das Thema LDAP jedoch leider nicht vollständig Seite über LDAP und sehr gute einführende Beispiele (Apache Dokumentaion) wie bei den meisten OpenSource Projekten sehr ausführlich gehalten (LDAP Dokumentation) bietet gute Hilfe bei der Grundinstallation gute Allgemeininformationen Lars Gelbke Inf03
Ähnliche Präsentationen
© 2023 SlidePlayer.org Inc.
All rights reserved.