Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Lars Gelbke Inf03 Apache Authentifizierung am LDAP-Server.

Ähnliche Präsentationen


Präsentation zum Thema: "Lars Gelbke Inf03 Apache Authentifizierung am LDAP-Server."—  Präsentation transkript:

1 Lars Gelbke Inf03 Apache Authentifizierung am LDAP-Server

2 Lars Gelbke Inf03 Übersicht 1. Einführung 1. Einführung 2. Apache 2. Apache Allgemein und Aufbau Allgemein und Aufbau 3. LDAP 3. LDAP Einführung Einführung Verzeichnis / Datenbank Verzeichnis / Datenbank Verzeichnisstruktur Verzeichnisstruktur Mechanismen Mechanismen 4. Authentifizierung allgemeiner Ablauf Apache Konfiguration LDAP Konfiguration Beispiel 5. Resümee 6. Quellen

3 Lars Gelbke Inf03 Einführung Warum? Wieso? Weshalb? Warum? Wieso? Weshalb? LDAP was ist das ? LDAP was ist das ? LDAP Allheilmittel ? LDAP Allheilmittel ? Apache Flexibel wie immer ? Apache Flexibel wie immer ? Apache standardkonform ? Apache standardkonform ?

4 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

5 Lars Gelbke Inf03 Apache Aufbau Aufbau modularer Aufbau modularer Aufbau hohe Plattformunabhängigkeit durch APR (Apache Portable Runtime) seit Version 2.0 hohe Plattformunabhängigkeit durch APR (Apache Portable Runtime) seit Version 2.0 Vielzahl an verschiedenen Authentifizierungsmodulen Vielzahl an verschiedenen Authentifizierungsmodulen verschiedene Securitykonzepte verschiedene Securitykonzepte

6 Lars Gelbke Inf03 LDAP Einführung Einführung Lightweight Directory Access Protocol Lightweight Directory Access Protocol Entwicklung an der Universität von Michigan und erstmal 1993 in einem RFC vorgeschlagen 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 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 LDAP setzt im Gegensatz zu DAP nicht auf OSI-Stack sondern auf TCP/IP-Stack auf

7 Lars Gelbke Inf03 LDAP Verzeichnis / Datenbank Verzeichnis / Datenbank Verzeichnisse sind auf Lesezugriff optimiert und bieten nur eingeschränkte Schreibfunktionen Verzeichnisse sind auf Lesezugriff optimiert und bieten nur eingeschränkte Schreibfunktionen verbesserte Suchfunktionen verbesserte Suchfunktionen von vornherein standortunabhängig konzipiert von vornherein standortunabhängig konzipiert kann viele gleichzeitige Zugriffe meistern kann viele gleichzeitige Zugriffe meistern Bsp.: Passwortdatei Bsp.: Passwortdatei

8 Lars Gelbke Inf03 LDAP LDAP-Verzeichnisstruktur LDAP-Verzeichnisstruktur hierarchische Baumstruktur hierarchische Baumstruktur root-Objekt root-Objekt Verwendung von Standardisierten Schemen Verwendung von Standardisierten Schemen

9 Lars Gelbke Inf03 LDAP Schemen Schemen ähnelt einer Klasse welche für ein daraus entstandenes Objekt Attribute bereitstellt ähnelt einer Klasse welche für ein daraus entstandenes Objekt Attribute bereitstellt dient der Client-Standardisierung dient der Client-Standardisierung abgeleitete Klassen möglich abgeleitete Klassen möglich

10 Lars Gelbke Inf03 LDAP Beispiel # this is a comment dc=example,dc=com dc: example description: My wonderful company objectClass: dcObject objectClass: organization o: Example, Inc. ## 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

11 Lars Gelbke Inf03 LDAP Mechanismen Mechanismen 2 Phasen 2 Phasen Authentication Phase / bind phase Authentication Phase / bind phase Anmeldung des Clients am Verzeichnis Anmeldung des Clients am Verzeichnis Anonym Anonym Simple Simple Protected (Simpel über SSL) Protected (Simpel über SSL) Strong Strong Authorization Phase / compare phase Authorization Phase / compare phase Abfrage der übergebenen Parameter Abfrage der übergebenen Parameter

12 Lars Gelbke Inf03 LDAP StärkenSchwä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)

13 Lars Gelbke Inf03 Authentifizierung Allgemein Allgemein

14 Lars Gelbke Inf03 Authentifizierung System System Betriebssystem: Suse 9.2 Betriebssystem: Suse 9.2 Apache: Teil des XAMPP for Linux Paketes Apache: Teil des XAMPP for Linux Paketes Apache-Version: Apache-Version: LDAP:OpenLDAP Version: LDAP:OpenLDAP Version: Datenbank:BerkeleyDB Version: Datenbank:BerkeleyDB Version:

15 Lars Gelbke Inf03 Authentifizierung Apache Apache modularer Aufbau modularer Aufbau Hauptkonfiguration in httpd.conf Hauptkonfiguration in httpd.conf Zugriffsrechte können in httpd.conf oder in.htaccess konfiguriert werden Zugriffsrechte können in httpd.conf oder in.htaccess konfiguriert werden.htaccess muss in dem zu schützenden Verzeichnis liegen.htaccess muss in dem zu schützenden Verzeichnis liegen Vielzahl an Parametern die durch die Module bereitgestellt werden Vielzahl an Parametern die durch die Module bereitgestellt werden LoadModule auth_module modules/mod_auth.so

