SSL-Zertifikate

Über das GREYHOUND Control Center (GCC) ist es möglich, (unsignierte) SSL-Zertifikate zu erzeugen, eigene bestehende SSL-Zertifikate zu hinterlegen oder kostenlose Zertifikate von Let’s Encrypt zu verwenden. Wie das geht, ist von der gewählten Betriebsform abhängig.

NEU: Kostenlose Zertifikate von Let’s Encrypt einbinden

Im GCC gibt es die Möglichkeit, kostenlose signierte Zertifikate von Let’s Encrypt einzubinden. Diese Funktion ist derzeit noch in der Beta-Phase (experimentell). Let’s Encrypt steht sowohl im Hosting, als auch bei überwachten Servern im Eigenbetrieb zur Verfügung. Wie man diese einbindet, ist in den entsprechenden Abschnitten unten beschrieben.

Let’s Encrypt ist eine Zertifizierungsstelle, die kostenlose Zertifikate für Transport Layer Security (TLS) anbietet. Die Zertifikate haben eine Gültigkeit von jeweils 90 Tagen und können manuell oder automatisch erneuert werden. Aktualisiert man sie nicht manuell, so erfolgt die Erneuerung 30 Tage vor Ablauf durch das GCC automatisch – einmal eingerichtet, muss man sich also um nichts kümmern. Die Erneuerung findet nachts im gewählten Zeitfenster für Optimierung und Wartung des GREYHOUND Servers statt und dauert rund eine Minute.

Das Zertifikat funktioniert nicht mit IP-Adressen, sondern braucht zwingend einen Hostnamen. Um Zertifikate von Let’s Encrypt nutzen zu können, muss der GREYHOUND Server zwingend auf Port 80 von außen erreichbar sein. Die Wahl eines anderen Ports ist leider nicht möglich bei der Verwendung von Let’s Encrypt Zertifikaten.

Unsignierte SSL-Zertifikate via GCC erzeugen

Über das GREYHOUND Control Center (GCC) ist es möglich, SSL-Zertifikate zu erzeugen. So erzeugte SSL-Zertifikate sind nicht offiziell signiert. Sie bestehen 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 oben genannten drei Dateien zu erzeugen und zu installieren, ist ganz leicht: Dazu ist einfach im Kundenaccount, dem GCC, die Seite SSL-Zertifikat erstellen (Verträge > SSL-Zertifikat erstellen) aufzurufen. 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 oder können direkt im Bereich “Für Betriebsumgebung verwenden” eingebunden werden:

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 aber i.d.R. aus.

Wenn die Nutzung der mobilen App, GREYHOUND Unity, der Betrieb von GREYHOUND Share oder eine Nutzung des GREYHOUND Chats 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. Alternativ kann auch via GCC ein kostenloses, signiertes Zertifikat von Let’s Encrypt eingebunden werden. Wie das geht, ist im nächsten Kapitel beschrieben.

SSL-Zertifikat hinterlegen

Wie sich SSL-Zertifikate installieren lassen, variiert je nach Betriebsumgebung für GREYHOUND. Bitte den passenden Abschnitt lesen, je nachdem, ob man GREYHOUND 1) bei uns im Rechenzentrum hostet, 2) GREYHOUND im überwachten Eigenbetrieb nutzt oder 3) GREYHOUND komplett eigenständig inhouse betreibt (Individualbetrieb).

1) Für Hosting-Kunden

Wenn man ein Hosting-Paket bei uns gebucht hat, navigiert man sich zu Verträge > V-12345678-9 > Hosting-Paket anzeigen und scrollt runter bis zum Punkt “SSL-Unterstützung”, wo man auf ändern klickt. Daraufhin öffnet sich Folgendes:

