Brocade FOS und JAVA

Zur Verwaltung von Brocade SAN Switches benötigt man auf dem Client das Java Runtime Environment (JRE). Dies funktionierte jahrelang recht gut, doch in jüngerer Vergangenheit hatte Oracle die Sicherheit verschärft. Dies ist zwar prinzipiell eine gute Idee, aber ein echtes PITA wenn man unterschiedliche Versionen und Anwendungen mit dieser JRE verwalten muss. Beim Zusammenspiel mit des Brocade Fabric OS (FOS) und Java gibt es viele Fallstricke.

  • FOS fordert ab Version 6.3 eine Mindestversion des JRE
  • Oracle hat das JRE ab Version 7 Update 21 (7u21) mit einem hart codierten Verfallsdatum ausgestattet.
  • Software Zertifikate mit veralteter Signatur oder zu geringer Schlüssellänge werden nicht mehr unterstützt.
  • FOS Zertifikate haben ein Ablaufdatum

Das alles endet in einem Sumpf aus Updates und Warnungen. Applikationen seien nicht mehr vertrauenswürdig und dürfen daher nicht mehr gestartet werden. An dieser Stelle brachte mich der lesenswerte Blogartikel von Erwin van Londen weiter.

 3 billion flies eat shit

Wir alle lieben diese Information beim Java Update und mir fällt jedesmal die Analogie zu den Fliegen und dem Dung ein. Wird meine Anwendung nach dem Update noch funktionieren? Diese bange Frage hielt mich oft von einer Aktualisierung ab. Aber angesichts der massiven Sicherheitslücken in Java muss man unbedingt zur Installation von Patches raten.

Jede FOS Version hat in ihren Spezifikationen eine Mindestanforderung an das JRE. Diese Korrelationen sind in der Tabelle unten dargestellt. (Quelle: Brocade FOS Release Notes)

FOS und JAVA
FOS Minimum JRE Bemerkung
vor 6.3 keine Angabe
6.3 1.6.0 Update 13
6.4 1.6.0 Update 16
7.0.1 1.6.0 Update 24
7.1.0 1.7.0 Update 9
7.2.1a 1.7.0 Update 25, 45, 51 Warnung bei Update 51
7.3.0 1.7.0 Update 60

Dies zeigt, daß man zum Beispiel ein FOS 7.1 mit einem Java 6 schon nicht mehr administrieren kann.

 

 JAVA Haltbarkeitsdatum

Seit Version 1.7 Update 21 ist in die Java Runtime ein festgelegtes Verfalldatum einprogrammiert (Tabelle unten). Ist dieses Überschritten, so muss man Java aktualisieren. Damit ergeben sich zwei Notwendigkeiten, die voneinander abhängen:

  • Mindestanforderung an Java durch die Version des FOS
  • Zwang zur Aktualisierung der JRE durch ein Verfallsdatum
JAVA Expiration
JRE Expiration Date
7u71, 8u25 20.01.2015
7u67, 8u20 14.10.2014
7u65, 8u11 14.10.2014
7u60 15.07.2014
7u55, 8u5 15.07.2014
7u51 15.04.2014
7u45 14.02.2014
7u40 10.12.2013
7u25 15.11.2013
7u21 18.06.2013
7u17

Zertifikatsprobleme

Zu allem Überfluss kommt noch ein weiterer Parameter hinzu: Moderne JRE Versionen lehnen diverse Verschlüsselungs-Algorithmen und zu kurze Schlüssellängen ab. Dazu gehören (Stand 7u67) folgende Einschränkungen:

  • DES
  • MD2
  • RSA mit Schlüssellänge < 2048

Genau hier liegt das Problem bei der Administration älterer FOS Versionen mit aktuellem JRE. Deren Schlüssellänge ist oft unter 2048, weswegen Java die Ausführung des Applets verweigert.

FOSJRE01Abhilfe

Das hier beschriebene Verfahren wurde auf Windows7 x64 mit JRE 7u67 getestet.

Zunächst muss die Sicherheitsstufe der JRE auf ein Mindestmaß (Mittel) reduziert werden.

FOSJRE03 Im zweiten Schritt müssen die abgelehnten Verschlüsselungsverfahren wieder akzeptiert werden. Dazu editiert man die Datei java.security im Verzeichnis:

C:\Program Files (x86)\Java\jre7\lib\security

Folgende Zeile muss auskommentiert (#) werden:

#jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048

Danach startet auch ein älteres Applet wieder unter aktueller JRE.  🙂

FOSJRE04

Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert