Hinweis: Sie sind auf den Seiten der Moodle 2.5 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: LDAP-Server.

LDAP-Server: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(13 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Authentifizierung}}
{{Authentifizierung}}


{{Zum Übersetzen}}
Diese Authentifizierungsmethode verwendet einen [[LDAP-Server]], um zu prüfen, ob die Anmeldedaten eines Nutzers (Anmeldename / Kennwort) gültig sind.  
Diese Authentifizierungsmethode verwendet einen [[LDAP-Server]], um zu prüfen, ob die Anmeldedaten eines Nutzers (Anmeldename / Kennwort) gültig sind.  


Zeile 12: Zeile 11:


==Spezifische Einstellungen==
==Spezifische Einstellungen==
Spezifische Einstellungen für die [[Authentifizierung über LDAP]] nehmen Sie auf der Seite ''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Authentifizierung >  LDAP-Server'' vor.
Spezifische Einstellungen für die [[LDAP-Server|Authentifizierung über LDAP]] nehmen Sie auf der Seite ''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Authentifizierung >  LDAP-Server'' vor.


Das folgende Basisszenario entspricht einer einfachen Grundkonfiguration, die für die meisten Installation geeignet ist. Nehmen wir beispielhaft folgende Voraussetzungen an:
Das folgende Basisszenario entspricht einer einfachen Grundkonfiguration, die für die meisten Installation geeignet ist. Nehmen wir beispielhaft folgende Voraussetzungen an:
Zeile 104: Zeile 103:
===Gültigkeitsablauf von Kennworten===
===Gültigkeitsablauf von Kennworten===
====Gültigkeitsende====
====Gültigkeitsende====
|
* Wenn Sie diese Option auf ''Nein'' setzen, prüft Moodle nicht, ob die Gültigkeitsdauer des Kennworts abgelaufen ist.
* Wenn Sie diese Option auf ''Nein'' setzen, prüft Moodle nicht, ob die Gültigkeitsdauer des Kennworts abgelaufen ist.
* Wenn Sie diese Option auf ''LDAP'' setzen, prüft Moodle, ob die Gültigkeitsdauer des LDAP-Kennwort abgelaufen ist und verschickt ggf. eine Warnmeldung.  
* Wenn Sie diese Option auf ''LDAP'' setzen, prüft Moodle, ob die Gültigkeitsdauer des LDAP-Kennwort abgelaufen ist und verschickt ggf. eine Warnmeldung.  
Zeile 111: Zeile 109:
Mit dieser Zahl legen Sie fest, wie viele Tage vor Ablauf der Gültigkeitsdauer eines Kennworts der Nutzer eine entsprechende Warnmeldung per E-Mail zugeschickt bekommt.
Mit dieser Zahl legen Sie fest, wie viele Tage vor Ablauf der Gültigkeitsdauer eines Kennworts der Nutzer eine entsprechende Warnmeldung per E-Mail zugeschickt bekommt.


====Ablauf-Attribut====
====Merkmal für Gültigkeitsende====
Geben Sie hier das LDAP-Attribut ein, das zur Prüfung der Gültigkeitsdauer eines Kennworts verwendet wird. Diese Eingabe ist optional, wenn Sie das Feld leer lassen, wird der Standardwert verwendet.
Geben Sie hier das LDAP-Attribut ein, das zur Prüfung der Gültigkeitsdauer eines Kennworts verwendet wird. Diese Eingabe ist optional, wenn Sie das Feld leer lassen, wird der Standardwert verwendet.


====Frist Login====
====GraceLogins====
Mit dieser Option können Sie die graceLogin-Funktionalität von LDAP aktivieren. graceLogin bedeutet, dass ein Nutzer auch nach Ablauf der Gültigkeitsdauer seines Kennworts noch eine bestimmte Anzahl von Versuchen hat, sich anzumelden. Bei jedem Anmeldeversuch wird diese Zahl um eins vermindert, und erst wenn der Wert gleich Null ist, wird der Zugriff endgültig verweigert.
Mit dieser Option können Sie die GraceLogin-Funktionalität von LDAP aktivieren. GraceLogin bedeutet, dass ein Nutzer auch nach Ablauf der Gültigkeitsdauer seines Kennworts noch eine bestimmte Anzahl von Versuchen hat, sich anzumelden. Bei jedem Anmeldeversuch wird diese Zahl um eins vermindert, und erst wenn der Wert gleich Null ist, wird der Zugriff endgültig verweigert.


====grace Login Attribute====
====Merkmal für GraceLogin====
Geben Sie hier das LDAP-Attribut ein, das die Anzahl der Anmeldeversuche nach Ablauf der Gültigkeitsdauer des Kennworts festlegt. Diese Eingabe ist optional, wenn Sie das Feld leer lassen, wird der Standardwert verwendet.
Geben Sie hier das LDAP-Attribut ein, das die Anzahl der Anmeldeversuche nach Ablauf der Gültigkeitsdauer des Kennworts festlegt. Diese Eingabe ist optional, wenn Sie das Feld leer lassen, wird der Standardwert verwendet.


===Nutzer-Erstellung aktivieren===
===Nutzer-Erstellung aktivieren===
====Nutzer extern anlegen====
====Nutzer extern anlegen====
Neue (anonyme) Nutzer/innen können neue Nutzerkonten auf dem externen LDAP-Server anlegen und per E-Mail bestätigen. Wenn Sie diese Option aktivieren, dann sollten Sie auch eine entsprechende Anleitung auf der Seite ''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Authentifizierung > Übersicht'' im Textbereich ''Anweisungen'' hinterlegen.
Derzeit können nur Novell eDirectory und MS-AD neue Nutzer/innen auf dem externen LDAP-Server anlegen.


 
====Kontext für neue Nutzer/innen====
| New (anonymous) users can self-create user accounts on the external LDAP server and confirm them via email. If you enable this, remember to also configure module-specific options for user creation and to fill in some instructions in ''auth_instructions'' field in Administration >> Users >> Authentication >> Manage authentication. Otherwise the new users won't be able to self-create new accounts.
Geben Sie hier den Kontext an, in dem neue Nutzer/innen extern angelegt werden. Aus Sicherheitsgründen sollte dieser Kontext verschieden vom Kontext anderer Nutzer/innen sein.  
 