16 Lars Gelbke Inf03 Authentifizierung Apache-Module Apache-Module mod_auth mod_auth Grundfunktionalitäten zur Dateibasierten Authentifizierung mod_access mod_access Grundfunktionalitäten zur Adressbasierten Authentifizierung mod_ldap mod_ldap stellt Cache und SSL Funktionen zur Verfügung mod_auth_ldap mod_auth_ldap wichtigstes Modul zur LDAP- Authentifizierung mod_core mod_core bietet Grundlegende Funktionalitäten welche von allen Modulen genutzten werden können

17 Lars Gelbke Inf03 Authentifizierung mod_auth_ldap mod_auth_ldap AuthLDAPAuthoritative AuthLDAPAuthoritative AuthLDAPBindDN AuthLDAPBindDN AuthLDAPPassword AuthLDAPPassword AuthLDAPCharsetConfig AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPDereferenceAliases AuthLDAPEnabled AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPFrontPageHack AuthLDAPGroupAttribute AuthLDAPGroupAttribute AuthLDAPGroupAttributelsDN AuthLDAPGroupAttributelsDN AuthLDAPRemoteUserlsDN AuthLDAPRemoteUserlsDN AuthLDAPURL AuthLDAPURL

18 Lars Gelbke Inf03 Authentifizierung Require-Direktive in mod_core Require-Direktive in mod_core valid-user valid-user User im LDAP vorhanden user user nur speziell definierte User group group nur Gruppenmitglieder dn dn auf distinguished name basierende Authentifizierung ldap-attribut ldap-attribut es muss ein bestimmtes LDAP-Attribut erfüllt sein

19 Lars Gelbke Inf03 Authentifizierung Beispiel Beispiel 01 LoadModule ldap_module modules/mod_ldap.so 02 LoadModule auth_ldap_module modules/mod_auth_ldap.so Options None 06 AllowOverride all 07 Order deny,allow 08 Deny from all 09 AuthName "eDirectory Identifikation" 10 AuthType Basic 11 AuthLDAPURL ldap:// /ou=people,dc=n0s,dc=de 12 require valid-user 13 13

20 Lars Gelbke Inf03 Authentifizierung LDAP-Grundkonfiguration LDAP-Grundkonfiguration Grundkonfiguration in der slapd.conf Grundkonfiguration in der slapd.conf stets versuchen Client an Server anzupassen und nicht Server an Client stets versuchen Client an Server anzupassen und nicht Server an Client slapd.conf lese/schreib geschützt slapd.conf lese/schreib geschützt Verschiede Hilfs-Tools Verschiede Hilfs-Tools ldapadd ldapadd ldapsearch ldapsearch …

21 Lars Gelbke Inf03 Authentifizierung LDAP-Konfiguration 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 self write by anonymous auth by anonymous auth by group.exact="cn=itpeople,ou=groups,dc=n0s,dc=de" write by group.exact="cn=itpeople,ou=groups,dc=n0s,dc=de" write by * none by * none rootdn "cn=admin,dc=n0s,dc=de rootpw nene_so_einfach_nicht

22 Lars Gelbke Inf03 Authentifizierung ldapadd ldapadd ldapadd -f example.ldif -x -D "cn=admin,dc=n0s,dc=de" -w so_einfach_net

23 Lars Gelbke Inf03 Authentifizierung Beispiel Beispiel

24 Lars Gelbke Inf03 Authentifizierung.htaccess AuthName "spezUser-dir Login AuthType Basic AuthLDAPURL ldap:// /dc=n0s,dc=de?cn require user "Robert Smith AuthName "Admin-dir Login" AuthType Basic AuthLDAPURL ldap:// /dc=n0s,dc=de?uid require group cn=admin,ou=groups,dc=n0s,dc=de AuthName "spezAttr-Dir Login" AuthType Basic AuthLDAPURL ldap:// /dc=n0s,dc=de?uid?sub require ldap-attribute ou="Sales"

25 Lars Gelbke Inf03 Authentifizierung

26 Lars Gelbke Inf03 Resümee Apache sehr einfach konfigurierbar aber dennoch stark anpassungsfähig 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 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 generell stellt es eine elegante und ausgereifte Lösung der Nutzeranmeldung dar

27 Lars Gelbke Inf03 Quellen Sehr gute Einführung in das Thema LDAP jedoch leider nicht vollständig Sehr gute Einführung in das Thema LDAP jedoch leider nicht vollständig Seite über LDAP und sehr gute einführende Beispiele Seite über LDAP und sehr gute einführende Beispiele (Apache Dokumentaion) (Apache Dokumentaion) wie bei den meisten OpenSource Projekten sehr ausführlich gehalten wie bei den meisten OpenSource Projekten sehr ausführlich gehalten (LDAP Dokumentation) (LDAP Dokumentation) bietet gute Hilfe bei der Grundinstallation bietet gute Hilfe bei der Grundinstallation gute Allgemeininformationen gute Allgemeininformationen


Herunterladen ppt "Lars Gelbke Inf03 Apache Authentifizierung am LDAP-Server."

Ähnliche Präsentationen


Google-Anzeigen