Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Neuere Java Versionen

Die Sicherheit von Java Umgebungen wird vorlaufend verbessert und vorhandene Sicherheitsprobleme (wie z.B. dieses) werden gefixt. Dies hat zu Folge, dass u.U. beim Start des Nuclos Client über Web Start Warnungen angezeigt werden. Eine Übersicht liefert 'Was muss ich tun, wenn ich einen Sicherheitshinweis von Java sehe?'.

Teilweise musste Nuclos an die neuen Sicherheitsrichtlinien angepasst werden. Im folgenden finden Sie eine Übersicht.

Java 8

Nuclos Server und Client laufen unter Java 8, es gibt nur folgende Einschränkungen zu beachten:

Keine Java 8 Syntax in Regeln

Java 8 Syntax in Server-Regeln funktioniert noch nicht, da der verwendete Source Code Parser diese nicht versteht.

Web Start funktioniert nicht mit Java 8u102

Aufgrund eines Java-Bugs in Version 8u102 tritt beim Start des Rich Clients über Web Start ein Deadlock auf, siehe  NUCLOS-4938 - Web Start funktioniert nicht mit Java 1.8.0_102 Gegenchecken
Der Nuclos Server sowie der Standalone Client funktionieren jedoch auch mit dieser Version.

Java 7

Warnung

Aktuelle Nuclos Versionen benötigen wegen NUCLOS-2919 ein 7u51 oder höher. (Java 6u45 wird für einige Kunden ebenfalls noch unterstützt.)

Self-Signed Certificates nur noch über Ausnahmeliste - 7u51

Java Web Start Applikationen (z.B. der Nuclos Client), die mit selbst-signierten Zertifikaten unterschrieben wurden, funktionieren nur noch, wenn sie in die Ausnahmeliste des Java Control Panels (Reiter Sicherheit) eingetragen werden. Wir empfehlen die Verwendung eines richtigen (d.h. kostenpflichtigen) Zertifikats.

Keine (System-)Parameter mehr - 7u45

Info

Ältere Nuclos Versionen starten mit 7u45 nicht mehr. Das Problem ist ab Nuclos 3.15.5 (und auch in 3.7 bis 3.14, jeweils neuste Version z.B. 3.14.17) gefixt, Details in NUCLOS-2295. Allerdings funktioniert die Einstellung 'single instance' z.Z. erst wieder in ab den Nuclos Versionen 3.15.22, 4.0.18, 4.2.2 bzw. 4.3.0, Details in NUCLOS-2569.

Notwendige Anpassungen in Extensions für Nuclos 3.15.5

Der Fix für 7u45 macht 2 Änderungen in den Extensions notwendig, die mit einer Nuclos Version, die diesen Fix enthält, zusammenarbeitet.

de.novabit:jnlp Library

Der Client eines Extension Projektes braucht neuerdings folgende Abhängigkeit in der pom.xml:

...

Diese Änderung ist nur nötig, wenn der Cient in Eclipse gestartet werden soll (betrifft also hauptsächlich Entwickler).

Ersatz für PropertySourcesPlaceholderConfigurer

Der Client Spring Context der Extension muss angepasst werden. Ersetzen Sie in der Datei client/src/main/resources/META-INF/nuclos/nuclos-extension-client-beans.xml die Zeilen:

...

Codeblock
<!--
	 Use the new (3.1) 
	 org.springframework.context.support.PropertySourcesPlaceholderConfigurer 
	 mechanics.
	 
	 http://www.baeldung.com/2012/02/06/properties-with-spring/
	 http://spring.io/blog/2011/02/15/spring-3-1-m1-unified-property-management/
	 
	 http://blog.jamesdbloom.com/UsingPropertySourceAndEnvironment.html
	 http://java.dzone.com/articles/using-spring-profiles-xml
 -->
<!-- Resolve with nuclosPropertySource -->
<context:property-placeholder properties-ref="nuclosPropertySource" ignore-unresolvable="true" order="1"/>
<!-- no location and no properties-ref means: resolve against system properties -->
<context:property-placeholder ignore-unresolvable="false" order="100"/>

Certificate Revocation - 7u25 und 7u40

Info

