SSL-Zertifikat

Über das GREYHOUND Control Center (GGC) ist es möglich, SSL-Zertifikate zu erzeugen. Ein SSL-Zertifikat besteht dabei aus drei Teilen:

  1. CSR-Datei (Zertifikatssignierungsanfrage): Mit dieser Datei kann bei einer Vergabestelle für SSL-Zertifikate ein SSL-Zertifikat bestellt werden. Die Datei enthält Angaben über den “Betreiber” der per SSL geschützten Seite.
  2. KEY-Datei (Privater Schlüssel): Die KEY-Datei enthält den privaten Schlüssel. Der Server entschlüsselt alle eingehenden Anfragen mit diesem Schlüssel. Mit dem privaten Schlüssel und dem eigentlichen Zertifikat wird der sogenannte “Public-Key” erzeugt, mit welchem der Webbrowser oder der anfragende Client seine Anfragen verschlüsselt.
  3. CRT-Datei (das Zertifikat): Enthält das eigentliche und von der Vergabestelle signierte Zertifikat.

Die vom Kundenaccount (GCC) erzeugte CRT-Datei ist “self-signed”, das heißt das Zertifikat wurde vom Ersteller des Zertifikats selbst unterschrieben. Auf diese Weise erzeugte Zertifikate lösen im Webbrowser eine Sicherheitswarnung aus, weil keine externe (und vertrauensvolle) Zertifizierungsstelle die Identität der Webseite bzw. des Seitenbetreibers bestätigt hat. Die Daten der SSL-Verbindung sind dann zwar verschlüsselt, allerdings ist nicht sichergestellt, dass der Absender/Empfänger korrekt ist.

Für normale Anfragen via XML-RPC oder JSON-RPC über den GREYHOUND HTTP-Server reicht ein selbst signiertes Zertifikat i.d.R. aus.

Wenn der Betrieb von GREYHOUND Share oder GREYHOUND Chat gewünscht wird, empfiehlt es sich aber, dass ein signiertes Zertifikat bei einer Vergabestelle (wie z. B. Verisign oder Thawte) bestellt wird. Dazu wird die die CSR-Datei benötigt. Diese wird an die Vergabestelle (zusammen mit etwas Geld :D) übermittelt. Diese erstellt dann eine signierte CRT-Datei.

Zertifikat erzeugen

Die oben genannten drei Dateien zu erzeugen und zu installieren, ist ganz leicht. Dazu ist einfach im Kundenaccount, dem GCC, die Seite SSL-Zertifikat erstellen aufzurufen. Nach dem erfolgreichen Login werden die Account-Daten (und falls gebucht, der im Hosting-Paket hinterlegte externe Hostname) schon vorausgefüllt. Die einzelnen Felder sind jeweils beschrieben. Das wichtigste Feld für einen reibungslosen Betrieb ist der “Common Name”. Dieser muss exakt mit dem externen Hostnamen (auch öffentliche IP/Host genannt) übereinstimmen, damit das Zertifikat im Fall der Signierung später auch “passt”.

Wenn man die Daten überprüft hat, klickt man einfach auf “Generieren”. Die folgende Seite gibt die oben genannten drei Dateien aus. Diese Dateien sind mit einem Texteditor z. B. als GREYHOUND.csr, GREYHOUND.key und GREYHOUND.crt für die spätere Verwendung abzuspeichern.

Zertifikat installieren

Wenn man ein Hosting-Paket bei uns gebucht hat, findet man am Ende der Seite die Möglichkeit, das unsignierte SSL-Zertifikat für das Hosting-Paket sofort zu übernehmen. Falls man mehr als ein Hosting-Paket hat, wählt man das passende bitte aus. Anschließend einfach auf “Für Hosting-Paket verwenden” klicken. Das SSL-Zertifikat wird innerhalb der nächsten Minuten automatisch installiert.

Falls man kein Hosting-Paket gebucht hat und GREYHOUND im eigenen Haus betreiben, kann man sich die KEY- und CRT-Datei im GREYHOUND Administrator unter “Konfiguration” > “Einstellungen Applikationsserver” > “HTTP Protokoll” auswählen. Nach einem Neustart des GREYHOUND Servers steht auch hier ab sofort SSL zur Verfügung.

Wenn man das Zertifikat von einer Vergabestelle signieren lassen möchte, kann man, falls ein Hosting-Paket verwendet wird, die KEY- und CRT-Datei auf der Einstellungsseite des Hosting-Pakets auch später einfach hochladen. Die Seite ist zu finden unter: “Kundenaccount” > “Verträge” > “Hosting-Paket anzeigen” > “Einstellungen”.

Offiziell signieren

Wenn man vorhat, das SSL-Zertifikat von einer Vergabestelle signieren zu lassen, sollte vorher ein öffentlicher Hostname für GREYHOUND festgelegt werden. Dazu bietet sich zum Beispiel eine Third-Level-Domain wie greyhound.mein-unternehmen.de an. Im sogenannten A-Record der Domain wird dann die öffentliche IP-Adresse des GREYHOUND Servers hinterlegt. Das SSL-Zertifikat wird nun für diesen “Common Name” registriert.

Der Vorteil bei der Verwendung von Domainnamen anstelle von IP-Adressen für den Common Name ist schnell erklärt: Domains sind an eine Person gebunden und gehören entsprechend einer Person. Auch wenn sich die IP-Adresse des GREYHOUND Servers einmal ändern sollte (zum Beispiel beim Wechsel in ein höheres Hosting-Paket), bleibt das SSL-Zertifikat weiterhin gültig.

Den externen Hostnamen für GREYHOUND kann man, wenn man ein Hosting-Paket hat, auf der Einstellungsseite ändern, wo auch das SSL-Zertifikat hinterlegt werden kann. Wenn man GREYHOUND auf einem eigenen Server betreibt, findet man die entsprechende Einstellung unter “Konfiguration” > “Allgemeine Einstellungen” > “Öffentliche IP/Host”.

Man sollte diesen Hostnamen anlegen und einrichten, bevor man ein signiertes SSL-Zertifikat bestellt. Wenn man ein unsigniertes Zertifikat verwendet, kann man aber jederzeit kostenlos ein neues, mit einem anderen “Common Name” registrieren. So lässt sich die Funktion also ohne Kosten zunächst ausprobieren 🙂