Einrichten der SSL-Verschlüsselung
SSL (Secure Sockets Layer) ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung zwischen einem Client und einem Server. In FlowForce Server können die folgenden HTTP-Verbindungen mit SSL-Zertifikaten verschlüsselt werden:
•die Verbindung zwischen einem Browser und FlowForce Web Server
•die Verbindung zwischen dem Verwender eines Webservice (z.B. eine Client-Applikation) und dem FlowForce Server-Dienst
•die interne Verbindung zwischen FlowForce Web Server und FlowForce Server
Für die ersten beiden Verbindungsarten benötigen Sie ein SSL-Zertifikat und einen entsprechenden Private Key für dieses Zertifikat. Aus Sicherheitsgründen sollten Sie eventuell für jede Verbindung ein separates SSL-Zertifikat und einen separaten Private Key verwenden. Wenn Sie für beide Verbindungen dasselbe Zertifikat und denselben Private Key verwenden möchten, müssen sowohl FlowForce Server als auch FlowForce Web Server denselben voll qualifizierten Domainnamen (Fully Qualified Domain Name (FQDN)) haben. Wenn z.B. FlowForce Web Server auf https://irgendeinhost:8083 empfangsbereit ist, dann sollte FlowForce Server auf https://irgendeinhost:4647 empfangsbereit sein. Beachten Sie, dass Sie den Port später jederzeit ändern können, nur der Host-Name ist in diesem Fall wichtig.
Für die letzte Verbindung wird kein drittes Zertifikat/Schlüssel-Paar benötigt. Sie können dasselbe SSL-Zertifikat wie für FlowForce Server verwenden - in diesem Fall fungiert FlowForce Web Server als HTTP-Client für FlowForce Server.
FlowForce Server Advanced Edition
Wenn Sie FlowForce zum Austausch von AS2-Daten verwenden, können Sie die Daten im Rahmen des A2-Diensts auch mit SSL-Zertifikaten signieren oder verschlüsseln, siehe AS2-Integration.
Verfahren zur SSL-Verschlüsselung
Wenn Sie die Kommunikation mit dem SSL-Protokoll verschlüsseln müssen, gehen Sie vor, wie unten beschrieben. Wir haben in diesem Beispiel den Open Source OpenSSL Toolkit verwendet, um die SSL-Verschlüsselung einzurichten. Die unten aufgelisteten Schritte müssen daher auf einem Computer durchgeführt werden, auf dem OpenSSL zur Verfügung steht. OpenSSL ist auf den meisten Linux Distributions und macOS-Rechnern bereits vorinstalliert. Er kann auch auf Windows-Computern installiert werden. Download Links zu den Installations-Binärdateien finden Sie im OpenSSL Wiki.
1.Generieren eines Private Key
Für SSL muss ein Private Key auf FlowForce Server installiert sein. Mit Hilfe dieses Private Key werden alle an Clients gesendeten Daten verschlüsselt. Verwenden Sie zum Erstellen des Private Key den folgenden OpenSSL-Befehl:
openssl genrsa -out private.key 2048
Mit dem obigen Befehl wird eine Datei namens private.key generiert, die Ihren Private Key enthält. Merken Sie sich, wo Sie die Datei speichern. Anhand des Private Key wird der (i) Certificate Signing Request (CSR) generiert und (ii) der Private Key wird auf FlowForce Server installiert (siehe Schritt 7 weiter unten). Der Wert 2048 bezieht sich auf die 2048-Bit-Größe des Private Key. Dies ist die Mindestverschlüsselungsstärke die normalerweise von einer Zertifizierungsstelle akzeptiert wird.
Private Key-AnforderungenDa FlowForce unbeaufsichtigt läuft, darf der Private Key bei aktiviertem SSL nicht verschlüsselt sein, das heißt er darf nicht durch ein Passwort geschützt sein. Andernfalls kann der Private Key von FlowForce Server nicht verwendet werden. Aus diesem Grund muss der Zugriff auf die Datei, in der der Private Key gespeichert ist, auf berechtigte Personen in Ihrem Unternehmen beschränkt sein.
Um herauszufinden, ob der Private Key passwortgeschützt oder unverschlüsselt ist, öffnen Sie die Private Key-Datei mit einem Text-Editor oder über die Befehlszeile. Ein verschlüsselter Private Key beginnt mit den folgenden Zeilen:
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: AES-256-CBC,DFC3FAD546517ED6336CFF72AA23F6C7
Verwenden Sie zum Entschlüsseln des Private Key den folgenden OpenSSL-Befehl:
openssl rsa -in enc.key -out dec.key
Beachten Sie außerdem die folgenden Anforderungen:
•Der Private Key muss im PEM (Privacy Enhanced Mail)-Format sein. Die Dateierweiterung von PEM-Dateien lautet normalerweise .pem, kann aber auch .key, .cert, .cer oder .crt sein. •Der private Schlüssel muss sicher aufbewahrt werden.
|
2.Erstellen eines Certificate Signing Request (CSR)
Ein Certificate Signing Request (CSR) wird an eine Zertifizierungsstelle (Certificate Authority = CA) wie z.B. VeriSign oder Thawte gesendet, um ein Public Key-Zertifikat anzufordern. Der CSR basiert auf Ihrem Private Key und enthält Informationen über Ihr Unternehmen. Mit dem folgenden OpenSSL-Befehl (der die in Schritt 1 erstellte Private Key-Datei private.key als einen seiner Parameter enthält) wird ein CSR erstellt:
openssl req -new -nodes -key private.key -out my.csr
Während der Generierung des CSR müssen Sie die unten angeführten Informationen über Ihr Unternehmen angeben (Liste unten). Anhand dieser Informationen überprüft die Zertifizierungsstelle die Identität Ihres Unternehmens.
•Country (Land) •Locality (Ort) (den Firmensitz Ihres Unternehmens) •Organization (Unternehmen) (Ihr Firmenname). Verwenden Sie keine Sonderzeichen, da sonst kein gültiges Zertifikat erstellt werden kann •Common Name (der DNS-Name Ihres Servers). Dieser Name muss mit dem offiziellen Namen Ihres Servers, d.h. dem DNS-Namen, über den Client Apps eine Verbindung zum Server herstellen, genau übereinstimmen. •Ein "Challenge Password". Dieser Eintrag muss leer bleiben.
|
3.Erwerben eines SSL-Zertifikats
Im nächsten Schritt müssen Sie von einer anerkannten Zertifizierungsstelle (CA), wie z.B. VeriSign oder Thawte ein SSL-Zertifikat erwerben. In der restlichen Anleitung gehen wir nach dem VeriSign-Verfahren vor. Bei anderen CAs ist der Ablauf ähnlich.
1.Gehen Sie zur VeriSign Website. 2.Klicken Sie auf Buy SSL Certificates. 3.Es stehen unterschiedliche Arten von SSL-Zertifikaten zur Verfügung. Für FlowForce Server genügen Secure Site- oder Secure Site Pro-Zertifikate. Eine EV (Extended Verification) ist nicht nötig, da Benutzern keine "grüne Adressleiste" angezeigt wird. 4.Erledigen Sie die Anmeldung und füllen Sie die erforderlichen Informationen für Ihre Bestellung aus. 5.Wenn Sie nach dem (in Schritt 2: "Erstellen eines Certificate Signing Request" erstellten) CSR gefragt werden, kopieren Sie den Inhalt der Datei my.csr in das Bestellformular. 6.Bezahlen Sie das Zertifikat mit Ihrer Kreditkarte.
Der Erwerb eines Public Key-Zertifikats von einer SSL-Zertifizierungsstelle(CA) dauert in der Regel zwei bis drei Werktage. Bitte berücksichtigen Sie dies bei der Einrichtung Ihres FlowForce Server.
Alternative Methode: Erstellen selbstsignierter SSL-ZertifikateWenn FlowForce Server alternativ dazu in einem privaten Netzwerk ausgeführt wird, können Sie auch Ihre eigene SSL Root-Zertifizierungsstelle konfigurieren (Vorausgesetzt, Sie haben in Ihrem Unternehmen die nötigen Rechte dazu). Standardmäßig behandelt kein Browser oder Betriebssystem eine solche Stelle als vertrauenswürdig, daher müssen Sie jeden Rechner (oder je nach Fall, Browser), der sich mit FlowForce Server verbindet, so konfigurieren, dass er Ihr selbstsigniertes Root-Zertifikat als vertrauenswürdig erkennt. Andernfalls zeigt Ihr Browser weiterhin Warnungen an oder der Webservice-Aufruf kann nicht durchgeführt werden. Nähere Informationen dazu finden Sie unter Erstellen selbstsignierter SSL-Zertifikate.
|
4.Zusendung des Public Key von der CA
Die Zertifizierungsstelle benötigt zwei bis drei Werktage für die Bearbeitung Ihrer Bestellung. Während dieser Zeit erhalten Sie eventuell E-Mails oder Telefonanrufe, in denen überprüft wird, ob Sie berechtigt sind, ein SSL-Zertifikat für Ihre DNS-Domain zu erhalten. Beantworten Sie bitte die Fragen der CA, um das Zertifikat zu erhalten.
Nach Abschluss des Überprüfungsverfahrens erhalten Sie eine E-Mail mit dem Public Key Ihres SSL-Zertifikats. Der Public Key wird entweder in Textform oder im Anhang in einer .cer-Datei gesendet.
|
5.Speichern des Public Key in einer Datei
Um den Public Key mit FlowForce Server verwenden zu können, muss er in einer .cer-Datei gespeichert werden. Wenn der Public Key in Textform gesendet wurde, kopieren Sie bitte alle Zeilen ab
--BEGIN CERTIFICATE-- ... --END CERTIFICATE--
in eine Textdatei, z.B. in mycertificate.cer.
|
6.Speichern der Zwischenzertifikats der CA in einer Datei
Wenn Sie ein Zertifikat bei einer Zertifizierungsstelle signieren, erhalten Sie ein einziges Zwischenzertifikat oder mehrere Zwischenzertifikate (Primär- und Sekundärzertifikat), die die Vertrauenskette zwischen Ihrem Server und der Zertifizierungsstelle bilden. Wenn Sie ein Primär- und ein Sekundärzertifikat erhalten, müssen Sie diese zu einer einzigen Datei (der so genannten Zertifikatskettendatei kombinieren), wie in der Anleitung unten beschrieben.
1.Erstellen Sie mit einem Text-Editor wie Notepad eine neue Textdatei. In unserem Beispiel haben wir sie intermediate.pem genannt. Sie können auch einen anderen Dateinamen und eine andere Erweiterung auswählen. 2.Öffnen Sie die einzelnen Zwischenzertifikate in einem Text-Editor und kopieren Sie deren Inhalt in die Datei intermediate.pem. Wichtig ist, dass Sie den Zertifikattext in verkehrter Reihenfolge kopieren: Zuerst das Sekundärzertifikat, als zweites das Primärzertifikat (Codefragment unten).
--BEGIN CERTIFICATE-- ... (secondary intermediate certificate) ... --END CERTIFICATE-- --BEGIN CERTIFICATE-- ... (primary intermediate certificate) ... --END CERTIFICATE
3.Speichern Sie die Änderungen. Sie benötigen intermediate.pem später auf der FlowForce Setup-Seite.
|
7.Aktivieren von SSL für FlowForce Server/Web Server
In der folgenden Anleitung erfahren Sie, wie Sie SSL für FlowForce Web Server (den Dienst hinter der Web-Verwaltungsschnittstelle von FlowForce) und FlowForce Server (den Dienst, über den die mit FlowForce-Aufträgen erstellten Webservices für HTTP(S)-Client-Rechner bereitgestellt werden) aktivieren.
Um SSL für FlowForce Server/Web Server zu aktivieren, gehen Sie vor, wie im Folgenden beschrieben:
1.Öffnen Sie die FlowForce Server Setup-Seite und klicken Sie auf Parameter konfigurieren. 2.Navigieren Sie je nach Bedarf zu den Einstellungen von FlowForce Web Server oder FlowForce Server. 3.Aktivieren Sie im Abschnitt "SSL-verschlüsselte Verbindung" das Kontrollkästchen Aktiviert. 4.Wählen Sie in der Dropdown-Liste Bindungsadresse "Alle Schnittstellen (0.0.0.0)" aus. Dieser Wert bedeutet, dass FlowForce Server/FlowForce Web Server nicht nur vom aktuellen Rechner aus, sondern auch von externen Rechnern aus aufgerufen werden kann. 5.Geben Sie den Host-(Domain)-Namen bzw. Port ein, an dem FlowForce Server/Web Server für SSL-verschlüsselte Verbindungen empfangsbereit sein soll. Der Domain-Name im Feld Host-Name muss mit dem Common Name des SSL-Zertifikats übereinstimmen. Der Port darf nicht in Verwendung sein. Je nach Fall können Sie auch eine andere IP-Adresse eingeben. Wenn Sie in das Feld andere eine IP-Adresse eingeben, ohne einen Host-Namen einzugeben, muss diese IP-Adresse mit dem Commen Name des SSL-Zertifikats übereinstimmen. 6.Geben Sie den Pfad zur Zertifikatskettendatei in das Feld Zertifikatdatei ein. Das Zertifikat muss im PEM (Privacy Enhanced Mail)-Format sein. Die Dateierweiterung von PEM-Dateien lautet normalerweise .pem, kann aber auch .key, .cert, .cer oder .crt sein. Das Zertifikat muss für den Domainnamen, unter dem FlowForce Server ausgeführt wird, ausgestellt worden sein. 7.Geben Sie den Pfad zum Private Key in das Feld Private Key-Datei ein. Der Private Key muss im PEM (Privacy Enhanced Mail)-Format sein. Die Dateierweiterung von PEM-Dateien lautet normalerweise .pem, kann aber auch .key, .cert, .cer oder .crt sein. Der private Schlüssel muss sicher aufbewahrt werden. Damit Sie den privaten Schlüssel in FlowForce verwenden können, darf er nicht durch ein Passwort geschützt sein. 8.Geben Sie den Pfad zur Zertifikatskettendatei in das Feld Zertifikatskettendatei ein. Wenn kein Zwischenzertifikat vorhanden ist, können Sie dieses Feld leer lassen. Sind mehrere Zwischenzertifikate vorhanden, müssen Sie alle davon zu einer so genannten Kettendatei kombinieren (siehe Speichern der Zwischenzertifikate der CA in einer Datei (Schritt 6) oben). 9.Klicken Sie am unteren Rand der Setup-Seite auf Einstellungen anwenden und FlowForce-Dienste neu starten.
Deaktivieren Sie auf Wunsch unter Nicht verschlüsselte Verbindung das Kontrollkästchen aktiviert. Beachten Sie, dass FlowForce Server/Web Server dadurch über eine einfache HTTP-Verbindung nicht mehr aufgerufen werden kann. Sie sollten dies also erst tun, wenn die SSL-verschlüsselte Verbindung funktioniert. Anstatt die HTTP-Verbindung komplett zu deaktivieren, können Sie sie, wie unten gezeigt, auf lokale Verbindungen einschränken (Option Nur lokale in der Dropdown-Liste Bindungsadresse).
Beachten Sie die folgenden Punkte:
•Der Browser (oder der verbundene Client) zeigt Warnungen an, wenn der Common Name (CN) des SSL-Zertifikats nicht mit dem Domain-Namen oder der IP-Adresse des Rechners, auf dem FlowForce Server ausgeführt wird, übereinstimmt. •Wenn Sie selbstsignierte Zertifikate verwenden, zeigt der Browser (oder der verbundene Client) Warnungen an, wenn Sie Ihr CA Root-Zertifikat nicht zum Zertifikatspeicher des Betriebssystems oder des Browsers hinzugefügt haben (siehe Importieren von Root-Zertifikaten)
|
8.Testen der SSL-Kommunikation
Sie können nun mit Hilfe jedes beliebigen SSL-Test-Tools überprüfen, ob die sichere Verbindung mit Ihrem Server über HTTPS ordnungsgemäß funktioniert. Sie erfahren dadurch, (i) ob das Public Key-Zertifikat zusammen mit den Zwischenzertifikaten in Schritt 6 korrekt erstellt wurde und (ii) ob Ihr Server durch die Firewall erreichbar ist.
|