VMware Horizon View 6/7 – Smartcard Authentifizierung aktivieren

Um die Smartcard Authentifizierung des View Connection Servers zu aktivieren sind folgende Schritte notwendig.
Die Authentifizierung per Smartcard ist dann möglich bei Benutzerung von: View Horizon Client, PCoIP / Teradici, aber auch für die Administrationsoberfläche.
Zuerst muss mann ein Java Keystore anlegen in den das Root Zertifikat der eigenen Zertifizierungsstelle importiert wird.
Wenn man ein Zwischenzertifikat (Intermediate) benötigt, muss auch dieses Zertifikate importiert werden. (Einfach Schritt 1 wiederholen).

Schritt 1: Root Zertifikat in Keystore importieren

cd C:\Program Files\VMware\VMware View\Server\jre\bin
keytool.exe -import -alias ZertifikatsBeschreibung -file C:\temp\caRoot-base64.cer -keystore ..\..\sslgateway\conf\trust.key

Jetzt muss ein Passwort für den Keystore festgelegt werden. Das VMware Default Kennwort sollte hier eingetragen werden: secret
Mann kann auch ein eigenes Password wählen, dies muss dann aber auch in der locked.properties Datei eingetragen werden und bringt nicht wirklich eine höhere Sicherheit.Zusätzlich muss man dem angezeigtem, importiertem Zertifikat vertrauen (yes), damit es in den Keystore hinzugefügt wird.

Enter keystore password: secret
Re-enter new password:secret
Owner: your Certificate Information
Issuer: your Certificate Information
Serial number: your Serial Number
Valid from: Sun Jun 20 21:17:18 CEST 2010 until: Wed Jun 20 21:27:17 CEST 2040
Certificate fingerprints:
MD5:  your fingerprints
SHA1: your fingerprints
SHA256: your fingerprints
your fingerprints
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 1.3.6.1.4.1.311.21.1 Criticality=false
0000: 02 01 00                                           ...
#2: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
CA:true
PathLen:2147483647
]
#3: ObjectId: 2.5.29.15 Criticality=false
KeyUsage [
DigitalSignature
Key_CertSign
Crl_Sign
]
#4: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
.....
]
]
Trust this certificate? [no]:  yes
Certificate was added to keystore

Java Keystore erstellen

Schritt 2: locked.properties anlegen / ergänzen

Jetzt wechseln wir in das folgende Verzeichnis:

C:\Program Files\VMware\VMware View\Server\sslgateway\conf

Dort sollte sich nun unserer Keystore (trust.key) befinden. Damit der View Connection Server weiß, dass er die Datei laden soll, müssen wir nun eine neue Datei anlegen (falls nicht vorhanden) die: locked.properties heißt.
Die Datei mit Notepad editieren und mit folgenden Inhalt füllen:

trustKeyfile=trust.key
trustStoretype=jks
useCertAuth=true

Schritt 3: View Connection Server Service neustarten

Entwerder per CMD:

net stop wsbroker
net start wsbroker

Oder per services.msc
view-restart-service

Schritt 4: Smartcard Authentication innerhalb des View Administrators aktivieren

Nun muss noch im View Administrator die Smartcard Authentication aktiviert werden. Es gibt hier zwei Einstellungsmöglichkeite: Optional und Required. Bei Optional kann man sich wie wie gewohnt per User/Passwort authentifizieren. Wird eine Smartcard erkannt, wird diese aber gewählt. Bei Required ist eine Anmeldung per Smartcard verpflichtend.
Die Einstellung findet man unter: View Configuration -> Servers -> Connection Servers -> Server auswählen -> Edit -> Authentication
view-smartcard
Um zu überprüfen ob alles korrekt ist, kann man im debug log nach „useCertAuth“ suchen. Die Logs liegen unter: „C:\ProgramData\VMware\VDM\logs“

