Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Apache Authentifizierung am LDAP-Server

Ähnliche Präsentationen


Präsentation zum Thema: "Apache Authentifizierung am LDAP-Server"—  Präsentation transkript:

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


Herunterladen ppt "Apache Authentifizierung am LDAP-Server"

Ähnliche Präsentationen


Google-Anzeigen