Lars Gelbke - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Lars Gelbke

Description:

Title: Apache Authentifizierung am LDAP-Server Author: Lars Keller Last modified by: CNI Created Date: 10/23/2006 9:27:52 AM Document presentation format – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 28
Provided by: LarsK2
Category:

less

Transcript and Presenter's Notes

Title: Lars Gelbke


1
Apache Authentifizierung am LDAP-Server
2
Übersicht
  • 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

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

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

5
Apache
  • Aufbau
  • modularer Aufbau
  • hohe Plattformunabhängigkeit durch APR (Apache
    Portable Runtime) seit Version 2.0
  • Vielzahl an verschiedenen Authentifizierungsmodule
    n
  • verschiedene Securitykonzepte

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

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

8
LDAP
  • LDAP-Verzeichnisstruktur
  • hierarchische Baumstruktur
  • root-Objekt
  • Verwendung von Standardisierten Schemen

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

10
LDAP
FIRST Level hierarchy - people uses mixed upper and lower case for objectclass oupeople, dcexample,dccom 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 cnRobert Smith,oupeople,dcexample,dccom objectclass inetOrgPerson cn Robert Smith cn Robert J Smith sn smith uid rjsmith userpassword rJsmitH carlicense HISCAR 123 homephone 555-111-2222 mail r.smith_at_example.com description swell guy ou Human Resources
  • Beispiel

this is a comment dcexample,dccom dc example description My wonderful company objectClass dcObject objectClass organization o Example, Inc.
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

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)
13
Authentifizierung
  • Allgemein

14
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

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
16
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

17
Authentifizierung
  • mod_auth_ldap

AuthLDAPAuthoritative AuthLDAPBindDN AuthLDAPPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPGroupAttribute AuthLDAPGroupAttributelsDN AuthLDAPRemoteUserlsDN AuthLDAPURL
18
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

19
Authentifizierung
  • Beispiel

01 LoadModule ldap_module modules/mod_ldap.so 02 LoadModule auth_ldap_module modules/mod_auth_ldap.so 03 04 ltDirectory /gt 05 Options None 06 AllowOverride all 07 Order deny,allow 08 Deny from all 09 AuthName "eDirectory Identifikation" 10 AuthType Basic 11 AuthLDAPURL ldap//192.168.123.6/oupeople,dcn0s,dcde 12 require valid-user 13 lt/Directorygt
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

21
Authentifizierung
  • LDAP-Konfiguration

include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/inetorgperson.schema database bdb suffix "dcn0s,dcde ACL1 access to attruserpassword by self write by anonymous auth by group.exact"cnitpeople,ougroups,dcn0s,dcde" write by none rootdn "cnadmin,dcn0s,dcde rootpw nene_so_einfach_nicht
22
Authentifizierung
  • ldapadd
  • ldapadd -f example.ldif -x -D "cnadmin,dcn0s,dc
    de" -w so_einfach_net

23
Authentifizierung
  • Beispiel

24
Authentifizierung
.htaccess
AuthName "spezUser-dir Login AuthType Basic AuthLDAPURL ldap//192.168.123.6/dcn0s,dcde?cn require user "Robert Smith
AuthName "Admin-dir Login" AuthType Basic AuthLDAPURL ldap//192.168.123.6/dcn0s,dcde?uid require group cnadmin,ougroups,dcn0s,dcde
AuthName "spezAttr-Dir Login" AuthType Basic AuthLDAPURL ldap//192.168.123.6/dcn0s,dcde?uid?sub require ldap-attribute ou"Sales"
25
Authentifizierung
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

27
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
Write a Comment
User Comments (0)
About PowerShow.com