Man hat hier also die Möglichkeit …

  1. … ein vorhandenes, eigenes SSL-Zertifikat für das Hosting-Paket hochzuladen (Auswahl 1).
    Hierzu einfach die vorhandenen Zertifikatsdateien hochladen und unten rechts mit dem roten Button “Speichern” übernehmen.
  2. … ein unsigniertes Zertifikat über das GCC zu generieren (Auswahl Punkt 1)
    Hierzu etwas nach unten scrollen und auf den Button “Neues SSL-Zertifikat erstellen” klicken. Auf der Seite, die sich dann öffnet, die entsprechenden Daten eintragen und anschließend unten rechts auf “Generieren” klicken. Auf der folgenden Seite können die Zertifikatsdateien heruntergeladen werden. Um das Zertifikat direkt zu nutzen, etwas runterscrollen und im Bereich “Für Betriebsumgebung verwenden” darauf achten, dass das korrekte Hosting-Paket ausgewählt ist und auf den roten Button unten klicken. Das neu generierte SSL-Zertifikat wird innerhalb der nächsten Minuten automatisch installiert.
  3. … ein kostenloses Zertifikat von Let’s Encrypt zu generieren und einzubinden (Auswahl Punkt 2).
    Hierzu ist eine E-Mail-Adresse einzutragen, die für die Generierung des Let’s Encrypt Zertifikats verwendet werden soll. Außerdem ist festzulegen, ob das SSL-Zertifikat für alle Serverkomponenten oder nur für bestimmte Serverkomponenten verwendet werden soll. Außerdem ist wichtig, nochmal nach oben zu scrollen zum Punkt “Externer Hostname“: Das Zertifikat funktioniert nicht mit IP-Adressen, sondern braucht zwingend einen Hostnamen.
    -> Hier ist also entweder eine bereits vorhandene Subdomain einzugeben und mit “Speichern” zu bestätigen.
    -> Hat man noch keine Subdomain, kann man bei seinem Provider eine neue Subdomain anlegen, beispielweise greyhound.meinefirma.de. Zudem ist ein DNS-Record vom Typ A zu erstellen, der auf die feste IP des GREYHOUND Hosting zeigt. Sollte einem die eigene IP nicht bekannt sein, finden Hosting-Kunden diese in unserer Vertragsverwaltung, dem GCC, unter Verträge > V-123456789-0 > Hosting-Paket. ACHTUNG: Ändert man das Hosting-Paket später, so ist bei diesem Weg darauf zu achten, die neue IP entsprechend auch beim A-Record anzupassen.
    -> Um keine eigene Subdomain anlegen zu müssen, können Hosting-Kunden auch eine kostenlos von uns bereitgestellte Domain hierfür nutzen. Dazu bitte einmal zu Verträge > V-123456789-0 > Hosting-Paket navigieren und hier auf den Button “Einstellungen” klicken. Nun bis zum Punkt “Externer Hostname” scrollen. Hier ist die zweite Option zu wählen: “Einen durch GREYHOUND Software bereitgestellten externen Hostnamen verwenden” und einer der im Dropdown-Menü angezeigten externen Hostnamen zu wählen. Hinweis: Über diese URL ist der GREYHOUND Client sowie auch die GREYHOUND App dann später erreichbar. Die Änderung ist durch einen Klick auf den Speichern-Button unten rechts zu übernehmen.


    Diese URL ist dann bei der Generierung des Let’s Encrypt Zertifikats als Externer Hostname einzugeben.

Hinweis
Erst nach einigen Minuten sieht man ggfs. im GREYHOUND Control Center, dass die “SSL-Verschlüsselung” auf “Ja” steht – diese Änderung geschieht nicht in Echtzeit.

Hinweis: Selbstverständlich kann man ein SSL-Zertifikat auch jederzeit ändern / erneuern. Dazu navigiert man sich wie oben beschrieben im GCC zu Verträge > V-123456789-0 > Hosting-Paket und scrollt runter zum Punkt “SSL-Unterstützung”, wo man auf ändern klickt.

2) Für Kunden im überwachten Eigenbetrieb

Kunden, die den überwachten Eigenbetrieb nutzen, finden die relevanten Einstellungen hinsichtlich SSL im GCC unter Verträge > V-12456789-0 > Eigene Server, indem sie auf das Stift-Icon klicken. Scrollt man auf der Seite, die sich daraufhin öffnet, etwas nach unten, findet man folgende Auswahl vor:

Man hat hier also die Möglichkeit …

  1. … ein vorhandenes, eigenes SSL-Zertifikat für den überwachten Eigenbetriebsserver hochzuladen (Auswahl 1).
    Hierzu einfach die vorhandenen Zertifikatsdateien hochladen und unten rechts mit dem roten Button “Speichern” übernehmen.
  2. … ein unsigniertes Zertifikat über das GCC zu generieren (Auswahl Punkt 1)
    Hierzu etwas nach unten scrollen und auf den Button “Neues SSL-Zertifikat erstellen” klicken. Auf der Seite, die sich dann öffnet, die entsprechenden Daten eintragen und anschließend unten rechts auf “Generieren” klicken. Auf der folgenden Seite können die Zertifikatsdateien heruntergeladen werden. Um das Zertifikat direkt zu nutzen, etwas runterscrollen und im Bereich “Für Betriebsumgebung verwenden” darauf achten, dass der überwachte Eigenbetriebsserver ausgewählt ist und auf den roten Button unten klicken. Das neu generierte SSL-Zertifikat wird innerhalb der nächsten Minuten automatisch installiert.
  3. … ein kostenloses Zertifikat von Let’s Encrypt zu generieren und einzubinden (Auswahl Punkt 2).
    Hierzu ist eine E-Mail-Adresse einzutragen, die für die Generierung des Let’s Encrypt Zertifikats verwendet werden soll. Außerdem ist festzulegen, ob das SSL-Zertifikat für alle Serverkomponenten oder nur für bestimmte Serverkomponenten verwendet werden soll. Außerdem ist wichtig, nochmal nach oben zu scrollen zum Punkt “Externer Hostname“: Das Zertifikat funktioniert nicht mit IP-Adressen, sondern braucht zwingend einen Hostnamen. Nach Eingabe dieses Hostnamens unten rechts auf “Speichern” klicken.

    ACHTUNG: Um Zertifikate von Let’s Encrypt nutzen zu können, muss der GREYHOUND Server zwingend auf Port 80 von außen erreichbar sein, da Let’s Encrypt seine Zertifkate ausschließlich über Port 80 erneuert. Die Wahl eines anderen Ports ist daher nicht möglich bei der Verwendung von Let’s Encrypt Zertifikaten.

