Uppgradera Jetty

Uppgradering av Jetty 11 till Jetty 12 (major versionsbyte)


Shibboleth Identity Provider och SWAMID rekommenderar användning av Jetty (https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199500577/Installation#Non-Windows-Installation) med Shibboleth Identity Provider version 5.

Förberedelser

Officiella instruktioner finns på https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3516104706/Jetty12 

Instruktioner

Ladda ned och packa upp Jetty under /opt

Klona java-idp-jetty-base enligt instruktioner https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3516104706/Jetty12#Getting-Started. Kopiera jetty-base från repo:t till /opt/jetty-base-12

Git-repot ovan håller på göras om till en plugin och det försvårar implementation enligt våra nuvarande rekommendationer. En tarfil med en äldre version finns här: java-idp-jetty-base.tar.gz Kopiera jetty-base från tarfilen till /opt/jetty-base-12

Gå igenom sidan https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3516104706/Jetty12 samt varje mapp under jetty-base-12 för att se till att korrekt konfiguration migreras från befintlig /opt/jetty-base till den nya /opt/jetty-base-12 

Glöm inte credentials filer och deras konfiguration, error.war, innehåll av static mappen, filer i start.d och webapps.

Backchannel är inte längre supporterade eller fungerar med Jetty 12. Om ni fortfarande kör med backchannel port (8443), måste man stänga av detta i Jetty och ta bort certifikatet. Glöm inte att uppdatera metadata för att ta bort backchannel certifikatet. 

Se till att följa punkterna under Jetty logging för att ladda ned rätt logback jar-filer.

Verifiera att TLS Ciphers är up-to-date. Ett förslag till tls-ciphers.xml finns nedan. Det är rekommenderat att testa med hjälp av ett verktyg, tex. https://www.ssllabs.com/ssltest 

tls-ciphers
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_10_0.dtd">

<Configure>
  <Ref refid="sslContextFactory">
    <Call name="addExcludeProtocols">
      <Arg>
        <Array type="String">
          <Item>TLSv1.0</Item>
          <Item>TLSv1.1</Item>
        </Array>
      </Arg>
    </Call>
    <Set name="ExcludeCipherSuites">
      <Array type="String">
        <Item>^TLS_RSA_.*$</Item>
        <Item>^.*_RSA_.*_(MD5|SHA|SHA1)$</Item>
        <Item>^.*_DHE_RSA_.*$</Item>
        <Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
        <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>
        <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>
        <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>
        <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
        <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
        <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
        <Item>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</Item>
        <Item>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</Item>
	<Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</Item>
	<Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Item>
      </Array>
    </Set>
  </Ref>
</Configure>

Kopiera loggfiler som man vill behålla från den gamla till den nya.

Installation

Stoppa jetty. 

Flytta under befintlig jetty-base till jetty-base-11

Radera /opt/jetty symbolic länk och ersätta den med en ny som pekar mot nya jetty-home-12.X.X

Flytta jetty-base-12 till jetty-base

Kontrollera att filer allt under jetty-home-12.X.X och jetty-base ägs av rätt systemkonto och grupp (tex. jetty)

Starta Jetty och kontrollera loggar under /opt/jetty-base/logs/jetty.log. Om det ser bra ut och efter Jetty har startats korrekt, kontrollera Shibboleths loggar i /opt/shibboleth-idp/logs/idp-process.log

Testa inloggning.

  • No labels