VMWare View 6.x – Anpassung der SSL Protokolle und Cipher Suites

Beim Einsatz von VMWare View (Horizon) 6.x werden standardmäßig Cipher Suites verwendet, welche kein Forward Secrecy und Authenticated Encryption (DEAD) unterstützen. Das wird daran liegen, dass zu dem Zeitpunkt als VMWare die Version 6 entwickelt bzw. veröffentlicht hat, manche Ciphers noch nicht existiert haben. Zudem galten die damalig verwendeten Ciphers (teilweise) noch als sicher.

Bis heute sind zwei Upgrades (6.1 und 6.2) erschienen. Dazu entsprechende Updates (z.B. 6.2.2 oder 6.2.5) welche entsprechende Fehlerbehebungen beinhalteten. In einem Upgrade/Update wurden die nutzbaren Protokolle (SSLv2, SSLV3, TLS 1.0, TLS 1.1, TLS 1.2) für PCoIP und Blast angepasst. Ob die Ciphers im jeweiligen Upgrade dem jeweiligen Stand angeglichen wurden, konnte ich bisher nicht herausfinden.

Wer VMWare View über einen Security Server im Internet veröffentlicht, legt natürlich aus Gründen der Sicherheit viel Wert darauf, dass aktuelle Protokolle und Ciphers verwendet werden. Wie das Ergebnis einer VMWare View 6.2.5 Standardinstallation ausfällt zeigen die beiden Screenshots.

HTTPS Secure Tunnel

Blast Secure Gateway

Da besteht für einen verantwortungsvollen Administrator entsprechender Handlungsbedarf. Leider ist die Dokumenation bei VMWare bezüglich Perfect Forward Secrecy (PFS) unter VMWare View etwas dürftig. Grundsätzlich kann es nicht schaden, sich etwas Grundwissen anzulesen. Nachstehende Screenshots zeigen, wie man die Ciphers für PCoIP und Blast entsprechend des heutigen Standards konfigurieren kann.

Die Basis bildet Oracle Java. Daher erstmal die aktuellste Version von JCE Unlimited Strength Jurisdiction Policy Files 7 herunterladen – Download.

Die ZIP-Datei anschließend auf den betroffenen Security Server kopieren, falls der Download nicht auf dem Server erfolgt ist. Ich habe die Datei unter C:\Temp abgelegt. Anschließend die Dateien entpacken.

In dem entapckten Verzeichnis müssen drei Dateien enthalten sein.

Einen weiteren Windows Explorer starten und in das Verzeichnis C:\Programme\VMware\VMware View\Server\jre\lib navigieren. Dort gibt es ein Verzeichnis mit dem Namen security. Das Verzeichnis komplett an eine andere Stelle kopieren und einen aussagekräftigen Namen vergeben.

Nun die beiden Dateien local_policy.jar und US_export_policy.jar aus dem entpacken Verzeichnis C:\Temp\UnlimitedJCEPolicyJDK7\UnlimitedJCEPolicy nach C:\Programme\VMware\VMware View\Server\jre\lib\security kopieren. Dabei erscheint die Meldung, dass die beiden Dateien bereits existieren – einfach überschreiben.

Der Grundstein ist gelegt und damit können die Konfiguration für PCoIP bzw. Blast geändert werden. Im Verzeichnis C:\Programme\VMware\VMware View\Server\sslgateway\conf eine neue Datei mit dem Namen locked.properties erstellen. Diese mit einem Editor öffnen und folgende Konfiguration hineinkopieren.

# The following list should be ordered with the latest protocol first:
secureProtocols.1=TLSv1.2
secureProtocols.2=TLSv1.1
secureProtocols.2=TLSv1.0
 
# This setting must be the latest protocol given in the list above:
preferredSecureProtocol=TLSv1.2
 
# The order of the following list is unimportant:
enabledCipherSuite.1=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
enabledCipherSuite.2=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
enabledCipherSuite.3=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
enabledCipherSuite.4=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

Die Änderungen speichern und die Datei schließen.

Anschließend in das Verzeichnis C:\Programme\VMware\VMware View\Server\appblastgateway\ wechseln. Dort die Datei absg.properties ebenfalls an einen sicheren Ort kopieren, falls doch etwas schief geht.

Die Datei absg.properties wieder mit einem Editor öffnen und zur Zeile 26 springen. den Parameter bzw. folgende Ciphers zuweisen.

localHttpsCipherSpec=ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH

So dass die Datei so aussieht:

Die Änderungen speichern und die Datei schließen. Abschließend ist ein Neustart des Windows Server nicht zwingend erforderlich. Aber so ist sichergestellt, dass alle Änderungen wirksam werden. Führt man danach erneut einen SSL Test durch, kann das Ergebnis sich sehen lassen.

HTTPS Secure Tunnel

Blast Secure Gateway

Viel Spaß beim Ausprobieren. 🙂

Update 17.02.2018, 13:49 Uhr
Nach Rücksprache mit dem VMware Global Support für Horizon (View) wird HSTS für HTTPs bzw. Blast (Extreme) mit der nächsten Version 7.4. implementiert.