Logo von UCS@school und Abbildung des WebUntis Portals mit SSO

Seitens der Schulträger kommt in unseren Projekten immer wieder die Frage auf, ob die Anbindung von WebUntis, einem populären Tool für die Bereitstellung von Stunden- und Vertretungsplänen, an UCS@school per Single Sign-On möglich sei. Da WebUntis, zumeist von einzelnen Schulen, sehr intensiv genutzt wird, möchte ich Ihnen im Folgenden eine kurze und hoffentlich praktische  Anleitung geben, wie Sie WebUntis an UCS@school anbinden.

WebUntis + Zentrales Identity Management: Signifikante Vorteile für Schulen

Grundsätzlich funktioniert WebUntis schulbasiert. Das heißt, jede Schule hat ihre eigene WebUntis-Instanz mit einem eigenen Link. Diese Instanz kann aber auch an ein zentrales Identitymanagement angebunden werden. Der Mehrwert für die Schulen liegt auf der Hand, da sie durch diese Anbindung die Administration der Benutzer abgeben können und sämtliche LehrerInnen und SchülerInnen per Single Sign-On mit ihren gewohnten Nutzerdaten Zugriff auf WebUntis erhalten.

Voraussetzung für die Umsetzung einer WebUntis Anbindung an UCS@school

Damit eine Anbindung funktioniert, muss der Benutzername auf beiden Seiten (UCS@school und WebUntis) derselbe sein. Für neue Benutzer bietet WebUntis eine datensparsame Option, die Benutzer erst anlegt, wenn diese sich das erste Mal anmelden.

Vor der Anbindung einer laufenden WebUntis-Instanz sollten Sie hinsichtlich der Verwendung bestehender Benutzer in WebUntis beantworten, ob bestehende Benutzer weiterverwendet werden können? Das geht, wenn diese denselben Benutzernamen wie in UCS@school haben.

Für bestehende Benutzer, die einen anderen Benutzernamen haben, ist es nach unserer Erfahrung am einfachsten, wenn Sie den Zeitpunkt des Schuljahreswechsel für einen Wechsel nutzen, um die Benutzer aus UCS@school in das WebUntis zu übernehmen. Dann sind keine offenen Pläne mehr vorhanden und der Schulbetrieb kann direkt mit den neuen Benutzern erfolgen.

Die Anbindung selbst erfolgt in drei Schritten, die ich in den nächsten Abschnitten ausführlich beschreibe:

  1. Konfiguration LDAP-Anbindung
    (für Hintergründe siehe Generische LDAP-Anbindung)
  2. Konfiguration SAML-Anbindung
    (für Hintergründe siehe SAML für sichere, komfortable Webzugänge).
  3. Konfiguration UCS@school Portal

Die LDAP-Anbindung ist wichtig für die mobilen Apps (Android & iOS), damit WebUntis die Anmeldung an UCS weiterreichen kann. Für Lehrkräfte sowie Schülerinnen und Schüler bietet das den Mehrwert, dass sie sich nur ein Passwort merken müssen und die Administratoren müssen nur eine Benutzerverwaltung pflegen.Grafik WebUntis mit UCS@school Anbindung

Die SAML-Anbindung erlaubt eine Single Sign-On Anmeldung über die Weboberfläche. Bei privaten Geräten meldet man sich einmalig an UCS@school an. Bei schuleigenen Geräten reicht es seit UCS 4.3 (UCS 4.3 Release Notes (Highlights)) aus, sich an Windows oder Linux (Ubuntu) anzumelden, wobei die Windows (Kerberos) Autorisierung automatisch an SAML bzw. WebUntis weitergereicht wird.

Grafik über SAML-Anbindung von Webdiensten in UCS@school
1. Konfiguration LDAP-Anbindung

Die Konfiguration der LDAP-Anbindung erfordert folgende vier Schritte, die ich im Anschluss im Detail noch einmal erkläre:

a) Öffnen des Ports 636 auf der Firewall Ihrer Umgebung für den WebServer von WebUntis.
b) Anlegen eines sogenannten Suchbenutzers in UCS@school, der die Berechtigung hat, in UCS@school zu lesen und damit Hashes von Passwörtern zu vergleichen.
c) Konfigurieren eines Zertifikats in WebUntis für die verschlüsselte Kommunikation.
d) Konfiguration der Anbindung in der Weboberfläche von WebUntis.

a) Öffnen des Ports auf der Firewall

WebUntis kann nur über den Port 636 kommunizieren, sodass der Port auf der Firewall ausschließlich für die IP des Webservers von WebUntis geöffnet werden muss.

b) Anlegen eines Suchbenutzers in UCS@school

