Überblick

  • Einführung / Projektvorstellung (Doris Leonhardt - TU München)
  • (Raman Ganguly - Universität Wien)
  • Voraussetzungen und Funktionsprinzip (Thomas Schikarski)
  • Fragen

Doris Leonhardt - TUM

Shibboleth an der TUM:

  • ca. Ende 2013 - erste Website mit Shibboleth-Anbindung für das BE
  • Anfang 2014 - ca. 5 Webseiten mit Shibboleth - für Testing / Bugfixing
  • mit dem Upgrade auf TYPO3 6LTS - Shibboleth für alle Webseiten

Shibboleth an der Universität Wien:

  •  ca. 2011: Shibboleth-Extensionan der Universität Wien (eigene Entwicklung)
  • bis ca. Ende 2011 - nur für BE-Login
  • danach auch FE-Login über Shibboleth (bis heute)

Gemeinsames Projekt:

  • Anfang 2016 - Universität Basel
  • Beschluss für ein gemeinsames Projekt: TYPO3-University Days 2016 - h_da
  • Ende 2016 - Universität Wien
  • Anfang 2017 bis jetzt:
    • Universität Hohenheim
    • Hochschule Rottenburg
    • Insitut für digitales Lernen

Raman Ganguly - Universität Wien

Warum Shibboleth

  • Bedarf nach mehr Sicherheit bei TYPO3: Beispiel Hack an der Universität Wien
  • Passwörter der FE User waren meist sehr schwach
  • Universitäres Single-Sing-On System

Features

  • Ausgeschiedene Mitarbeiterinnen können sich nicht mehr einloggen
  • FE User - Accountverwaltung nicht mehr Teil von TYPO3
  • Konfiguration für Redakteure vereinfacht bei internen Bereichen

Voraussetzungen und Funktionsprinzip (Thomas Schikarski)

  • Identity Provider (IdP) - angebunden an Benutzerverzeichnis
  • Service Provider (SP)
    • Daemon: shibd
    • Apache-Modul: mod_shibb
    • geeignete Konfiguration der Webserver-Instanz (vhost / .htaccess)
    • https (!?)

Übertragung der Benutzerinformation vom IdP

  • Transfer wird vom Browser erledigt (Redirects)
  • SAML2 (kryptografisch abgesicherter Informationsfluss, "Passierschein")
  • Shibboleth Daemon wertet Informationen aus
  • Benutzerinformationen stehen als Apache-Environment-Variablen bereit
  • Extension "shibboleth" interpretiert und sorgt für Mapping auf TYPO3-eigene Mechanismen

Demo

  • Anmeldung im Backend
  • Konfiguration der Extension
  • Frontend-Elemente schützen

Konfigurationsmöglichkeiten im BE

s. Backend

Konfigurationsdatei zur Auswertung der Benutzerinformationen

  • Immer Standardpfad ändern!
  • TypoScript-Parser
  • Variable-zu-Feld-Mapping
  • Komplexe Logik möglich
tx_shibboleth {
 FE {
  IDMapping {
   shibID = TEXT
   shibID.field = eppn
   typo3Field = username
  }
  userControls {
   allowUser = TEXT
   allowUser.value = 1
   createUserFieldsMapping {
    usergroup = TEXT
    usergroup.value = 1

    email = TEXT
    email.field = eppn
    ...
   }
   updateUserFieldsMapping {
    email = TEXT
    email.field = eppn
    ...
   }
  }
 }
 BE {
   ...
 }
}

Caveats

Folgende Anforderungen bedürfen einer besonderen Analyse

  • Session-Timeouts
  • Logout - für den Benutzer unerwartetes Verhalten ist wahrscheinlich
  • Load-Balancer bzw. Webserver-Cluster

Fragen