Installation IdP 5.x.x

Laden Sie die aktuelle Version des Shibboleth IdP herunter, prüfen Sie die Signatur und entpacken Sie das Archiv. Die aktuelle IdP-Version findet sich stets unter https://shibboleth.net/downloads/identity-provider/latest/.

Herunterladen des Shibboleth IdP, der Signatur, der Prüfsumme und der PGP-Keys:

root@idp:~# mkdir /opt/install
root@idp:~# wget -P /opt/install https://shibboleth.net/downloads/identity-provider/latest/shibboleth-identity-provider-5.x.x.tar.gz
root@idp:~# wget -P /opt/install https://shibboleth.net/downloads/identity-provider/latest/shibboleth-identity-provider-5.x.x.tar.gz.asc
root@idp:~# wget -P /opt/install https://shibboleth.net/downloads/identity-provider/latest/shibboleth-identity-provider-5.x.x.tar.gz.sha256
root@idp:~# wget -P /opt/install https://shibboleth.net/downloads/PGP_KEYS

Prüfsumme checken:

root@idp:~# cd /opt/install && sha256sum -c shibboleth-identity-provider-5.x.x.tar.gz.sha256
shibboleth-identity-provider-5.x.x.tar.gz: OK

Importieren der öffentlichen Schlüssel und verifizieren der Signatur:

root@idp:~# gpg --import /opt/install/PGP_KEYS
gpg: Signature made Mon 15 Apr 2024 06:03:42 PM CEST
gpg:                using RSA key 7D27E610B8A3DC52
gpg: Good signature from "Philip David Smart <philip.smart@jisc.ac.uk>" [unknown]
gpg:                 aka "[jpeg image of size 9378]" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: B5B5 DD33 2142 AD65 7E8D  87AC 7D27 E610 B8A3 DC52
root@idp:~# gpg --verify /opt/install/shibboleth-identity-provider-5.x.x.tar.gz.asc /opt/install/shibboleth-identity-provider-5.x.x.tar.gz

Entscheiden ist hier „Good signature“. Die Warnung „This key is not certified with a trusted signature!“ können Sie ignorieren.

Entpacken des Archivs

root@idp:~# tar -xzf /opt/install/shibboleth-identity-provider-5.x.x.tar.gz -C /opt/install

Interaktiven Installer aufrufen

Das Installationsskript findet sich unter /opt/install/shibboleth-identity-provider-5.x.x/bin/install.sh. Beim Ausführen werden die wichtigsten Angaben zum IdP abgefragt, wie der FQDN und das Zielverzeichnis, in das der IdP installiert werden soll. Der Default hierfür ist /opt/shibboleth-idp.

root@idp:~# /opt/install/shibboleth-identity-provider-5.x.x/bin/install.sh

Tomcat 9 entfernen

root@idp:~# systemctl stop tomcat9.service
root@idp:~# systemctl disable tomcat9.service
root@idp:~# apt remove tomcat9
root@idp:~# apt purge  libtaglibs-standard-impl-java* libtaglibs-standard-spec-java libtomcat9* tomcat9
root@idp:~# rm -r /etc/tomcat9/ /var/lib/tomcat9/

tomcat 10 aktivieren

root@idp:~# systemctl enable tomcat10.service
root@idp:~# systemctl start tomcat10.service

Sie können sich mit folgendem Befehl alle installierten und deren Support Level anzeigen lassen:

root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -fl

Output:

Plugin: net.shibboleth.plugin.storage.jdbc	Current Version: 1.0.3
	Versions 
	1.0.4:	Min=4.1.0	Max=5.0.0	Support level: Current
	1.0.1:	Min=4.1.0	Max=5.0.0	Support level: OutOfDate
	1.0.0:	Min=4.1.0	Max=5.0.0	Support level: OutOfDate
	1.0.3:	Min=4.1.0	Max=5.0.0	Support level: OutOfDate
	1.0.2:	Min=4.1.0	Max=5.0.0	Support level: OutOfDate
	2.0.0:	Min=5.0.0	Max=6.0.0	Support level: Current

Verfügbare Updates für installierte Plugins können Sie sich mit der Option “-L” anzeigen lassen:

root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -L

Output:

Plugin net.shibboleth.idp.plugin.nashorn: version 1.1.0 available for install
Plugin net.shibboleth.plugin.storage.jdbc: Installed version 1.0.3: Update to 1.0.4 available

Für Shibboleth IdP 5.x sind die obigen Plugins mindestens in Version 2.0.0 erforderlich. Ein Plugin-Update kann erst nach dem IdP-Update erfolgen.

root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -u net.shibboleth.plugin.storage.jdbc
root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -u net.shibboleth.idp.plugin.nashorn

