Dienstag, 3. Januar 2012

HowTo: Selbst-signiertes Zertifikat für Citrix Merchandising Server mit OpenSSL

Hallo zusammen und erst mal ein frohes, gesundes neues Jahr!

Der erste Post im Jahr 2012 dreht sich um das Thema Citrix Merchandising Server, die zentrale Verwaltungs- und Rollout-Instanz für den Citrix Receiver für Windows sowie die darauf aufsetzenden Plug-Ins. Dabei geht es nicht um den Merchandising Server an sich (das kommt ev. in einem anderen Post gekoppelt mit dem Receiver für Windows), sondern konkret um das Problem, dass das interne, selbst-signierte Zertifikat des Merchandising Servers nur eine Laufzeit von 30 Tagen hat. Somit muss man sich also bei der Implementierung des Merchandising Servers auf jeden Fall gedanken darüber machen, wie man dieses Zertifikat kurzfristig ersetzt. Da nicht jeder Kunde von Citrix eine interne CA hat oder diese nur für den Merchandising Server aufbauen möchte, ggf. aber auch nicht bereit ist, ein kostenpflichtiges Zertifikat von einer externen CA zu erwerben, bleibt noch der Weg über ein selbst-signiertes Zertifikat mit verlängerter Laufzeit. Dieser Blog-Post zeigt, wie dieses Zertifikat mittels OpenSSL für Windows erstellt werden kann.

Generelle Infos zu OpenSSL:
Homepage des OpenSSL-Projektes: http://www.openssl.org/
Download von OpenSSL (1.0.0e) für Windows: http://www.slproweb.com/products/Win32OpenSSL.html

Anleitung:

Die Installation von OpenSSL kann auf jedem aktuell unterstützten Windows-Betriebssystem erfolgen. Der Installer entpackt die Daten standardmäßig in den folgenden Ordner: C:\OpenSSL-Win32
OpenSSL wird grundsätzlich aus der Kommandozeile genutzt. Die ausführbare Datei (openssl.exe) befindet sich im Unterordner „bin“ C:\OpenSSL-Win32\bin
Nachfolgend wird die Konfiguration eines selbst-signierten Zertifikats mit einer Laufzeit von drei Jahren mit Hilfe von OpenSSL für Citrix Merchandising Server dokumentiert:
Hinweis: Die Namen der Dateien sollten nicht verändert werden, da diese in der Logik des Merchandising-Servers fest hinterlegt sind.


Zunächst muss ein privater Schlüssel erzeugt werden.
Kommandozeilen-Befehl:
openssl genrsa -des3 -out server.key 1024


Für den privaten Schlüssel muss zunächst ein Passwort vergeben werden (dies wird im Nachhinein wieder entfernt). Die Eingabe des Passworts wird nicht angezeigt.


Nach erfolgreicher Erstellung befindet sich die Datei server.key in dem Verzeichnis C:\OpenSSL-Win32\bin
Der zweite Schritt ist die Erstellung eines „Certificate-Signing-Requests“ (CSR), der später, im finalen Schritt, für die Erstellung des eigentlichen Zertifikats notwendig ist. Hierfür müssen bestimmte Informationen eingegeben werden.
Kommandozeilen-Befehl:
openssl req -new -key server.key –config C:\OpenSSL-Win32\bin\openssl.cfg -out server.csr
Einzugebende Informationen:
Country Name (2 letter code) [AU]: DE
State or Province Name (full name) [Some-State]:Bayern
Locality Name (eg, city) []: Augsburg
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Musterfirma GmbH
Organizational Unit Name (eg, section): IT
Common Name (eg, YOUR name) []: receiver.kbs.drv
Email Address []: helpdesk@musterfirma.de
A challenge password []: XXXX
An optional company name []: .


Im nächsten Schritt wird das Passwort des privaten Schlüssels entfernt. Hierzu wird zunächst die Datei server.key in server.key.tmp umbenannt.
Kommandozeilen-Befehl:
Ren server.key server.key.tmp

Anschließend wird mit dem folgenden Befehl eine Kopie der Datei server.key.tmp ohne Passwortschutz erstellt:
Kommandozeilen-Befehl:
openssl rsa -in server.key.tmp -out server.key


Abschließend wird auf Basis des nun ohne Passwort geschützten privaten Schlüssels das eigentliche Zertifikat erstellt.
Kommandozeilen-Befehl:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Die erzeugten Dateien (server.key, server.crt und server.crt) müssen nun auf den Merchandising Server in das folgende Verzeichnis kopiert werden: /etc/httpd/conf (z.B. per WinSCP). Aus Sicherheitsgründen sollten die bestehenden Dateien auf dem Merchandising-Server vor dem Ersetzen gesichert werden.
Um die Dateien transferieren zu können, muss auf dem Merchandising-Server (an der Konsole) der SSH-Daemon gestartet werden.
Kommandozeilen-Befehl (Merchandising Server):
/etc/init.d/sshd start


 
Hinweis: Durch den Befehl wird einmalig der Dienst „ssh“ gestartet. Nach dem abschließenden Reboot ist der Dienst wieder inaktiv. Um diesen dauerhaft zu aktivieren, sind weitere Anpassungen notwendig.
Nach dem Transfer der Dateien muss der Merchandising Server per-Reboot-Befehl neu gestartet werden.
Kommandozeilen-Befehl (Merchandising Server):
Reboot
 
In diesem Sinne, viel Erfolg beim Aktualisieren der Zertifikate des Merchandising Servers und eine schöne erste Restarbeitswoche in 2012.

VG,

Jörn



Keine Kommentare:

Kommentar veröffentlichen