2016-09-16T13:43:50.488+02:00 DEBUG (1F48-1A98) <Front> [e] useCertAuth is configured as: false
2016-09-16T13:43:50.488+02:00 INFO (1F48-1A98) <Front> [e] Smart Card/Certificate Authentication will not be used as useCertAuth is false
bzw.
2016-09-16T14:56:15.505+02:00 DEBUG (1CD0-1D88) <Front> [e] useCertAuth is configured as: true
2016-09-16T14:56:15.505+02:00 INFO (1CD0-1D88) <Front> [e] Smart Card/Certificate Authentication enabled at gateway

Fertig 😉

Vmware View Horizon 7 – SSL Zertifikat austauschen

Für ein Testsystem habe ich den neuen View Horizon 7 Connection Server installiert und wollte das selbstsignierte Zertifikat durch ein Zertifikat der Windows CA austauschen.
Normalerweise hat es immer geklappt über die MMC einfach ein neues Computerzertifikat zu erzeugen, und den Friendly Name umzusetzen.
Jedoch bekam ich diesmal folgende Fehlermeldung:

2016-07-12T08:44:31.019+02:00 INFO (1188-0C10) <Thread-1> [v] The Secure Gateway Server is checking for connection attempts on http://*, port:80
2016-07-12T08:44:31.065+02:00 INFO (1188-0C10) <Thread-1> [v] The Secure Gateway Server is using SSL certificate store of type KeyVault
2016-07-12T08:44:31.065+02:00 WARN (1188-0C10) <Thread-1> [KeyVaultKeyStore] (NetHandler) Failed to get certificate chain for: "vdm"
2016-07-12T08:44:31.065+02:00 WARN (1188-0C10) <Thread-1> [KeyVaultKeyStore] (NetHandler) Certificate chain not found for alias: vdm
2016-07-12T08:44:31.081+02:00 INFO (1188-0C10) <Thread-1> [v] The Secure Gateway Server is listening on https://*, port:443
....
2016-07-12T08:46:22.939+02:00 ERROR (1188-1AE4) <pool-1-thread-1> [KeyVaultKeyStore] (NetHandler) No qualifying certificates in keystore
2016-07-12T08:46:22.940+02:00 ERROR (1188-1AE4) <pool-1-thread-1> [KeyVaultKeyStore] (NetHandler) No qualifying certificates in keystore
2016-07-12T08:46:22.941+02:00 ERROR (1188-1AE4) <pool-1-thread-1> [KeyVaultKeyStore] (NetHandler) No qualifying certificates in keystore
2016-07-12T08:46:22.942+02:00 ERROR (1188-1AE4) <pool-1-thread-1> [KeyVaultKeyStore] (NetHandler) No qualifying certificates in keystore
2016-07-12T08:46:22.963+02:00 ERROR (1188-0938) <pool-1-thread-2> [KeyVaultKeyStore] (NetHandler) No qualifying certificates in keystore

Also habe ich nochmal von Hand eine Zertifikatsanforderung mit OpenSSL erstellt:

openssl req -new -sha256 -nodes -newkey rsa:4096 -subj '/C=DE/ST=Hessen/L=Location/O=Company/OU=TEST/CN=server.fqdn.info/emailAddress=support@domain.de/subjectAltName=altFQDN,DNS.1=view.domain.info' > ssl.csr
Generating a 4096 bit RSA private key
....................................................................................................................................................++
..........................................................................................++
writing new private key to 'privkey.pem'
-----

