geli-lms / geli

geli is an open source e-learning platform
Apache License 2.0
153 stars 70 forks source link

Integration of Shibboleth #649

Open utetrapp opened 6 years ago

utetrapp commented 6 years ago

User Story

As a: admin

I want: use ~LDAP~ Shibboleth authentication in geli

so that:

Estimated:

Need to be discussed

Additional info:

see LDAP FBI

Please tag this issue if you are sure to which tag(s) it belongs.

kesselb commented 6 years ago

You may login to userv-shell.fbi.h-da.de with your userv credentials and get the ldap configuration from their.

/etc/ldap/ldap.conf: general information (e.g. some tls certificate from deutsche telekom used) /etc/pam_ldap.conf: uri, ldap version, base

mleppla commented 6 years ago

link above is gone

Gargamil commented 6 years ago

Maybe ldapjs Client can help here

mleppla commented 6 years ago

Get information by it-services h-da:

Kurzform: anonymen LDAP-Bind gegen ldap-rr.fbi.h-da.de (Port 389 mit STARTTLS oder 636 mit > TLS von Beginn an). Als Base-DN "dc=fbi,dc=h-da,dc=de" verwenden. Die Privilegien des anonymen "Users" sind ausreichend, um anhand eines angegebenen FBI-Accountnamens (z.B. istmalepp) den Distinguished Name (DN) des Users (z.B. uid=istxxxxxx,ou=people,ou=Students,dc=fbi,dc=h-da,dc=de). zu finden (mittels LDAP-Search uid=istmalepp). Dieser kann dann zusammen mit dem angegebenen Passwort für einen Re-Bind benutzt werden, wodurch das Passwort überprüft wird und der Zugriff gewährt oder abgelehnt werden kann.


In der Tat sind die LDAP-Server nur aus dem Hochschulnetz (bzw. per VPN) erreichbar. Per 'openconnect https://firewall.fbi.h-da.de' kann man sich mit dem VPN verbinden (benötigt OpenConnect oder https://openconnect.github.io/openconnect-gui/).

Mit 'ssh -L 1337:ldap-rr.fbi.h-da.de:389 istxxxxxx@userv-shell.fbi.h-da.de' lässt sich auch SSH-Portforwarding nutzen, um den Port 389 eines LDAP-Servers temporär (für die Dauer der SSH-Session) auf localhost:1337 verfügbar zu machen. Das geht auch von extern ohne VPN.

Wenn die LDAP-Server erreichbar sind, sollte folgende Commandline ein entsprechendes Ergebnis liefern. Der ldapsearch-Command findet sich bei den meisten Linux-Distributionen in einem Paket namens openldap-clients oder ldap-utils, bei OS X sollte es vorinstalliert sein.

ldapsearch -xZZ -p 389 -h ldap-rr.fbi.h-da.de -b 'dc=fbi,dc=h-da,dc=de' uid=istxxxxxx

Im Falle von SSH-Portforwarding ldap-rr.fbi.h-da.de/389 eben durch localhost/1337 (o.ä.) ersetzen.

mleppla commented 6 years ago

Branch: feature/#649-ldap-integration