Hinweis
Erst nach einigen Minuten sieht man ggfs. im GREYHOUND Control Center, dass die “SSL-Verschlüsselung” auf “Ja” steht – diese Änderung geschieht nicht in Echtzeit.

Hinweis: Selbstverständlich kann man ein SSL-Zertifikat auch jederzeit wieder ändern / erneuern. Dazu navigiert man sich im GCC zu Verträge > V-123456789-0 > Eigene Server auf den Namen des Eigenbetriebsservers und klickt dort auf den Button “Einstellungen”. Auf der Seite, die sich dann öffnet, findet man die nötigen Stellschrauben unter der Überschrift “SSL-Zertifikat”.

3) Für Kunden im Individualbetrieb

Wer GREYHOUND im eigenen Haus betreiben, kann die KEY- und CRT-Datei im GREYHOUND Administrator unter “Konfiguration” > “Einstellungen Applikationsserver” > “HTTP Protokoll” eintragen. Nach einem Neustart des GREYHOUND Servers steht dann SSL zur Verfügung.

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 🙂

Zwischenzertifikat beachtet?

Ich habe ein offiziell signiertes SSL-Zertifikat hochgeladen, bekomme in der GREYHOUND App aber die Fehlermeldung „Zeitüberschreitung beim Verbindungsaufbau“. Was muss ich tun?

Bei offiziell signierten SSL-Zertifikaten (die nicht von Let’s Encrypt stammen), ist zu prüfen, ob die Vertrauenskette vollständig ist. Heißt: Oftmals ist das SSL-Zertifikat zwar gültig, aber das übergeordnete Zertifikat kann nicht gefunden werden, wodurch die Vertrauenskette nicht geschlossen ist und das ganze Zertifikat nicht akzeotiert ist.

Ob dies der Fall ist, lässt sich beispielsweise bei SSL-Trust kostenlos validieren: https://ssl-trust.com/SSL-Zertifikate/check

Lautet das Testergebnis, „das übergeordnete Zitat ist leider nicht bekannt“, dann muss mindestens ein Zwischenzertifikat ebenfalls im GCC hinterlegt werden, da dieses im gewählten SSL-Zertifikat nicht enthalten ist.Am Beispiel eines SSL-Zertifikats von Sectigo kann das beispielsweise so aussehen:

In diesem Fall muss das Zwischen-Zertifikat Sectigo RSA Domain Validation Secure Server CA ebenfalls im GCC hinterlegt werden.

SSL- / TLS-Version bestimmen?

Kann ich beeinflussen, welche SSL- / TLS-Version GREYHOUND nutzt?

Ja, die SSL- / TLS-Version, die GREYHOUND nutzt, lässt sich bei Bedarf individuell verändern. Standardmäßig werden TLS 1.0, TLS 1.1 ODER TLS 1.2 verwendet. Wenn nötig, kann dies wie folgt auf eine bestimmte Version festgelegt werden – entweder auf SSL 3.0, auf TLS 1.0, auf TLS 1.1 und/oder auf TLS 1.2. Es können mehrere Versionen ausgewählt werden, sodass es möglich ist, bestimmte Versionen auszuschließen.

  • Hosting-Kunden finden die nötige Einstellung im GREYHOUND Control Center unter Verträge > V-123456789-0 > Hosting-Paket > Einstellungen > ganz nach unten scrollen > Systemeinstellungen. Hier herunterscrollen bis zum Punkt „HTTP-Verbindungen“.
  • Kunden im überwachten Eigenbetrieb finden die nötige Einstellung im GREYHOUND Control Center unter Verträge > V-123456789-0 > Eigene Server > Klick auf den grünen Namen des Servers > Einstellungen > ganz nach unten scrollen > Systemeinstellungen. Hier herunterscrollen bis zum Punkt „HTTP-Verbindungen“.

Hinweis: Die gleichen Konfigurationsmöglichkeiten stehen auf der gleichen Seiten auch für den mobilen Nachrichtenzugriff zur Verfügung.