Hinweis für Installationen welche das fudis-MFA-Plugin zusammen mit privacyIDEA verwenden:

  • das Plugin muss aktualisiert werden:
    /opt/shibboleth-idp/bin/plugin.sh -u de.zedat.fudis.shibboleth.idp.plugin.authn.fudiscr
  • in der neuen Plugin-Version hat sich der Default von privacyIDEA auf eduMFA geändert. Wer noch nicht auf eduMFA umsteigen kann muss daher explizit privacyIDEA aktivieren:
    ./conf/authn/fudiscr.properties
    ...
    fudiscr.challengeResponseClient=PrivacyIdeaChallengeResponseClient
    ...

Aktuelle Version von jakarta jstl herunterladen:

root@idp:~# wget -P /opt/shibboleth-idp/edit-webapp/WEB-INF/lib/ https://repo.maven.apache.org/maven2/org/glassfish/web/jakarta.servlet.jsp.jstl/3.0.1/jakarta.servlet.jsp.jstl-3.0.1.jar
root@idp:~# wget -P /opt/shibboleth-idp/edit-webapp/WEB-INF/lib/ https://repo.maven.apache.org/maven2/jakarta/servlet/jsp/jstl/jakarta.servlet.jsp.jstl-api/3.0.0/jakarta.servlet.jsp.jstl-api-3.0.0.jar

Danach build erneut ausführen und Tomcat neu starten:

root@idp:~# /opt/shibboleth-idp/bin/build.sh -Didp.target.dir=/opt/shibboleth-idp  
root@idp:~# systemctl restart tomcat10.service 

Deprecation Warnings

Deprecation Warnings sind in der Datei logs/idp-process.log zu finden.

Duo

Shibboleth IdP unterstützt „legacy“ Duo nicht mehr - die Konfigurationsdateien, sind jedoch noch vorhanden - und lösen eine Warnung aus:

WARN [DEPRECATED:113] - property 'idp.authn.Duo.supportedPrincipals' is no longer supported

So lösen Sie die Warnung auf: Auskommentieren der Property 'idp.authn.Duo.supportedPrincipals' in /opt/shibboleth-idp/conf/authn/authn.properties

Liberty profile

WARN [DEPRECATED:123] - Spring bean 'Liberty.SSOS or Liberty.SSOS.MDDriven', (relying-party.xml): This will be removed in the next major version of this software; replacement is (none)

Es handelt sich hier um ein ungenutztes SSO Profil. Bearbeiten Sie die Datei /opt/shibboleth-idp/conf/relying-party.xml mit einem Editor Ihrer Wahl (z.B. vi) und entfernen Sie alle beans namens Liberty.SSOS oder Liberty.SSOS.MDDriven.

httpClient

WARN [DEPRECATED:113] - property 'idp.httpclient.filecaching.cacheDirectory' is no longer supported

Die Property idp.httpclient.filecaching.cacheDirectory wird nicht benutzt und kann aus der Datei /opt/shibboleth-idp/conf/services.properties gelöscht werden.

RelyingPartyContext

WARN [DEPRECATED:130] - Java class 'net.shibboleth.idp.profile.context.RelyingPartyContext': This will be removed in the next major version of this software; replacement is net.shibboleth.profile.context.RelyingPartyContext

Es handelt sich hier um eine Warnung bzgl. der Login- und Logout-Templates. Diese Warnung erscheint erst nachdem die Login- oder Logout-Seite besucht wurden. Die Templates verweisen unter einem veralteten Namen auf den RelyingPartyContext. Bearbeiten Sie die Dateien /opt/shibboleth-idp/views/login.vm und /opt/shibboleth-idp/views/logout.vm und ändern Sie den folgenden Eintrag in beiden Dateien.

alt:

#set ($rpContext = $profileRequestContext.getSubcontext("net.shibboleth.idp.profile.context.RelyingPartyContext"))

neu:

#set ($rpContext = $profileRequestContext.getSubcontext("net.shibboleth.profile.context.RelyingPartyContext"))

BasicX509CredentialFactoryBean

WARN [DEPRECATED:130] - Java class 'net.shibboleth.idp.profile.spring.factory.BasicX509CredentialFactoryBean': This will be removed in the next major version of this software; replacement is Parent bean 'shibboleth.BasicX509CredentialFactoryBean' 

Bearbeiten Sie /opt/shibboleth-idp/conf/credentials.xml und ersetzen folgenden Eintrag in der Datei.

alt:

 <bean class="net.shibboleth.idp.profile.spring.factory.BasicX509CredentialFactoryBean"
 ...

neu:

 <bean parent="shibboleth.BasicX509CredentialFactoryBean"
 ...

Abschließend starten Sie den Tomcat neu:

root@idp:~# systemctl restart tomcat10.service

weitere Änderungen

An dieser Stelle entsteht eine Liste von Änderungen in Version 5, die uns im Laufe der Zeit auffallen oder gemeldet werden.

  • Key-Rollover: Das Skript, welches die Sealer-relevanten Einstellungen aus ./conf/idp-properties liest und damit neue Schlüsselwerte erzeugt, wurde für v5 angepasst. Das Skript unter /opt/shibboleth-idp/bin/update-sealer.sh muss ersetzt werden. Siehe Key-Rollover
  • Zuletzt geändert: vor 5 Wochen