Legen Sie einen LDAP-Suchbenutzer nach folgender Anleitung an:
https://wiki.univention.de/index.php?title=Cool_Solution_-_LDAP_search_user

Anschließend können Sie die Authentifizierung mit folgenden Schritten testen:

root@ucs:~# ldapsearch -H "ldaps://localhost:636" -D uid=<LDAP-Suchbenutzer>,cn=users,$(ucr get ldap/base) -v -W -LLL uid=Administrator

Das Ergebnis sollte den Nutzer Administrator liefern.

c) Konfigurieren eines Zertifikats für die verschlüsselte Kommunikation

Grundsätzlich wird für die verschlüsselte Kommunikation (ldaps) von WebUntis mit UCS@school ein Zertifikat benötigt. Für die konkrete Umsetzung sind zwei Lösungswege denkbar.

  1. Auf dem Webserver von WebUntis wird das Wurzelzertifikat von UCS@school eingespielt.
  2. Es wird ein kommerzielles Zertifikat gekauft und von UCS@school bereitgestellt.

Die Variante 1 ist die einfachste. Bitte kontaktieren Sie dazu den Support von WebUntis über helpdesk@nulluntis.at.

Sollte das nicht funktionieren, nutzen Sie die folgende Anleitung zur Konfiguration eines kommerziellen Zertifikats.

Anleitung zum Bereitstellen eines kommerziellen Zertifikats

1. Setzen Sie den ldaps-Port ausschließlich auf 7636. Achten Sie bitte außerdem darauf, dass Samba nicht auf dem Server installiert ist.

Screenshot der Univention Configuration Registry in UCS
2. Starten Sie den LDAP-Server neu.

Screenshot Systemdienste UCS
3. Die Authentifizierung auf dem Port 636 sollte nun nicht mehr funktionieren:

root@ucs:~# ldapsearch -H "ldaps://localhost:636" -D uid=<LDAP-Suchbenutzer>,cn=users,$(ucr get ldap/base) -v -W -LLL uid=Administrator

Das Ergebnis sollte „ldap_sasl_bind(SIMPLE): Can’t contact LDAP server (-1)“ sein.

4. Installieren Sie das Paket stunnel4 in der Paketverwaltung.

Screenshot UCS Paketverwaltung

5. Konfigurieren Sie nun stunnel, indem Sie folgende Zeilen als Datei unter /etc/stunnel ablegen:

; stunnel configuration to allow WebUntis to acces an
; officially signed certificate while OpenLDAP still operates
; with the self-signed certificate

; Global configuration

; Certificate/key is needed in server mode and optional in client mode
cert = /etc/univention/ssl/ucs_thawte/certificate.crt
key = /etc/univention/ssl/ucs_thawte/privkey.pem
CAfile = /etc/univention/ssl/ucs_thawte/ca_chain.crt

sslVersion = TLSv1.2

; Some security enhancements for UNIX systems - comment them out on Win32
chroot = /var/lib/stunnel4/
setuid = stunnel4
setgid = stunnel4
; PID is created inside the chroot jail
pid = /stunnel4.pid

; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

; Service-level configuration

[ssl-proxy]
accept = 636
connect = 7389

6. Testen Sie die Authentifizierung:

root@ucs:~# ldapsearch -H „ldaps://localhost:636“ -D uid=<LDAP-Suchbenutzer>,cn=users,$(ucr get ldap/base) -v -W -LLL uid=Administrator

Das Ergebnis sollte den Nutzer Administrator liefern.

7. Mit folgendem Befehl testen Sie, ob das korrekte Zertifikat ausgeliefert wird:

root@ucs:~# openssl s_client -connect ldap.server:636

Wichtig ist das Feld „Issuer“, welches den kommerziellen Anbieter enthalten muss. Beispiel:

subject=/OU=Domain Control Validated/CN=portal.schulen.de
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA

d) Konfiguration der Anbindung in der Weboberfläche von WebUntis

Melden Sie sich bitte als Administrator in WebUntis an.

Anschließend wechseln Sie bitte in den Reiter „Administration“ → Integration → LDAP und konfigurieren die Anbindung entsprechend der folgenden zwei Screenshots:

LDAP Einstellungen

Screenshot LDAP Enstellungen in WebUntis

Rollenbezogene Einstellungen

Screenshot rollenbezogene LDAP Einstellungen in WebUntis

2. Konfiguration der SAML-Anbindung

SAML bietet webbasiertes Single Sign-On und ermöglicht Zugriff auf mehrere, autonome Services ohne mehrmalige Eingabe der Zugangsdaten. Zur genaueren Funktionsweise von SAML finden Sie eine Einführung im Artikel SAML für sichere, komfortable Webzugänge.

