Post on 29-Oct-2019
Neuerungen im Shibboleth IdP 3.2.x
64. DFN-Betriebstagung,2./3. März 2016, Berlin
Wolfgang Pempe, DFN-Vereinpempe@dfn.de
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 2
Shibboleth IdP Version 3.x
● Roadmap für Version 2.4.x: Critical security bugs / EOL: 31.07.2016
http://shibboleth.net/pipermail/announce/2015-May/000112.html
● Release IdP v3.0 am 10.3.2015 hatte noch nicht alle geplanten Features implementiert(eingeschränkter Funktionsumfang gegenüber IdP 2.4.x)
● Release IdP v3.2.0 am 8.11.2015 (voller Funktionsumfang)
● Umstieg lohnt mittlerweile (Funktionalität, Dokumentation)
● Dokumentation für IdPv3 im neuen DFN-AAI Wiki:https://wiki.aai.dfn.de/de:shibidp3
● Überblick über die Neuerungen in Version 3.2:https://wiki.shibboleth.net/confluence/display/IDP30/ReleaseNotes
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 3
Neuerungen in 3.2 (Auswahl)
● Neue Implementierung für Client-Side Storage (HTML5)https://wiki.shibboleth.net/confluence/x/lYEgAQ
● (Single) Logouthttps://wiki.shibboleth.net/confluence/x/AAJSAQ
● Vereinfachte Syntax für Attribute Filter Konfigurationhttps://wiki.shibboleth.net/confluence/x/VIBKAQ
● SPNEGO-basierte Authentisierung via Kerberoshttps://wiki.shibboleth.net/confluence/x/v4FKAQ
● Steuerung und Datenmodell Persistent Name IDhttps://wiki.shibboleth.net/confluence/x/DYAEAQ
undhttps://wiki.shibboleth.net/confluence/x/ZYFKAQ
sowiehttps://wiki.aai.dfn.de/de:shibidp3storage
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 4
Client-side HTML Storage
● Zwei neue Beans für Client-side Storage (cookie oder HTML[5] local Storage)
shibboleth.ClientSessionStorageService shibboleth.ClientPersistentStorageService
● Relevant für verschiedene Properties (/conf/idp.properties) idp.session.StorageService idp.consent.StorageService u.a.m.
● Erleichtert Clustering
● Datenschutzrechtlich interessant, da personenbezogene Daten (User Consent) nicht mehr serverseitig vorgehalten werden müssen (juristisch problematisch → Nachweis)
● Aber: ”only support a subset of use cases”https://wiki.shibboleth.net/confluence/x/lYEgAQ
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 5
(Single) Logout
● Bisher (< 3.2) kein SAML-Logout, sondern eigene Implementierung (/idp/profile/Logout)
● Ab Version 3.2 werden nun auch wieder die Bindings unterstützt, die in Version 2.4 verfügbar waren
● Front-Channel Single Logout (iframes)
● Relevante Properties: idp.session.trackSPSessions = true idp.session.secondaryServiceIndex = true idp.logout.elaboration = true
● Apache Konfiguration (obacht, iframes!):Header always append X-FRAME-OPTIONS "SAMEORIGIN"
● Referenzen: https://wiki.shibboleth.net/confluence/x/AAJSAQ Interessanter Thread zum Thema (Shibboleth-Users)
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 6
Single Logout● Kleiner Bug (IDP-924): In den Templates werden die meisten <iframe>-
Elemente nicht geschlossen (</iframe>) → Darstellungsprobleme
● Nacharbeit in /views und /system/views/logout
?
?
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 7
Attribute Filter Konfiguration (1)
● Die gewohnten Namespace-Prefixes können entfallen
● Vereinfachung des Vokabulars für xsi:type
● AttributeInMetadata: Attribut onlyIfRequired nun per Default ”true” (betrifft v.a. AFPs nach Entity Attributen)
● Übersicht im Shibboleth Wiki:https://wiki.shibboleth.net/confluence/x/lwAnAQ
● Mapping alt-neu:https://wiki.shibboleth.net/confluence/x/VIBKAQ
● Beispiel auf nächster Folie
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 8
Attribute Filter Konfiguration (2)IdP 2.4.x:
IdP 3.2:
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 9
SPNEGO* und Kerberos
● authn/SPNEGO Login Flow: SPNEGO-basierte Authentisierung via Kerberos-Ticket
● Aktivierung unproblematisch und in wenigen Konfigurationsschritten erledigt, Anleitung ”Extending the Password Login Flow” unter https://wiki.shibboleth.net/confluence/x/v4FKAQ
● Zwei Punkte beachten:
1) Client-seitige Unterstützung (Browser), siehehttps://wiki.shibboleth.net/confluence/x/C4BC
2) Linux: Tomcat User muss Leserecht auf keytab haben d.h. zur entsprechenden Gruppe hinzugefügt werden/etc/apache2/apache-krb5.keytab
* Simple and Protected GSSAPI Negotiation Mechanism
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 10
Kerberos Login – Beispiel
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 11
Persistent NameID (1)● Mit IdP 3.x wird Persistent NameID (korrekterweise) nicht
mehr wie ein Attribut behandelt, d.h. die Weitergabe wird nicht mehr direkt über Attribute Filter Policies gesteuert
● Bis 3.1.x musste das zur PID-Generierung verwendete Quell-Attribut (idp.persistentId.sourceAttribute) für den Ziel-SP freigegeben werden → frickelige Konfiguration
● Ab IdP 3.2 ist dieses Verhalten standardmäßig abgeschaltet:idp.persistentId.useUnfilteredAttributes=true
● Zur Übermittlung müssen zwei Bedingungen erfüllt sein:
1) Relying Party Konfiguration (IdP-seitig, PID als default)
2) NameIDFormat in Metadaten oder AuthnRequest (SP-seitig)
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 12
Persistent NameID (2)
Änderungen und Bug Fixes in der Behandlung von Stored IDs erforderten eine Änderung der Tabellen-Definition.Unter Umständen genügt es, im (MySQL)Dump die Definition für den Primary Key einzufügen und den Dump zurückzuspielen (ohne Gewähr!)
Vorher:
Nachher:
64. DFN-Betriebstagung 2./3. März 2016 Berlin, Wolfgang Pempe 13
GUI-Kleinkram
● Internationalisierung: Lokalisierte properties Files auch für Deutsch erhältlich: https://wiki.shibboleth.net/confluence/x/doFKAQ
● SWITCHaai bietet vorgefertigte Templates und Stylesheets an, die sich leicht den eigenen Bedürfnissen anpassen lassen
● Änderungen an Stylesheets, web.xml etc. Nicht direkt unter /webapp vornehmen (Verlust bei Update!), sondern immer unter /edit-webapp
● Änderungen an Templates /views/*.vm sind sofort aktiv, während bei modifizierten Stylesheets und/oder JSPs (unter /edit-webapp) das WAR File neu gebaut werden muss (bin/build.sh)
Kontakt
www: https://www.aai.dfn.de
eMail: hotline@aai.dfn.de
Tel.: +49 711 63314 215
Vielen Dank für Ihre Aufmerksamkeit!
Fragen? Anmerkungen?