Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Uppgradering av Jetty

...

Hämta hem och packa upp senaste jetty

Code Block
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.3.24.v20180605/jetty-distribution-9.3.24.v20180605.tar.gz
cd /opt/
sudo tar xvf ~/jetty-distribution-9.3.24.v20180605.tar.gz

Stoppa jetty (exempel nedan är för debian/ubuntu/centos)

Code Block
sudo /etc/init.d/jetty stop

Kopiera över jetty-base (där allt intressant finns) till den nya installationen, fixa rättigheterna och länka om jetty

Code Block
sudo cp -r jetty/jetty-base/ jetty-distribution-9.3.24.v20180605/
sudo chown -R jetty:jetty jetty-distribution-9.3.24.v20180605/
sudo rm jetty
sudo ln -s jetty-distribution-9.3.24.v20180605/ jetty

idp-installer scriptet hackade /opt/jetty/bin/jetty.sh, jag valde att istället lägga till dessa variabler i /etc/default/jetty för att de skall följa med mellan uppgraderingarna.

La till följande i /etc/default/jetty

Code Block
JETTY_HOME=/opt/jetty
JETTY_BASE=/opt/jetty/jetty-base
JETTY_USER=jetty

Starta upp jetty igen (exempel nedan är för debian/ubuntu/centos)

11 till Jetty 12 (major version byte)


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

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.

Se till att följa steget 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 körs en SSL test med hjälp av ett verktyg, tex. https://www.ssllabs.com/ssltest 

Code Block
languagexml
titletls-ciphers
collapsetrue
<?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 med via systemctl. 

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 när jetty är started, kontrollera loggar under /opt/shibboleth-idp/logs/idp-process.log

Testa inloggning.

...