Anschließend über die Windows Zertifizierungsstelle signiert (https://certsrv.domain.info/certsrv/). Als Base64 Zertifikat wieder herunterladen und ein PFX generieren:

openssl pkcs12 -export -in certnew.cer -inkey privkey.pem -out cert.pfx
Enter Export Password:
Verifying - Enter Export Password:

Anschließend das Zertifikat über die MMC (Certificates) in den Personal Zertifikatsspeicher importieren.
Vmware View erstellt automatisch ein selbst signiertes Zertifikat, welches den Friendly Name „vdm“ trägt. Dieser muss umbenannt werden, z.b. „vdm-original“.
Bei dem eigenen Zertifikat muss dann der Friendly Name „vdm“ über (Rechtsklick – Properties) gesetzt werden.
friendlycertname
Anschließend den „Vmware View Connection Server“ Dienst neustarten.
img_001

VMware View – VM Status: "bereits verwendet" bzw. "already used" beheben

VMWare-View2Seit VMware (Horizon) View 5.1.2 bzw. 5.2 gibt es ein neues Feature zum Umgang mit Virtuellen Maschinen im Status „already used“ bzw. „bereits verwendet“.
Wird ein Benutzer nicht korrekt abgemeldet oder die Aufräumarbeiten des View Agent nicht erfolgreich abgeschlossen wird eine Virtuelle Maschine automatisch in diesen Status versetzt.
Dies ist ein Sicherheitsfeatures, welches nur aktiv ist, wenn bei dem betreffendem Pool die Einstellung „Delete or refresh desktop on logoff“ auf Delete oder Refresh gesetzt ist.
Das Problem an der Sache, dass (warum auch immer) Virtuelle Maschinen im Status „bereits verwendet“ zu angeschalteten bzw. zur Gruppe der verfügbaren VM’s zählt. Dadurch passiert es schnell, dass keine VM anmeldebereit ist aber auch keine weitere mehr angeschaltet wird, obwohl eigentlich noch genügend VM’s (ausgeschaltet) bereitgestellt sind.
Jedenfalls kann man sich jetzt Abhilfe schaffen indem man für seine Pool’s die neu eingeführte „Dirty VM Policy“ benutzt. Dies ist eine ADAM Regel welche über das Setzen des LDAP-Attributes „pae-DirtyVmPolicy“ bei dem entsprechendem Pool greift.
Die Regel greift nur wenn:

A. The desktop session has ended
B. There are no active session either ‘Connected’ or ‘Disconnected’
C. The VM has been marked as ‘dirty’. A VM is marked as ‘dirty’, once a connection has been made to it at least once.

Es gibt 3 mögliche Optionen, wie mit den VM’s umgegangen werden soll:
1. Block access and keep for manual cleanup

By default, the Dirty VM policy will be unset, and the pae-DirtyVMPolicy will have a value ‘0’. Any
‘Single use pool’ VM that skipped the clean-up action because of any reason will be marked as
‘Already Used’
This is recommended for scenarios where administrators do not wish to allow users to get to each
other's data, but also to protect the VMs from data loss in case something does go wrong.

2. Ignore the previous usage and allow access

To ignore the previous VM usage and make it as change the pae-DirtyVMPolicy to ‘1’. With this
configuration and any single use pool VM that misses the cleanup action will be declared as available,
and will allow access to upcoming desktop launch requests.
This is recommended for administrators those who don’t care about the occasional user profile
overlap. This way Administrator can maximize the usage of the pool

3. Forcefully cleanup and declare as available

To perform an aggressive cleanup action (delete or refresh the VM as configured for the pool); set the
pae-DirtyVMPolicy valure to ‘2’. This will ensure no VMs left as “Already Used” and address the user
profile /data overlap issues when gets assigned to another user.
This is recommended for administrators who decide to automatically cleaning up a VM where
something have gone wrong may mean the loss of important logs/data but value maximum pool usage
higher.

dirtyVmpolicy

Vmware View Manager 5.1.2 – Bugfix Release

Vorgestern hat Vmware einen Bugfixrelease für Vmware View / Manager herausgebracht.
Behoben wird der „Already used“ Bug – welcher aufgetreten ist, wenn eine VM eines linked clone Pool’s durch den Benutzer heruntergefahren wurde und die Power Policy des Pools auf „Refresh on logoff“ steht.
Außerdem wurden noch ein paar Bugs bezüglich des Persona Management, Smartcard Authentifizierung und mit dem View Client behoben.
Die Release Notes findet ihr hier: Release Notes (en-US)
Downloads direkt hier: Download
vmwareview
Mit diesem Release wird noch nicht der Support für die Nvidia VGX K1/K2 hinzugefügt. Der kommt wohl dann doch erst Anfang 2013.

Vmware View Client 5.2.0 erschienen

Letzte Woche wurde eine neue Version des View Clients herausgebracht. Etwas untypisch, da normalerweise die Clients zeitgleich mit dem Connection-Server aktualisiert werden – aber gut.
Dafür gibt’s Windows 8 Unterstützung und ein neues Login Feature mit dem sich Login-Links erstellen lassen – die euch dann automatisch mit dem passenden View-Server verbinden.
VMware View Client für Windows 5.2 umfasst die folgenden neuen Funktionen:
Unterstützung für Windows 8 – View Client für Windows 5.2 und View Client with Local Mode 5.2 funktionieren auf Windows 8 Pro- und Enterprise-Clientsystemen im Desktopmodus.
Unterstützung für URI (Uniform Resource Identifier) – Vereinfachen Sie die Anmeldung bei einem View-Desktop für Endbenutzer, indem Sie einen Web- oder E-Mail-Link erstellen, den die Benutzer anklicken können, um View Client zu starten und eine Verbindung zu einem Desktop mit bestimmten Konfigurationsoptionen herzustellen. Sie können z. B. einen Link erstellen, über den ein Endbenutzer aufgefordert wird, lediglich ein Kennwort einzugeben, um anschließend ein bestimmtes Desktop im Vollbildmodus zu öffnen, wobei das PCoIP-Anzeigeprotokoll eingesetzt wird.
View Client für Windows 5.2 | 4 October 2012 | Build: 848202
Release Notes

Nutzungshinweise
Download

Vmware View 5.1 + Zeroclients & Smartcard Authentication

1. Als erstes solltet ihr eine passende Smartcard konfiguriert haben.
– Den passenden Blogpost hatte ich gestern schon geschrieben.
2. View Connection Server mit SSL Zertifikat ausstatten.
– Siehe Anleitung: http://pubs.vmware.com/view-51/topic/com.vmware.ICbase/PDF/view-51-obtaining-certificates.pdf
3. SmartCard Authentifizierung im View Connection Server aktivieren. (zumindest Optional)
– View Configuration – Servers – Connection Servers – Edit – Authentication –


4. View Connection Server Keystore erzeugen
– Im Keystore müssen die Zertifikate von der RootCA, Connection Server sowie des Enroll-Users enthalten sein.
Das File wird erzeugt mittels keytool.exe

C:\IT>keytool -importcert -keystore keys.jks -storepass 123456 -alias rootCA -file caRoot-base64.cer
C:\IT>keytool -importcert -keystore keys.jks -storepass 123456 -keyalg "RSA" -trustcacerts -alias server -file servername.cer
C:\IT>keytool -importcert -keystore keys.jks -storepass 123456 -file enroll-base64.cer

Weiterlesen

Vmware View 5.1 – Sprache ändern

View 5.1 Logon

Wer View 5.1 im Einsatz hat – wird merken: Auf einmal ist die Administrationswebseite auf Deutsch 🙂
In allen vorangegangenen Versionen war die Standardsprache bisher immer Englisch was sich seit der Version 5.1 aber ändert. Die Webseite des Vmware View Managers ist nun in 5 verschiedenen Sprachen verfügbar.
Da ich mit der deutschen Übersetzung ehrlich gesagt nicht klar komme, war direkt mein erster Gedanke: Wo stelle ich die Sprache um?
Wie mir der Support mitteilte ist die Sprache Browserabhängig. Dazu muss im Internet Explorer en-US als Sprache eingestellt werden (auch wenn das OS oder der IE schon auf Englisch ist.)

Beim Firefox ist es unter: Einstellungen -> Inhalt -> Sprachen
Ich konnte leider noch kein Firefox Plugin finden, welches diese Einstellung nur für bestimmte Seiten setzt – aber vielleicht findet ihr ja was ?

vSphere 5 / ESXi5 / View 5 – Alle SSL Zertifikate austauschen

Es gibt mehrere Gründe warum man die selbst-signierten SSL-Zertifikate von VMWare austauschen sollte. Hauptkriterium ist natürlich um Man-in-the-Middle Angriffen vorzubeugen. Außerdem schafft man damit gleichzeitig auch die lästigen Zertifikatsfehler und „roten“ Adresszeilen aus dem weg. Macht also auch optisch was her 😉
Ich beschreibe hier, wie man die folgenden Zertifikate austauschen kann (ich würde die Reihenfolge auch empfehlen):

  1. ESXi Host
  2. vCenter Server (vSphere 5.0)
  3. vSphere Update Manager
  4. View 5 Connection Server

Voraussetzungen:

  1. Zertifizierungsstelle (in meinem Fall die Windows Active Directory CA)
  2. openssl
  3. ESX Server sowie vCenter und View Connection Server müssen zwischendurch neu gestartet werden

 

Schritt 1: Zertifikat erstellen


# Keyfile generieren

openssl genrsa 1024 > rui.key

(Info: Als Root Benutzer ausführen, sonst kann der „random state“ nicht geschrieben werden. Siehe Bild.)
# Zertifikat Request erstellen

openssl req -new -key rui.key > rui.csr


Common Name = FQDN
# Zertifikat Request anzeigen

openssl req -in rui.csr

# Zertifikat erstellen via / https://CASERVER/certsrv
# Zertifikat in Base64 kodierung herunterladen und nochmal via openssl ins x509 Format umwandeln.

openssl x509 -in server.domain.info.cer -out rui-x509.cer

 

Schritt 2: Zertifikat auf ESX Server austauschen

# Zertifikat auf den ESX kopieren
Anschließend per WinSCP auf den ESX-Host verbinden, und die Dateien aktualisieren:

cd /etc/vmware/ssl
mv rui.key rui.key.old
mv rui.crt rui.key.old

Nun die generierte rui-x509.cer als rui.crt sowie das Keyfile hochladen.

# ESX rebooten
Anschließend den ESX neubooten (Empfehlung!) oder ggf. den VPXA-Dienst neustarten:

service vmware-vxpa restart

 

Schritt 3: vCenter Zertifikat austauschen

# Zertifikat erstellen (Schritt 1)
Als erstes wieder ein Zertifikat erstellen. Selber Ablauf wie schon oben oder beim ESX durchgeführt.
Der Pfad für das SSl-Zertifikat des vCenters ist:
Windows 2008: C:\ProgramData\VMware\VMware VirtualCenter\SSL
Windows 2003: C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\SSL\
# Zusätzlich Zertifikat als .pfx speichern
openssl pkcs12 -export -in rui.crt -inkey rui.key -name rui -passout pass:testpassword -out rui.pfx
Wichtig: Das Passwort auf gar keinen Fall ändern, sonst wird das Zertifikat nicht erkannt!
Zum Austausch gibts es nun 2 Wege, Entweder via zurücksetzen der vCenter Datenbank – oder neu per vCenter Api. Ich beschreibe beide Wege.

Weg 1:

# vCenter Server Dienst stoppen.

net stop vpxd

# Passwort der vCenter Server Datenbank zurücksetzen

"C:\Program Files\VMware\Infrastructure\VirtualCenter Server\vpxd.exe" –p

Das Passwort wird zufällig generiert.
# Starte den vCenter Server Dienst.

net start vpxd

Weg 2:

# Webseite aufrufen

https://vcenterservername/mob/?moid=vpxd-securitymanager&vmodl=1 


# Auf reloadSslCertificate klicken

# Auf „Invoke Method“ klicken

Als Bestätigung muss nun folgendes erscheinen:

# Überprüfen ob das Zertifikat korrekt ist.
Dazu die Webseite bzw. FQDN des vCenters aufrufen.

# Einstellung überprüfen:
Der Haken sollte gesetzt sein.

# ESX mit vCenter neu verbinden.
Damit der vCenter das neue Zertifikat des ESX „aktualisiert“ müssen die ESX-Hosts der Reihe nach neu verbunden werden. Dazu aus dem vCenter entfernen und neu verbinden. (FQDN verwenden!)

Schritt 3: Zertifikat des Update Managers austauschen

# Zertifikat erstellen (Schritt 1)
Als erstes wieder ein Zertifikat erstellen. Selber Ablauf wie schon oben oder beim ESX durchgeführt.
Der Pfad für das SSL Zertifikat des Update Managers ist (unter W2K8R2 64-bit):
C:\Program Files (x86)\VMware\Infrastructure\Update Manager\SSL
# Zusätzlich Zertifikat als .pfx speichern
openssl pkcs12 -export -in rui.crt -inkey rui.key -name rui -passout pass:testpassword -out rui.pfx
# Update Manager Dienst stoppen

net stop vmware-ufad-vci


# Zertifikat austauschen
Nun wieder die erstellen Zertifikat-Dateien austauschen. (rui.crt | rui.key | rui.pfx)
# Update Manager Dienst starten

net start vmware-ufad-vci

Schritt 4: Zertifikat des View Connection Server austauschen

Das Austauschen des View-Zertifikates wird in einem VMWare-KB sehr gut beschrieben. Siehe hier: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008705
Mittels des keytools kann man sich den Request erstellen und dann ganz normal via AD-CA zertifizieren.
 

Debugging: SSL-Fingerprints im vCenter

Gegebenenfalls bekommt man das ein oder andere mal eine Fehlermeldung, das die Fingerprints nicht übereinstimmen. Dies kommt zum Beispiel, wenn man die ESX-Hosts nicht neu verbindet, wenn sich das Zertifikat geändert hat.
Dies kann man debuggen, indem man sich auf den SQL-Server verbindet und sich alle Fingerprints anzeigen lässt:

SELECT id,EXPECTED_SSL_THUMBPRINT,HOST_SSL_THUMBPRINT FROM dbo.VPX_HOST

Der Erwartete Fingerprint muss mit dem realen Fingerprint übereinstimmen:

Ggf. dann den Expected_SSL_Thumbprint mit dem realen aktualisieren:

UPDATE dbo.VPX_HOST SET EXPECTED_SSL_THUMBPRINT = '7B:93:B8:F9:FE:E2:8E:E4:9A:6E:19XXXXXXX:D:CB:21:03:E7’ WHERE id = '5849’

# Fingerprint vom Zertifikat anzeigen

openssl x509 -fingerprint -noout -md5 -in self-signed-certificate.pem

MD5 oder Sha1 – Alternativ einfach Rechtsklick-Eigenschaften und Zertifikat Details anzeigen lassen.
 
 
 
 

Howto: Change Windows Font Size in a Vmware View 5 VM

Hallo zusammen,
wer Virtuelle Desktops mit Zero-Clients einsetzt wird schon gemerkt haben, dass Einstellungen wie z.B. Auflösung, Monitor Position oder Tastatur & Mauseinstellungen nicht direkt in der VM gemacht werden, sondern vom Client/Host vorgegeben werden. In meinem Fall lässt sich das über das OSD der Samsung NC240 Zero-Clients einstellen.
Jedoch fehlt dort die Möglichkeit die Windows-Schriftgröße abzuändern.

Die Einstellung wird vom View Agent deaktiviert.

Dies kann man nach Absprache mit dem Vmware Support jedoch per GPO-Registry Key abändern:

Can you modify (if not present create) this registry value..?
HKCU\Control Panel\Desktop\LogPixels
Here are the different values and their meanings :
- Decimal : 96 ==> 100%
- Decimal : 120 ==> 125%
- Decimal : 144 ==> 150%
You should be able to apply this via GPO, at user level.

In meiner GPO sieht das dann so aus:
Damit nicht direkt jeder User die Schriftart vergrößert bekommt, habe ich diese Gruppen abhängig gemacht.
Mal sehen ob demnächst ein Firmware Update von Teradici dazu kommt.
Gruß
Cons
 
Nachtrag: Vmware KB kommt in den nächsten Stunden : http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2009016