As of now, only Novell eDirectory and MS-AD can create users externally.
|-
| Kontext für neue Nutzer
| Specify the context where users are created. This context should be different from other users' contexts to prevent security issues.  
|}
|}


===Kursverwalter/in===
===Kursersteller/in===
{| border="1" cellspacing="0" cellpadding="5"
====Kursersteller/innen====
! Name
Geben Sie hier den DN der Gruppe aller der Nutzer/innen an, die neue Kurse in Moodle anlegen können sollen. Typischerweise ist das eine posixGroup mit einem '''memberUid'''-Merkmal, das alle Nutzer/innen haben, die neue Kurse in Moodle anlegen können sollen. Wenn Ihre Gruppe z.B. ''creators'' heißt, geben Sie ein: '''cn=creators,ou=moodleusers,dc=my,dc=organization,dc=domain'''.
! Wert
Jedes "memberUid"-Merkmal enthält den CN einer Person, die neue Kurse anlegen darf. Verwenden Sie nicht den vollen DN (also nicht '''memberUid: cn=JoeTeacher,ou=moodleusers,dc-my,dc=organizations,dc=domain''', sondern nur '''memberUid: JoeTeacher''').
|-
| Kursverwalter/innen
| The DN of the group that contains all of your Moodle creators. This is typically a posixGroup with a "memberUid" attribute for each user you want to be a creator. If your group is called ''creators'', type '''cn=creators,ou=moodleusers,dc=my,dc=organization,dc=domain''' here. Each memberUid attribute contains the CN of a user who is authorized to be a creator. Do not use the user's full DN (e.g.,  not '''memberUid: cn=JoeTeacher,ou=moodleusers,dc-my,dc=organizations,dc=domain''', but rather '''memberUid: JoeTeacher''').


In eDirectory, the objectClass for a group is (by default) not '''posixGroup''' but '''groupOfNames,''' whose member attribute is '''member,''' not '''memberUid,''' and whose value is the full DN of the user in question. Although you can probably modify Moodle's code to use this field, a better solution is just to add a new '''objectClass''' attribute of '''posixGroup''' to your creators group and put the CNs for each creator in a '''memberUid''' attribute.
Im eDirectory ist die '''objectClass''' für eine Gruppe standardmäßig nicht '''posixGroup''', sondern '''groupOfNames''', deren Mitgliedsmerkmal '''member''' ist (und nicht '''memberUid''') und dessen Wert der volle DN der betreffenden Person ist. Sie können den Moodle Code entsprechend anpassen. Alternativ können Sie jedoch ein neues '''objectClass''' Merkmal von '''posixGroup''' zur Gruppe der Kursersteller/innen hinzufügen und die CNs aller Kursersteller/innen in einem '''memberUid'''-Merkmal ablegen.


In MS Active Directory, you will need to create a security group for your creators to be part of and then add them all. If your ldap context above is 'ou=staff,dc=my,dc=org' then your group should then be 'cn=creators,ou=staff,dc=my,dc=org'. If some of the users are from other contexts and have been added to the same security group, you'll have to add these as separate contexts after the first one using the same format.
Im MS Active Directory müssen Sie eine Sicherheitsgruppe anlegen und alle Kursersteller/innen in diese Gruppe eintragen. Wenn der LDAP-Kontext (siehe oben) z.B. '''ou=staff,dc=my,dc=org''' ist, dann sollte die Gruppe entsprechend '''cn=creators,ou=staff,dc=my,dc=org''' sein. Wennn einige Nutzer/innen zu anderen Kontexten gehören und zur gleichen Sicherheitsgruppe hinzugefügt wurden, müssen Sie diese als separate Kontexte ergänzen (unter Verwendung desselben Formats).
|}


===Cron-Synchronisierungsskript===
===Cron-Synchronisierungsskript===
{| border="1" cellspacing="0" cellpadding="5"
====Entfernte externe Nutzer====
! Name
Mit dieser Einstellung legen Sie fest, was bei der Nutzersynchronisation mit Nutzerkonten in Moodle passieren soll, wenn die zugehörigen Nutzer/innen aus dem externen LDAP-Server gelöscht wurden. Wenn Sie die Option ''Intern aufheben'' wählen, dann werden die Nutzerkonten reaktiviert, sobald die zugehörigen Nutzer/innen im externen LDAP-Server wieder auftauchen.
! Wert
|-
| Entfernte externe Nutzer
| Specify what to do with internal user account during mass synchronization when user was removed from external source. Only suspended users are automatically revived if they reappear in ext source.
|}


====Setting up regular automatic synchronisation using cron====
'''Anmerkung''': Es gibt ein PHP-Skript im Moodle-Verzeichnis ''moodle/auth/ldap/cli/sync_users.php'', das Nutzerkonten in Moodle automatisch mit dem LDAP-Server synchronisiert, d.h. neu anlegt, intern aufhebt oder löscht. Idealerweise wird dieses Skript manuell von der Kommandozeile aus gestartet, am besten einmal täglich in einer ruhigen Zeit, wenn auf dem Moodle-Server wenig los ist. Dabei wird dieselbe Vorgehensweise verwendet, wie beim normalen [[Cron-Job]]. Sie sollten jedoch vorher testen, ob alle LDAP-Einstellungen korrekt funktionieren, bevor Sie die Nutzersynchronisierung automatisiert durchführen. Ebenso sollten Sie Ihre [[Moodle-Datenbank]] und Ihr [[Moodle-Datenverzeichnis]] sichern, falls etwas schief geht. Falsche Konfigurationseinstellungen können dazu führen, dass Nutzer/innen fälschlicherweise gelöscht werden.  
There is a script located at /auth/ldap/auth_ldap_sync_users.php which will create or suspend/delete (see the setting above) all LDAP accounts automatically. Ideally, this is called from the command line once a day during a quiet time using exactly the same procedure as the standard [[Cron|cron]] job (so you will end up with two cron entries). It is important, however, to make sure that all of the above LDAP settings are working properly before you try this, as well as backing up your database and moodledata folders. Poor LDAP configuration could lead to users being wrongly deleted.


If you find that the script is not running through all of your users properly and you have MS Active Directory + over 1000 users, this is because by default, MS AD only sends back 1000 users at a time. Follow the instructions [http://support.microsoft.com/kb/315071 here] to set the MaxPageSize setting to a number higher than your total number of users (both now and in future) to fix it.
Wenn das Skript nicht alle Nutzer/innen richtig behandelt, Sie MS Active Directory verwenden  und mehr als 1000 Nutzer/innen haben, dann liegt das daran, dass MS AD nur 1000 Nutzer/innen gleichzeitig zurücksendet. Folgen Sie [http://support.microsoft.com/kb/315071 dieser Anleitung], um die Einstellung ''MaxPageSize'' auf einen Wert zu setzen, der größer ist als Ihre Nutzerzahl. Dann wird das Skript korrekt arbeiten.


===NTLM SSO===
===NTLM SSO===
{| border="1" cellspacing="0" cellpadding="5"
====Aktivieren====
! Name
NTLM ist eine spezielle Authentifizierungsmethode von Windows. Es gibt ein Zusatzmodul, das die [[:en:NTLM_authentication|NTML-Authentifizierung]] in Moodle intergriert. Es gehört nicht zur Standardinstallation von Moodle.
! Wert
|-
| Aktivieren
| If you want to use NTLM SSO (see details at [[NTLM_authentication]]), choose ''Yes'' here. Otherwise, choose ''No''.
|-
| Subnet
| Specify the subnets of the clients that will use NTLM SSO (see details at [[NTLM_authentication]]).
 
|}


===Data Mapping===
Wenn Sie NTLM Single Sign On verwenden möchten, setzen Sie diese Einstellung auf ''Ja''.
Mit diesen Einstellungen legen Sie fest, wie die einzelnen Nutzerdatenfelder aus LDAP auf die Datenfelder in der Nutzertabelle der Moodle-Datenbank abgebildet werden. Diese Einstellungen sind optional.  


Für jedes einzelne Datenfeld in der Nutzertabelle der Moodle-Datenbank (Vorname, Nachname, E-Mail-Adresse, Stadt/Ort, Land, etc.) können Sie folgende Einstellungen vornehmen:
====Subnet====
*Eingabe des Namen des zugehörigen Datenfeldes in LDAP
Geben Sie hier das Subnetz der Clients ein, die NTML Single Sign On nutzen sollen.
*''Update lokaler Daten'': Mit dieser Einstellung legen Sie fest, was mit den Nutzerdaten in Moodle passieren soll, wenn sie nicht mit den entsprechenden Daten der externen Quelle übereinstimmen. Mögliche Optionen sind:
:*''Beim Anlegen'' - beim erstmaligen Anmelden in Moodle werden die Daten aus der externen Quelle nach Moodle kopiert.
:*''Bei jedem Login'' - bei jedem Anmelden in Moodle wird geprüft, ob die Daten aus der externen Quelle mit den Daten in Moodle übereinstimmen. Wenn das nicht der Fall ist, werden die Daten in Moodle aktualisiert.
*''Update externer Daten'': Mit dieser Einstellung legen Sie fest, was mit den externen Nutzerdaten passieren soll, wenn sie nicht mit den entsprechenden Daten in Moodle übereinstimmen. Mögliche Optionen sind:
:*''Nie'' - die Daten der externen Quelle werden nie geändert.
:*''Bei der Aktualisierung'' - wenn die Daten in Moodle geändert wurden, werden diese Änderungen in die externe Quelle kopiert.
*''Sperrwert'': Mit dieser Einstellung legen Sie fest, ob ein Nutzer das entsprechende Datenfeld in seinem Nutzerprofil in Moodle bearbeiten kann. Mögliche Optionen sind:
:*''Bearbeitbar'' - der Nutzer kann dieses Datenfeld jederzeit bearbeiten.
:*''Bearbeitbar, wenn Feld leer'' - der Nutzer kann dieses Datenfeld bearbeiten, wenn es leer ist.
:*''Gesperrt'' - der Nutzer kann dieses Datenfeld nicht bearbeiten. Diese Einstellung ist sinnvoll, wenn die Nutzerdaten in der externen Quelle gepflegt werden.


==Microsoft Active Directory==
====MS IE fast path?====
Microsoft Active Directory (MS-AD) ist der Verzeichnisdienst von Microsoft. Er ist im Windows 2000 Server enthalten. Detaillierte Informationen zur Konfiguration der LDAP-Authentifizierung mit MS-AD finden Sie im Artikel [[:en:Active Directory|Microsoft Active Directory]].
Diese Einstellung ist nur relevant, wenn Sie mit dem Internet Explorer auf Moodle zugreifen. Wählen Sie ''Ja'', wenn Sie den "fast path" zulassen wollen.


==Advanced Scenarios - Multiple servers or locations==
====Authentifikationsart====
For larger installations with  multiple LDAP servers, or multiple locations (contexts) in a LDAP tree.
Wählen Sie hier die Authentifizierungsart, die beim Webserver eingestellt ist, um Nutzer/innen zu authentifizieren.


===Using multiple LDAP Servers===
===Datenzuordnung===
Entering more than one name in the ldap_host_url field can provide some sort of resilience to your system. Simply use the syntax :
Mit diesen Einstellungen legen Sie fest, wie die einzelnen Nutzerdatenfelder aus LDAP auf die Datenfelder in der Nutzertabelle der [[Moodle-Datenbank]] abgebildet werden. Diese Einstellungen sind optional.  
ldap://my.first.server ; ldap://my.second.server ; ...


Of course, this will only work if all the servers share the same directory information, using a replication or synchronization mecanism once introduced in eDirectory and now generalized to the main LDAP-compatible directories.
Die Konfiguration der Datenzuordnung ist ausführlich im Artikel [[Authentifizierungs-Plugins verwalten#Nutzerdatenfelder zuordnen und sperren|Authentifizierungs-Plugins verwalten]] beschrieben.


There is one drawback in Moodle 1.5 - 1.6 implementation of LDAP authentication : the auth_ldap_connect() function processes the servers sequentially, not in a round robin mode. Thus, if the primary server fails, you will have to wait for the connection to time out before switching to the following one.
==Microsoft Active Directory==
Microsoft Active Directory (MS-AD) ist der Verzeichnisdienst von Microsoft. Er ist im Windows 2000 Server enthalten. Detaillierte Informationen zur Konfiguration der LDAP-Authentifizierung mit MS-AD finden Sie im Artikel [[:en:Active Directory|Microsoft Active Directory]].


===Using multiple user locations (contexts) in your LDAP tree===
==Weitere Szenarien==
There is no need to use multiple user locations if your directory tree is flat, i.e. if all user accounts reside in a '''ou=people,dc=my,dc=organization,dc=domain''' or '''ou=people,o=myorg''' container.  
Bei größeren Installationen kann es sein, dass mehrere LDAP-Server vorhanden sind und / oder dass es mehrere Kontexte im LDAP-Tree gibt.


At the opposite, if you use the ACL mecanism to delegate user management, there are chances that your users will be stored in containers like '''ou=students,ou=dept1,o=myorg''' and '''ou=students,ou=dept2,o=myorg''' ...
===Mehrere LDAP-Server verwenden===
Bei den LDAP-Einstellungen (siehe oben) können Sie im Textfeld ''Host URL'' mehrere LDAP-Server eintragen. Einzelne Server werden durch Semikolon voneinander getrennt:
  ldap://my.first.server ; ldap://my.second.server ; ...


Then there is an alternative :
Wenn ein LDAP-Server ausfällt, übernimmt der nächste LDAP-Server die Authentifizierung.
* Look at the '''o=myorg''' level with the ldap_search_sub attribute set to '''yes'''.
* Set the ldap_context to '''ou=students,ou=dept1,o=myorg ; ou=students,ou=dept2,o=myorg'''.


Choosing between these two solutions supposes some sort of benchmarking, as the result depends heavily on the structure of your directory tree '''and''' on your LDAP software indexing capabilities. Simply note that there is a probability in such deep trees that two users share the same ''common name'' (cn), while having different ''distinguished names''. Then only the second solution will have a deterministic result (returning allways the same user).
Das funktioniert selbstverständlich nur, wenn alle eingetragenen LDAP-Server auf dieselben Nutzerinformationen und -daten zugreifen und dasselbe Verzeichnis teilen.


===Using LDAPS (LDAP + SSL)===
===Mehrere Kontexte im LDAP-Tree verwenden===
====Enabling LDAPS on the LDAP server side====
Wenn Ihr LDAP-Tree flach ist, müssen Sie nicht mehrere Kontexte verwenden, sondern halten alle Nutzerdaten in einem Container, z.B. '''ou=people,dc=my,dc=organization,dc=domain''' oder '''ou=people,o=myorg'''.


* [[Active_Directory#MS_Active_Directory_.2B_SSL|Enabling LDAPS on MS Active Directory ]]
Wenn Sie dagegen einen ACL Mechanismus verwenden, um Nutzer/innen zu verwalten, dann kann es sein, dass Ihre Nutzerdaten in verschiedenen Containern liegen, z.B. '''ou=students,ou=dept1,o=myorg''' und '''ou=students,ou=dept2,o=myorg'''.


====Enabling LDAPS on the client side (Moodle server)====
In diesem Fall gibt es folgende Konfigurationsmöglichkeit:
* Setzen Sie die LDAP-Einstellung ''Subkontexte'' auf ''Ja''.
* Setzen Sie die LDAP-Einstellung ''Kontexte'' auf '''ou=students,ou=dept1,o=myorg ; ou=students,ou=dept2,o=myorg'''.


* If you are running Moodle on MS Windows, you need to tell PHP's OpenLDAP extension to disable SSL server certificate checking. You must create a directory called ''C:\OpenLDAP\sysconf''. In this directory, create a file called ''ldap.conf'' with the following content:


TLS_REQCERT never
===LDAP + SSL verwenden===
Wenn Sie die Authentifizierung über eine verschlüsselte Verbindung durchführen wollen, müssen Sie LDAP und SSL (=LDAPS) auf der Server-Seite (also auf dem LDAP-Server) und auf der Client-Seite (also auf dem Moodle-Server) aktivieren.


* If you are running Moodle on Linux or any other Unix-like operating system, and you want to disable SSL server certificate checking, you need to edit the OpenLDAP client configuration file (usually /etc/ldap.conf or /etc/ldap/ldap.conf or even /etc/openldap/ldap.conf) and make sure you have a line like the following one:
Im englischsprachigen Artikel [[:en:Active_Directory#MS_Active_Directory_.2B_SSL|MS Active Directory]] finden Sie eine Anleitung, wie Sie LDAPS bei Verwendung des MS Active Directory auf der Server-Seite aktivieren.


TLS_REQCERT never
====LDAPS auf der Client-Seite (Moodle-Server) aktivieren====
* Wenn Sie Moodle unter MS Windows laufen haben, müssen Sie in der Konfiguration der PHP-Erweiterung OpenLDAP die Prüfung des SSL Server Zertifikats deaktivieren:
**Legen Sie ein Verzeichnis ''C:\OpenLDAP\sysconf'' an.
**In diesem Verzeichnis erstellen Sie eine Datei ''ldap.conf'' mit folgendem Inhalt:


Now you should be able to use '''ldaps://''' when connecting to your LDAP server.
  TLS_REQCERT never


If you have the certificate of the LDAPS server as a file and want to check the certificate for the connection, copy the certificate file to an arbitary directory (e.g. /etc/ldap/certificate.pem) on your client and change the content of the ''ldap.conf'' as follows:
*Wenn Sie Moodle unter Linux oder einem anderen UNIX-artigen Betriebssystem betreiben und die Prüfung des SSL Server Zertifikats deaktivieren wollen, dann müssen Sie die OpenLDAP-Client-Konfigurationsdatei (meistens ''/etc/ldap.conf'' oder ''/etc/ldap/ldap.conf'' oder ''/etc/openldap/ldap.conf'') bearbeiten und folgende Zeile eintragen:


TLS_REQCERT demand
  TLS_REQCERT never
TLS_CACERT  /etc/ldap/certificate.pem


When the requested server certificate is bad or not provided, the connection to the LDAPS server is immediately terminated.
Anschließend sollten Sie für die Verbindung mit dem LDAP-Server '''ldaps://''' verwenden können.


[[LDAP_authentication#Table of Contents|Table of Contents]]
*Wenn Sie das Zertifikat des LDAP-Servers als Datei vorliegen haben und dieses Zertifikat beim Verbindungsaufbau prüfen wollen, dann kopieren Sie die Datei in ein beliebigen Verzeichnis auf dem Moodle-Server (z.B. ''/etc/ldap/certificate.pem'') und ändern Sie die OpenLDAP-Client-Konfigurationsdatei ''ldap.conf'' wie folgt:


  TLS_REQCERT demand
  TLS_CACERT  /etc/ldap/certificate.pem


Wenn das angeforderte Zertifikat ungültig oder nicht vorhanden ist, wird die Verbindung zum LDAP-Server sofort unterbrochen.


==Siehe auch==
==Siehe auch==
* [[Authentifizierung]]
* [[LDAP-Einschreibung]]
* [[Module für die Authentifizierung verwalten]]
* [[Kurseinschreibung über LDAP]]
* [http://download.moodle.org/download.php/docs/en/how-to_guides/ldap_auth_and_enrolment_set-up.pdf LDAP auth and enrolment set-up guide] (PDF 227KB)
* [http://download.moodle.org/download.php/docs/en/how-to_guides/ldap_auth_and_enrolment_set-up.pdf LDAP auth and enrolment set-up guide] (PDF 227KB)
*[http://moodle.org/mod/forum/view.php?id=42 User authentication forum] - Diskussionsforum im Kurs ''Using Moodle'' auf moodle.org
*[http://moodle.org/mod/forum/view.php?id=42 User authentication forum] - Diskussionsforum im Kurs ''Using Moodle'' auf moodle.org

Aktuelle Version vom 1. November 2013, 10:57 Uhr


Diese Authentifizierungsmethode verwendet einen LDAP-Server, um zu prüfen, ob die Anmeldedaten eines Nutzers (Anmeldename / Kennwort) gültig sind.

Dieser Artikel beschreibt, wie die Authentifizierung über LDAP konfiguriert wird. Wir gehen zunächst von einem Basisszenario aus, betrachten dann ein erweitertes Szenario und zeigen abschließend, wie man mit möglichen Fehlerfällen umgehen kann.

Aktivierung

Die Aktivierung der Authentifizierung über einen LDAP-Server erfolgt auf der Seite Einstellungen > Website-Administration > Plugins > Authentifizierung > Übersicht.

Klicken Sie in der Liste auf das geschlossene Auge-Symbol show.gif in der Zeile LDAP-Server.

Spezifische Einstellungen

Spezifische Einstellungen für die Authentifizierung über LDAP nehmen Sie auf der Seite Einstellungen > Website-Administration > Plugins > Authentifizierung > LDAP-Server vor.

Das folgende Basisszenario entspricht einer einfachen Grundkonfiguration, die für die meisten Installation geeignet ist. Nehmen wir beispielhaft folgende Voraussetzungen an: Ihre Moodle-Installation ist über http://your.moodle.site/ erreichbar.

  1. Sie haben auf dem Moodle-Server PHP inklusive der LDAP-Erweiterung installiert und aktiviert, und dies wird unter http://your.moodle.site/admin/phpinfo.php angezeigt, wenn Sie sich als Administrator in Moodle anmelden.
  2. Ihr LDAP-Server hat die IP-Adresse 192.168.1.100.
  3. Sie verwenden kein LDAP mit SSL (auch bekannt als ldaps).
  4. Sie möchten nicht, dass Nutzer beim ersten Login in Moodle ihr Kennwort ändern.
  5. Sie verwenden eine einzige Domain als Quelle für ihre Authentifizierungsdaten im Fall, dass Sie das MS Active Directory verwenden.
  6. Sie verwenden den DN-Namen dc=my,dc=organization,dc=domain als Wurzel Ihres LDAP-Baums.
  7. Sie haben einen Bind-Nutzer, der die Verbindung zum LDAP-Server aufnimmt. Stellen Sie sicher, das Nutzername und Kennwort dieses Bind-Nutzers dauerhaft gültig sind, und verwendet Sie ein möglichst starkes Kennwort. Sie müssen dieses Kennwort nur einmal bei der Konfiguration der LDAP-Authentifizierung angeben. Der Anmeldename dieses Bind-Nutzers sei in unserem Basisszenario cn=ldap-user,dc=my,dc=organization,dc=domain, und das Kennwort sei ein_ganz_starkes_Kennwort.
  8. Alle Moodle-Nutzer gehören zu einer Organisationseinheit (OU), die moodleusers heißt und direkt unterhalb der Wurzel des LDAP-Baums liegt. Diese Organsiationseinheit hat den DN-Namen ou=moodleusers,dc=my,dc=organization,dc=domain.
  9. Sie möchten nicht, dass die LDAP-Kennwörter Ihrer Nutzer in der Moodle-Datenbank gespeichert werden.

Im folgenden beschreiben wir, welche spezifischen Einstellungen Sie für dieses Basisszenario vornehmen müssen.

LDAP Server-Einstellungen

Host URL

Wenn die IP-Adresse Ihres LDAP-Servers 192.168.1.100 ist, geben Sie folgendes ein: ldap://192.168.1.100 oder einfach 192.168.1.100 (manche Nutzer haben Probleme mit der ersten Variante, insbesondere bei MS Windows Servern).

Version

Normalerweise ist die Version 3 die richtige, es sei denn, Sie verwenden einen uralten LDAP-Server.

Codierung

Geben Sie die Kodierung des LDAP-Servers an. Meistens ist das utf-8.

Bind-Einstellungen

Kennworte verbergen

Wenn keine Nutzerkennwörter in der Moodle-Datenbank gespeichert werden sollen, dann wählen Sie hier Ja.

Anmeldename

Geben Sie hier den Namen des oben definierten Bind-Nutzers ein, z.B. cn=ldap-user,dc=my,dc=organization,dc=domain (ohne Anführungszeichen).

Kennwort

Geben Sie hier das Passwort des Bind-Nutzers ein. Verwenden Sie ein starkes Passwort (mindestens 8 Zeichen, 1 Ziffer, 1 Großbuchstabe, 1 Kleinbuchstabe, 1 Sonderzeichen)!

Nutzersuche (user lookup)

Nutzertyp

  • Novell Edirectory - wenn Ihr LDAP-Server Novell's eDirectory verwendet
  • posixAccount (rfc2307) - wenn Ihr LDAP-Server einen RFC-2307-kompatiblen LDAP-Server verwendet (wählen Sie diese Einstellung, wenn Ihr Server OpenLDAP verwendet)
  • posixAccount (rfc2307bis) - wenn Ihr LDAP-Server einen RFC-2307bis-kompatiblen LDAP-Server verwendet
  • sambaSamAccount (v.3.0.7) - wenn Ihr LDAP-Server mit der SAMBA 3.x LDAP Schema Erweiterung läuft und Sie diese verwenden wollen
  • MS ActiveDirectory wenn Ihr LDAP-Server das Microsoft Active Directory (MS-AD) verwendet

Kontexte

DN-Angabe des Kontexts (der Umgebung, des Containers), wo Ihre Moodle-Nutzer abgelegt sind. Geben Sie etwa folgendes ein: ou=moodleusers,dc=my,dc=organization,dc=domain.

Subkontexte

Wenn Sie Unterorganisationseinheiten (Subkontexte) unterhalb von ou=moodleusers,dc=my,dc=organization,dc=domain haben und Moodle diese durchsuchen soll, dann wählen Sie hier Ja. Andernfalls wählen Sie Nein.

Alias berücksichtigen

Manchmal teilt Ihnen Ihr LDAP-Server mit, das der tatsächliche Wert, nach dem Sie suchen, in einem anderen Zweig des LDAP-Baumes liegt (das nennt man Alias). Wenn Sie möchten, dass Moodle diesen Alias auflöst und den Wert aus dem tatsächlichen Ort innerhalb des LDAP-Baumes abruft, dann wählen Sie Ja. Andernfalls wählen Sie Nein. Wenn Sie das Microsoft Active Directory (MS-AD) verwenden, wählen Sie ebenfalls Nein.

Nutzermerkmal

Optional: Geben Sie hier das Attribut an, das Ihr LDAP-Baum verwendet, um Nutzer zu benennen oder zu suchen. Moodle verwendet einen Standardwert, basierend auf dem Nutzertyp, den Sie weiter oben angegeben haben. Normalerweise ist der Wert cn (Novell eDirectory und MS-AD) oder uid (RFC-2037, RFC-2037bis und SAMBA 3.x LDAP Erweiterung). Wenn Sie MS-AD verwenden, können Sie auch sAMAccountName (der Vor-Windows_2000-Loginname) eintragen.

Mitgliedsmerkmal

Optional: Das ist das Attribut, um Nutzer einer gegebenen Gruppe zu kennzeichnen. Moodle verwendet einen Standardwert, basierend auf dem Nutzertyp, den Sie weiter oben angegeben haben. Normalerweise ist der Wert member oder memberUid.

Mitgliedsmerkmal nutzt dn

Optional: Geben Sie eine 1 ein, falls Ihr Mitgliedsattribut ausgezeichnete Namen enthält. Andernfalls geben Sie 0 ein oder lassen das Feld leer.

ObjectClass

Optional: Hier geben Sie den LDAP-Objekttyp an, der für die Suche nach Nutzern verwendet wird. Moodle verwendet einen Standardwert, basierend auf dem Nutzertyp, den Sie weiter oben angegeben haben. Die Standardwerte für ldap_user_type sind:

  • User für Novell eDirectory
  • posixAccount für RFC-2037 und RFC-2037bis
  • sambaSamAccount für SAMBA 3.0.x LDAP Erweiterung
  • user für Microsoft Active Directory (MS-AD)

Siehe auch Diskussionsbeitrag auf moodle.org

Kennwortänderung verlangen

Kennwortänderung verlangen

Wählen Sie hier Ja, dann werden Nutzer beim erstmaligen Anmelden in Moodle aufgefordert, ihr Kennwort zu ändern. Denken Sie daran, das dann das Kennwort geändert wird, das im LDAP-Server hinterlegt ist.

Standardseite zur Kennwortänderung nutzen

Wenn Sie diese Einstellung auf Ja setzen, dann verwendet Moodle seine interne Kennwortänderungsseite, und zwar jedes Mal, wenn ein Nutzer sein Kennwort ändern möchte.

Wenn Sie die Einstellung auf Nein setzen, dann verwendet Moodle eine spezielle externe Kennwortänderungsseite, die Sie unter URL zur Kennwortänderung angeben können (siehe unten).

Beachten Sie, dass eine Änderung der LDAP-Kennwörter evtl. eine sichere ldaps-Verbindung erfordert. Außerdem muss der weiter oben angegebene Bind-Nutzer die entsprechenden Rechte haben, Nutzerkennwörter zu ändern.

Desweiteren ist der Code zur Kennwortänderung nur bedingt getestet. Er funktioniert für LDAP-Server, die das Novell eDirectory oder das Microsoft Active Directory verwenden. Bei anderen LDAP-Servern kann es sein, das die Kennwortänderung nicht funktioniert.

Kennwortformat

Geben Sie hier an, wie neue Kennwörter verschlüsselt werden, bevor sie zum LDAP-Server gesendet werden. Mögliche Optionen sind: Reiner Text, MD5-Verschlüsselung oder SHA-1 hash.

URL zur Kennwortänderung

Hier können Sie eine externe Seite zur Kennwortänderung angeben, auf der Nutzer ihr Kennwort ändern oder ein neues anfordern können. Wenn Sie hier einen Eintrag vornehmen, dann erscheint im Moodle-Nutzerprofil ein Button Kennwort ändern.

Gültigkeitsablauf von Kennworten

Gültigkeitsende

  • Wenn Sie diese Option auf Nein setzen, prüft Moodle nicht, ob die Gültigkeitsdauer des Kennworts abgelaufen ist.
  • Wenn Sie diese Option auf LDAP setzen, prüft Moodle, ob die Gültigkeitsdauer des LDAP-Kennwort abgelaufen ist und verschickt ggf. eine Warnmeldung.

Warnung zum Gültigkeitsende

Mit dieser Zahl legen Sie fest, wie viele Tage vor Ablauf der Gültigkeitsdauer eines Kennworts der Nutzer eine entsprechende Warnmeldung per E-Mail zugeschickt bekommt.

Merkmal für Gültigkeitsende

Geben Sie hier das LDAP-Attribut ein, das zur Prüfung der Gültigkeitsdauer eines Kennworts verwendet wird. Diese Eingabe ist optional, wenn Sie das Feld leer lassen, wird der Standardwert verwendet.

GraceLogins

Mit dieser Option können Sie die GraceLogin-Funktionalität von LDAP aktivieren. GraceLogin bedeutet, dass ein Nutzer auch nach Ablauf der Gültigkeitsdauer seines Kennworts noch eine bestimmte Anzahl von Versuchen hat, sich anzumelden. Bei jedem Anmeldeversuch wird diese Zahl um eins vermindert, und erst wenn der Wert gleich Null ist, wird der Zugriff endgültig verweigert.

Merkmal für GraceLogin

Geben Sie hier das LDAP-Attribut ein, das die Anzahl der Anmeldeversuche nach Ablauf der Gültigkeitsdauer des Kennworts festlegt. Diese Eingabe ist optional, wenn Sie das Feld leer lassen, wird der Standardwert verwendet.

Nutzer-Erstellung aktivieren

Nutzer extern anlegen

Neue (anonyme) Nutzer/innen können neue Nutzerkonten auf dem externen LDAP-Server anlegen und per E-Mail bestätigen. Wenn Sie diese Option aktivieren, dann sollten Sie auch eine entsprechende Anleitung auf der Seite Einstellungen > Website-Administration > Plugins > Authentifizierung > Übersicht im Textbereich Anweisungen hinterlegen.

Derzeit können nur Novell eDirectory und MS-AD neue Nutzer/innen auf dem externen LDAP-Server anlegen.

Kontext für neue Nutzer/innen

Geben Sie hier den Kontext an, in dem neue Nutzer/innen extern angelegt werden. Aus Sicherheitsgründen sollte dieser Kontext verschieden vom Kontext anderer Nutzer/innen sein. |}

Kursersteller/in

Kursersteller/innen

Geben Sie hier den DN der Gruppe aller der Nutzer/innen an, die neue Kurse in Moodle anlegen können sollen. Typischerweise ist das eine posixGroup mit einem memberUid-Merkmal, das alle Nutzer/innen haben, die neue Kurse in Moodle anlegen können sollen. Wenn Ihre Gruppe z.B. creators heißt, geben Sie ein: cn=creators,ou=moodleusers,dc=my,dc=organization,dc=domain. Jedes "memberUid"-Merkmal enthält den CN einer Person, die neue Kurse anlegen darf. Verwenden Sie nicht den vollen DN (also nicht memberUid: cn=JoeTeacher,ou=moodleusers,dc-my,dc=organizations,dc=domain, sondern nur memberUid: JoeTeacher).

Im eDirectory ist die objectClass für eine Gruppe standardmäßig nicht posixGroup, sondern groupOfNames, deren Mitgliedsmerkmal member ist (und nicht memberUid) und dessen Wert der volle DN der betreffenden Person ist. Sie können den Moodle Code entsprechend anpassen. Alternativ können Sie jedoch ein neues objectClass Merkmal von posixGroup zur Gruppe der Kursersteller/innen hinzufügen und die CNs aller Kursersteller/innen in einem memberUid-Merkmal ablegen.

Im MS Active Directory müssen Sie eine Sicherheitsgruppe anlegen und alle Kursersteller/innen in diese Gruppe eintragen. Wenn der LDAP-Kontext (siehe oben) z.B. ou=staff,dc=my,dc=org ist, dann sollte die Gruppe entsprechend cn=creators,ou=staff,dc=my,dc=org sein. Wennn einige Nutzer/innen zu anderen Kontexten gehören und zur gleichen Sicherheitsgruppe hinzugefügt wurden, müssen Sie diese als separate Kontexte ergänzen (unter Verwendung desselben Formats).

Cron-Synchronisierungsskript

Entfernte externe Nutzer

Mit dieser Einstellung legen Sie fest, was bei der Nutzersynchronisation mit Nutzerkonten in Moodle passieren soll, wenn die zugehörigen Nutzer/innen aus dem externen LDAP-Server gelöscht wurden. Wenn Sie die Option Intern aufheben wählen, dann werden die Nutzerkonten reaktiviert, sobald die zugehörigen Nutzer/innen im externen LDAP-Server wieder auftauchen.

Anmerkung: Es gibt ein PHP-Skript im Moodle-Verzeichnis moodle/auth/ldap/cli/sync_users.php, das Nutzerkonten in Moodle automatisch mit dem LDAP-Server synchronisiert, d.h. neu anlegt, intern aufhebt oder löscht. Idealerweise wird dieses Skript manuell von der Kommandozeile aus gestartet, am besten einmal täglich in einer ruhigen Zeit, wenn auf dem Moodle-Server wenig los ist. Dabei wird dieselbe Vorgehensweise verwendet, wie beim normalen Cron-Job. Sie sollten jedoch vorher testen, ob alle LDAP-Einstellungen korrekt funktionieren, bevor Sie die Nutzersynchronisierung automatisiert durchführen. Ebenso sollten Sie Ihre Moodle-Datenbank und Ihr Moodle-Datenverzeichnis sichern, falls etwas schief geht. Falsche Konfigurationseinstellungen können dazu führen, dass Nutzer/innen fälschlicherweise gelöscht werden.

Wenn das Skript nicht alle Nutzer/innen richtig behandelt, Sie MS Active Directory verwenden und mehr als 1000 Nutzer/innen haben, dann liegt das daran, dass MS AD nur 1000 Nutzer/innen gleichzeitig zurücksendet. Folgen Sie dieser Anleitung, um die Einstellung MaxPageSize auf einen Wert zu setzen, der größer ist als Ihre Nutzerzahl. Dann wird das Skript korrekt arbeiten.

NTLM SSO

Aktivieren

NTLM ist eine spezielle Authentifizierungsmethode von Windows. Es gibt ein Zusatzmodul, das die NTML-Authentifizierung in Moodle intergriert. Es gehört nicht zur Standardinstallation von Moodle.

Wenn Sie NTLM Single Sign On verwenden möchten, setzen Sie diese Einstellung auf Ja.

Subnet

Geben Sie hier das Subnetz der Clients ein, die NTML Single Sign On nutzen sollen.

MS IE fast path?

Diese Einstellung ist nur relevant, wenn Sie mit dem Internet Explorer auf Moodle zugreifen. Wählen Sie Ja, wenn Sie den "fast path" zulassen wollen.

Authentifikationsart

Wählen Sie hier die Authentifizierungsart, die beim Webserver eingestellt ist, um Nutzer/innen zu authentifizieren.

Datenzuordnung

Mit diesen Einstellungen legen Sie fest, wie die einzelnen Nutzerdatenfelder aus LDAP auf die Datenfelder in der Nutzertabelle der Moodle-Datenbank abgebildet werden. Diese Einstellungen sind optional.

Die Konfiguration der Datenzuordnung ist ausführlich im Artikel Authentifizierungs-Plugins verwalten beschrieben.

Microsoft Active Directory

Microsoft Active Directory (MS-AD) ist der Verzeichnisdienst von Microsoft. Er ist im Windows 2000 Server enthalten. Detaillierte Informationen zur Konfiguration der LDAP-Authentifizierung mit MS-AD finden Sie im Artikel Microsoft Active Directory.

Weitere Szenarien

Bei größeren Installationen kann es sein, dass mehrere LDAP-Server vorhanden sind und / oder dass es mehrere Kontexte im LDAP-Tree gibt.

Mehrere LDAP-Server verwenden

Bei den LDAP-Einstellungen (siehe oben) können Sie im Textfeld Host URL mehrere LDAP-Server eintragen. Einzelne Server werden durch Semikolon voneinander getrennt:

  ldap://my.first.server ; ldap://my.second.server ; ...

Wenn ein LDAP-Server ausfällt, übernimmt der nächste LDAP-Server die Authentifizierung.

Das funktioniert selbstverständlich nur, wenn alle eingetragenen LDAP-Server auf dieselben Nutzerinformationen und -daten zugreifen und dasselbe Verzeichnis teilen.

Mehrere Kontexte im LDAP-Tree verwenden

Wenn Ihr LDAP-Tree flach ist, müssen Sie nicht mehrere Kontexte verwenden, sondern halten alle Nutzerdaten in einem Container, z.B. ou=people,dc=my,dc=organization,dc=domain oder ou=people,o=myorg.

Wenn Sie dagegen einen ACL Mechanismus verwenden, um Nutzer/innen zu verwalten, dann kann es sein, dass Ihre Nutzerdaten in verschiedenen Containern liegen, z.B. ou=students,ou=dept1,o=myorg und ou=students,ou=dept2,o=myorg.

In diesem Fall gibt es folgende Konfigurationsmöglichkeit:

  • Setzen Sie die LDAP-Einstellung Subkontexte auf Ja.
  • Setzen Sie die LDAP-Einstellung Kontexte auf ou=students,ou=dept1,o=myorg ; ou=students,ou=dept2,o=myorg.


LDAP + SSL verwenden

Wenn Sie die Authentifizierung über eine verschlüsselte Verbindung durchführen wollen, müssen Sie LDAP und SSL (=LDAPS) auf der Server-Seite (also auf dem LDAP-Server) und auf der Client-Seite (also auf dem Moodle-Server) aktivieren.

Im englischsprachigen Artikel MS Active Directory finden Sie eine Anleitung, wie Sie LDAPS bei Verwendung des MS Active Directory auf der Server-Seite aktivieren.

LDAPS auf der Client-Seite (Moodle-Server) aktivieren

  • Wenn Sie Moodle unter MS Windows laufen haben, müssen Sie in der Konfiguration der PHP-Erweiterung OpenLDAP die Prüfung des SSL Server Zertifikats deaktivieren:
    • Legen Sie ein Verzeichnis C:\OpenLDAP\sysconf an.
    • In diesem Verzeichnis erstellen Sie eine Datei ldap.conf mit folgendem Inhalt:
 TLS_REQCERT never
  • Wenn Sie Moodle unter Linux oder einem anderen UNIX-artigen Betriebssystem betreiben und die Prüfung des SSL Server Zertifikats deaktivieren wollen, dann müssen Sie die OpenLDAP-Client-Konfigurationsdatei (meistens /etc/ldap.conf oder /etc/ldap/ldap.conf oder /etc/openldap/ldap.conf) bearbeiten und folgende Zeile eintragen:
 TLS_REQCERT never

Anschließend sollten Sie für die Verbindung mit dem LDAP-Server ldaps:// verwenden können.

  • Wenn Sie das Zertifikat des LDAP-Servers als Datei vorliegen haben und dieses Zertifikat beim Verbindungsaufbau prüfen wollen, dann kopieren Sie die Datei in ein beliebigen Verzeichnis auf dem Moodle-Server (z.B. /etc/ldap/certificate.pem) und ändern Sie die OpenLDAP-Client-Konfigurationsdatei ldap.conf wie folgt:
 TLS_REQCERT demand
 TLS_CACERT  /etc/ldap/certificate.pem

Wenn das angeforderte Zertifikat ungültig oder nicht vorhanden ist, wird die Verbindung zum LDAP-Server sofort unterbrochen.

Siehe auch