Upgrade process overview
This section describes how to upgrade from version 8.0.00, 8.1.00, 8.2.00, or 9.0.00.
To upgrade MVMA
- Stop the MVMA service.
- The upgrade preserves the following files and folders, but they should be reviewed after the installation has completed to confirm their preservation:
- etc/jetty.xml
- etc/jetty-deployer.xml
- etc/jetty-selector.xml
- etc/data.conf
- etc/known_hosts
- configuration/services/*
- security/*
- Backup the installation directory. Zipping it and storing it somewhere safe is sufficient to backup the installation directory.
To accelerate the upgrade process, the contents of the work/ directory can be deleted prior to the upgrade installation being run.
- Start the installation process (see Performing-the-installation). The installer displays a screen that allows the user to specify where the current product is installed.
- Start the MVMA service and verify correct functionality of the product.
Preventing attacks such as framing ("clickjacking"), document caching, cross site scripting (XSS) or data injection
After upgrading in etc/jetty.xml as re-instated from the previous installation, make sure protection against framing attacks (so-called 'clickjacking') and others such as document caching, cross site scripting (XSS) or data injection is enabled by opening etc/jetty.xml and verifying the following sections exist under the top-level <Configure> folder:
<!-- Rewrite handlers -->
<!-- =========================================================== -->
<New id="RewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<Set name="rules">
<Array type="org.eclipse.jetty.rewrite.handler.Rule">
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">X-Frame-Options</Set>
<Set name="value">DENY</Set>
</New>
</Item>
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">Cache-Control</Set>
<Set name="value">no-store</Set>
</New>
</Item>
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">Pragma</Set>
<Set name="value">no-cache</Set>
</New>
</Item>
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">Strict-Transport-Security</Set>
<Set name="value">max-age=31536000; includeSubDomains</Set>
</New>
</Item>
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">X-XSS-Protection</Set>
<Set name="value">1; mode=block</Set>
</New>
</Item>
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">X-Content-Type-Options</Set>
<Set name="value">nosniff</Set>
</New>
</Item>
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">Content-Security-Policy</Set>
<Set name="value">default-src 'none'; font-src 'self'; connect-src 'self'; img-src 'self'; frame-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-eval' 'unsafe-inline'</Set>
</New>
</Item>
</Array>
</Set>
</New>
Disabling weak cipher suites
After upgrading in etc/jetty.xml as re-instated from the previous installation, make sure weak cipher suites are disabled by opening etc/jetty.xml and verifying the following list under the <Set name="ExcludeCipherSuites"> folder:
<Array type="String">
<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>.*DES.*</Item>
<Item>TLS_RSA_WITH_AES_128_CBC_SHA</Item>
<Item>TLS_RSA_WITH_AES_128_CBC_SHA256</Item>
<Item>TLS_RSA_WITH_AES_128_GCM_SHA256</Item>
<Item>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</Item>
<Item>TLS_RSA_WITH_AES_256_CBC_SHA</Item>
<Item>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</Item>
<Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Item>
<Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</Item>
</Array>
</Set>
Disabling older TLS versions
After upgrading in etc/jetty.xml as re-instated from the previous installation, make sure older TLS versions are disabled by opening etc/jetty.xml and verifying the folder <Set name="ExcludeProtocols"> following the <Set name="ExcludeCipherSuites"> folder listing the disabled cipher suites (see the above section) :
<Array type="java.lang.String">
<Item>TLSv1</Item>
<Item>TLSv1.1</Item>
</Array>
</Set>