Java 7u40 wurde von uns mit Nuclos getestet. Es gelten weiterhin die Anmerkungen für Java 7u25 weiter unten.

Mit Java 7u40 kommt bei den Sicherheitshinweisen die Meldung hinzu, dass der Web Start Descriptor (*.jnlp) nicht signiert ist. Nuclos erzeugt z.Z. den Descriptor dynamisch, daher können wir kurzfristig dieser (neuen) Meldung nicht entgegen wirken.

Falls Sie eine eigene Extension verwenden, kommt u.U. mit Java 7u40 bei den Sicherheitshinweisen die Meldung hinzu, dass dem Zertifikat der Extension nicht vertraut wird. Dies geschieht genau dann, wenn Sie kein 'richtiges' Zertifikat verwenden, um Ihre Extension zu signieren. Die Meldung lässt sich unterdrücken, indem Sie ein Zertifikat kaufen und dies zum Signieren benutzen.

...

3) Setzen der Einstellung "Check for certificate revocation using" im Java Control Panel auf "Certificae Revocation Lists (CRLs)". Das Problem scheint nach aktuellen Erkenntnissen mit dem Protokoll "OCSP" zusammenzuhängen.

Aktueller Stand

Der aktuelle Stand wird im Ticket NUCLOS-2120 getrackt. Wenn es noch Probleme gibt, nutzen Sie bitte unseren Foren-Thread Java update auf Version 7 update 25 und berichten von Ihrem Problem.

FAQ

Was empfehlen Sie?

Setzen Sie die Zertifikatsprüfung auf 'nur CRLs'. Eventuell wollen Sie die Java Installation auf den Desktop Rechnern zentral administrieren (s.u.). Nutzen Sie (möglichst) keine älteren Java Versionen als 7u25 (also kein Downgrade!).

Wie gefährlich ist es, die Zertifikatsprüfung auf 'nur CRLs' zu setzen?

Die Zertifikate werden dann immer noch überprüft, aber nur noch mit Hilfe einer von Oracle zur Verfügung gestellten Liste, die etwa 1-mal pro Tag heruntergeladen wird. Ausgeschaltet wird nur die Online Validierung des Zertifikatsherausgebers (OCSP).

...

Info

Die Wirksamkeit von CRL und OCSP ist mittlerweile deutlich in Frage gestellt worden, siehe z.B. 'Das Sperrproblem von SSL'.

Warum funktioniert der Client Start, wenn die Console angezeigt wird?

Wir glauben, dass es ein Bug in 7u25 ist, dass ohne Console ein anderer ClassLoader für den Swing Render Thread verwendet wird. Details sind in https://forums.oracle.com/thread/2552941 zu finden. Wir benutzen in neueren Nuclos Versionen den dort vorgeschlagenen Work-around (siehe Klasse org.nuclos.common.startup.JWSClassLoaderFix). Daher sollte in diesen Versionen das Verhalten mit und ohne angezeigte Console gleich sein.

Ist es möglich die Java Control Panel Einstellungen aller Desktop Rechner zentral zu administrieren?

Wir wissen, dass es dafür kommerzielle Lösungen gibt (z.B. GPO Redux). Ab Java 7u40 wird jedoch auch eine Lösung direkt mit Oracle JRE ausgeliefert.

Was ist bei Nuclos Extensions zu beachten?

Java 7u25 verlangt neue, zusätzliche Attribute in der Manifest Datei (META-INF/MANIFEST.MF) von JARs. Dies betrifft natürlich auch die JARs von Nuclos Extensions, und zwar Client und Common (Server Extensions habe mit Web Start nichts zu tun und müssen daher auch nicht angepasst werden). Ein Manifest Template könnte wie folgt aussehen:

...

Codeblock
 <!-- sniplet zum Einbau in eine pom.xml Datei -->
           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Permissions>all-permissions</Permissions>
                            <Codebase>*</Codebase>
                            <Trusted-Only>true</Trusted-Only>
                            <Trusted-Library>true</Trusted-Library>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>

Es funktioniert nicht! Wie kann ich Hilfe bekommen?

Sie können einen Fehlerreports (Bugs) in das Ticket System einstellen oder eine Nachricht im Foren Thread Java update auf Version 7 update 25 posten.

...