270 likes | 387 Views
Apache Authentifizierung am LDAP-Server. 1. Einführung 2. Apache 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.
E N D
Apache Authentifizierung am LDAP-Server Lars Gelbke Inf03
1. Einführung 2. Apache 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 Übersicht Lars Gelbke Inf03
Einführung • Warum? Wieso? Weshalb? • LDAP was ist das ? • LDAP Allheilmittel ? • Apache Flexibel wie immer ? • Apache standardkonform ? Lars Gelbke Inf03
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
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
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
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
LDAP • LDAP-Verzeichnisstruktur • hierarchische Baumstruktur • root-Objekt • Verwendung von Standardisierten Schemen Lars Gelbke Inf03
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
LDAP • Beispiel Lars Gelbke Inf03
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
LDAP Lars Gelbke Inf03
Authentifizierung • Allgemein Lars Gelbke Inf03
Authentifizierung • System • Betriebssystem: Suse 9.2 • Apache: Teil des XAMPP for Linux Paketes 1.4.13 • Apache-Version: 2.0.53 • LDAP: OpenLDAP Version: 2.3.27 • Datenbank: BerkeleyDB Version: 4.5.20 Lars Gelbke Inf03
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 Lars Gelbke Inf03
Authentifizierung • Apache-Module • mod_auth Grundfunktionalitäten zur Dateibasierten Authentifizierung • mod_access Grundfunktionalitäten zur Adressbasierten Authentifizierung • 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
Authentifizierung • mod_auth_ldap Lars Gelbke Inf03
Authentifizierung • Require-Direktive in mod_core • valid-user 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
Authentifizierung • Beispiel Lars Gelbke Inf03
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
Authentifizierung • LDAP-Konfiguration Lars Gelbke Inf03
Authentifizierung • ldapadd ldapadd -f example.ldif -x -D "cn=admin,dc=n0s,dc=de" -w so_einfach_net Lars Gelbke Inf03
Authentifizierung • Beispiel Lars Gelbke Inf03
Authentifizierung Lars Gelbke Inf03
Authentifizierung Lars Gelbke Inf03
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
Quellen • http://www.mitlinx.de/ldap/index.html • Sehr gute Einführung in das Thema LDAP jedoch leider nicht vollständig • http://www.zytrax.com/books/ldap/ • Seite über LDAP und sehr gute einführende Beispiele • http://www.apache.org/ (Apache Dokumentaion) • wie bei den meisten OpenSource Projekten sehr ausführlich gehalten • http://www.openldap.org/ (LDAP Dokumentation) • bietet gute Hilfe bei der Grundinstallation • http://de.wikipedia.org/wiki/Hauptseite • gute Allgemeininformationen Lars Gelbke Inf03