Eine SAML-Anbindung erfordert jeweils einen Austausch von Einstellungen mittels sogenannter Metadaten. Deshalb erfolgt die Konfiguration der SAML-Anbindung in zwei Schritten:

a) Konfiguration des Services (Service Provider (SP) – WebUntis) in UCS@school.
b) Konfiguration der Anmeldung (Identity Provider (IdP) – UCS@school) in WebUntis.

a) Konfiguration in UCS@school

In UCS@school wird der Service WebUntis bekannt gemacht. In der UMC unter Domäne → SAML identity provider → HINZUFÜGEN konfigurieren Sie einen weiteren Service Provider entsprechend der folgenden zwei Screenshots. Wichtig ist, dass Sie dazu natürlich den von Ihrer Schule verwendeten WebUntis-Hostnamen verwenden. Beispielsweise antiope:

Allgemeine Einstellungen

Screenshot SAML Identity Provider Grundeinstellungen in UCS@school

Weitere Einstellungen

Screenshot SAML Identity Provider Zusatzkonfigurationen in UCS@school

Screenshot Bearbeitung UCR Variable in UCS@schoolZusätzlich erweitern Sie die UCR-Variable „saml/idp/ldap/get_attributes“ im Modul „Univention Configuration Registry“ um die Attribute objectclass, ucsschoolTeacher, ucsschoolStudent, dn ucsschoolSchool, ucsschoolSourceUID.

b) Konfiguration in WebUntis

Die Konfiguration in WebUntis erfolgt über den Reiter „Administration“ → Integration → SAML. Dort wird UCS@school bekannt gemacht und die Anbindung wie in folgendem Screenshot konfiguriert:

Screenshot SAML Einstellungen in WebUntis

Damit ist die SAML-Anbindung vollständig.

3. Konfiguration UCS@school Portal

Grundsätzlich funktioniert nun die Anbindung zwischen UCS@school und WebUntis per Single Sign-On. WebUntis legt standardmäßig einen Button „SSO“ (SAML Single Sign-On) neben dem Button „Login“ (LDAP) an.

Screenshot WebUntis Webportal

Im UCS@school Portal sollte nun eine Kachel „Vertretungsplanung / WebUntis“ konfiguriert werden. Diese Kachel kann so konfiguriert werden, dass sie nur den LehrerInnen und SchülerInnen der angebundenen Schule angezeigt wird.

Dazu gehen Sie bitte folgendermaßen vor:

  1. Anmeldung als Administrator im Webinterface von UCS@school
  2. Unter Domäne → Portaleinstellungen → HINZUFÜGEN auswählen
  3. Neues Portal-Objekt „Portal: Eintrag“ auswählen
  4. Setzen Sie die Einstellungen wie auf den folgenden Screenshots gezeigt:

Den WebUntis Single Sign-On Link der Schule einfügen, der aus drei entscheidenden Teilen besteht:

1. Der Link zum Webserver (hier antiope):  https://antiope.webuntis.com/WebUntis/saml/
2. Der Schulidentifier (hier test_schule):  login?school=test_schule
3. Der Link zum Portal (hier: portal.schulen.de): https://portal.schulen.de/simplesamlphp/saml2/idp/metadata.php

Beispielsweise:
https://antiope.webuntis.com/WebUntis/saml/login?school=test_schule&idp=https://portal.schulen.de/simplesamlphp/saml2/idp/metadata.php

Screenshot WebUntis Portaleinstellungen Vertretungsplan WebUntis

Screenshot WebUntis Portaleinstellungen Vertretungsplan - 2

Screenshot WebUntis Portaleinstellungen Vertretungsplan-3

Herzlichen Glückwunsch! Sie haben nun erfolgreich WebUntis an UCS@school angebunden, sodass die Nutzer ihre Stundenpläne nun bequem über ihr gewohntes Login einsehen können.

Sollten Sie hierzu noch weitere Fragen haben, hinterlassen Sie gern einen Kommentar oder kontaktieren uns über unser Forum. Nähere Informationen zu WebUntis finden Sie auch im App Katalog.

WebUntis im App Katalog Fragen Sie unser Forum

Michel arbeitet seit Januar 2014 bei Univention im Team des Professional Services. Hier ist er sowohl in größeren als auch kleineren UCS Projekten involviert, viele davon im Schulträger-Umfeld. Außerdem hält er gerne Workshops. Seine persönlichen Interessen sind agiles Projektmanagement und Python Programmierung. Derzeit ist Michel als IT-Consultant tätig.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.