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
Plugins updaten
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