SSL-Verschlüsselung

Einrichtung eines SSL-verschlüsselten Zugriffes auf den Server

In diesem Handbuch-Abschnitt werden die nötigen Schritte dokumentiert, um eine verschlüsselte Kommunikation zwischen ImmoTool & ImmoTool-Server einzurichten.

[Anmerkung]Wann sollte man verschlüsseln?

Wenn sich der ImmoTool-Server außerhalb des lokalen Firmen-Netzwerkes befindet oder Verbindungen über das Internet zulässt, empfiehlt es sich die Kommunikation zwischen ImmoTool & ImmoTool-Server zu verschlüsseln.

Es ist grundsätzlich nicht falsch eine Verschlüsselung durchzuführen, da es hierbei zu einem Gewinn an Sicherheit und Integrität bei der Datenübertragung kommt. Jedoch ist damit zu rechen, dass die Kommunikation geringfügig länger als bei einer unverschlüsselten Verbindung dauern wird.

[Wichtig]Wichtig

Der ImmoTool-Server erlaubt keine gleichzeitige Verwendung von verschlüsselten und unverschlüsselten Verbindungen. Sie müssen sich für einen der beiden Wege entscheiden und entsprechend alle ImmoTools in Ihrem Netzwerk konfigurieren.

Erzeugung eines SSL-Zertifikates

Um eine verschlüsselte Datenübertragung zu realisieren, muss auf dem ImmoTool-Server ein SSL-Zertifikat bereit liegen. Dieses stellt die Vertrauenswürdigkeit des ImmoTool-Servers gegenüber den darauf zugreifenden ImmoTools sicher.

Im Programmverzeichnises des ImmoTool-Servers finden Sie das Verzeichnis etc/ssh. Darin ist ein Skript init_ssl.bat / init_ssl.sh enthalten. Mit Hilfe dieses Skriptes kann ein SSL-Schlüsselpaar und SSL-Zertifikat für den ImmoTool-Server erstellt werden.

Starten Sie das Skript init_ssl.bat (unter Windows) bzw. init_ssl.sh (unter Mac/Linux). Sollte es nicht möglich sein das Skript durch einen Doppelklick auszuführen, kann alternativ auf die Kommandozeile zurück gegriffen werden um das Skript zu starten.

Nachdem das Skript (init_ssl.bat / init_ssl.sh) gestartet wurde sind folgende Eingaben vorzunehmen:

  1. Wählen Sie ein Passwort aus, mit welchem das erzeugte SSL-Schlüsselpaar vor unberechtigtem Zugriff abgesichert werden soll. Das gewählte Passwort wird zu einem späteren Zeitpunkt noch benötigt.

    Abbildung 3.3.6. Passwort zur Absicherung der SSL-Schlüssel wählen

    Passwort zur Absicherung der SSL-Schlüssel wählen

  2. Tragen Sie als Vor- und Nachname den Hostnamen oder die IP-Adresse Ihres Servers ein.

    Abbildung 3.3.7. Name des abzusichernden Servers angeben (Common Name)

    Name des abzusichernden Servers angeben („Common Name“)

    Im SSL-Zertifikat wird diese Angabe als sogenannter Common Name (CN) verwendet.

    [Wichtig]Wichtig

    Der gewählte Common Name muss in Ihrem Netzwerk auf den ImmoTool-Server verweisen. Beim Aufbau einer verschlüsselten Verbindung über das ImmoTool muss dieser Name als Hostname verwendet werden.

    [Anmerkung]Anmerkung

    Wenn Sie statt eines Hostnamens eine IP-Adresse als Common Name verwenden, sollten Sie sicherstellen, dass die IP-Adresse in Ihrem Netzwerk permanent gleich bleibt. Mit jeder Änderung der IP-Adresse muss auch ein neues SSL-Zertifikat erzeugt werden.


  3. Verschiedene weitere Angaben werden abgefragt. Hier können beliebige Eingaben vorgenommen werden - passend zur jeweiligen Firma.

    Abbildung 3.3.8. Weitere Details zum SSL-Schlüssel angeben

    Weitere Details zum SSL-Schlüssel angeben

  4. Es sollte kein Schlüsselkennwort eingegeben werden. Bestätigen Sie die Eingabe einfach mit ENTER.

    Abbildung 3.3.9. Passwort zur Absicherung der SSL-Schlüssels angeben

    Passwort zur Absicherung der SSL-Schlüssels angeben

  5. Damit im letzten Schritt das SSL-Zertifikat zu dem SSL-Schlüsselpaar exportiert werden kann, tragen Sie nochmals das im ersten Schritt gewählte Passwort ein.

    Abbildung 3.3.10. Zertifikat zum SSL-Schlüssel exportieren

    Zertifikat zum SSL-Schlüssel exportieren

Nachdem das Skript erfolgreich ausgeführt wurde finden Sie im Verzeichnis etc/ssl zwei weitere Dateien.

Erzeugte Dateien im Verzeichnis etc/ssl

OpenEstate-ImmoServer.jks

Die Datei enthält das erzeugte SSL-Schlüsselpaar des ImmoTool-Servers.

OpenEstate-ImmoServer.crt

Die Datei enthält das erzeugte SSL-Zertifikat des ImmoTool-Servers.

[Anmerkung]Anmerkung

Sollte das Skript (init_ssl.bat / init_ssl.sh) nicht gestartet werden können, kann die Erzeugung der SSL-Daten alternativ über die folgenden Befehle auf der Kommandozeile erfolgen:

Beispiel 3.3.3. Befehl zur Erzeugung des SSL-Schlüsselpaares

keytool -genkey \
  -alias OpenEstate-ImmoServer \
  -keyalg RSA -validity 999 \
  -keystore OpenEstate-ImmoServer.jks \
  -storetype JKS


Beispiel 3.3.4. Befehl zur Erzeugung der SSL-Zertifikates

keytool -export \
  -alias OpenEstate-ImmoServer \
  -keystore OpenEstate-ImmoServer.jks \
  -rfc -file OpenEstate-ImmoServer.crt


[Anmerkung]Anmerkung

Das erzeugte SSL-Zertifikat des ImmoTool-Servers ist für 999 Tage gültig. Nach Ablauf dieser Zeit muss ein neues SSL-Zertifikat erzeugt werden. Führen Sie das Skript (init_ssl.bat / init_ssl.sh) erneut aus, um ein neues SSL-Zertifikat für die nächsten 999 Tage zu erzeugen. Nach der Neu-Erzeugung muss der ImmoTool-Server neu gestartet werden.

Konfiguration der SSL-Verschlüsselung

Dem Datenbank-Server muss mitgeteilt werden, dass eine verschlüsselte Kommunikation erfolgen soll. Öffnen Sie dafür die Datei etc/server.properties aus dem Programmverzeichnis des ImmoTool-Servers mit einem Texteditor. Die folgenden Einträge müssen vorgenommen werden:

Beispiel 3.3.5. Konfiguration der SSL-Verschlüsselung

# TLS/SSL (secure) sockets
server.tls=true
system.javax.net.ssl.keyStore=./etc/ssl/OpenEstate-ImmoServer.jks
system.javax.net.ssl.keyStorePassword=MEIN-SSL-PASSWORT

Einstellungen am Server für SSL-Verschlüsselung

server.tls

Durch den Wert true wird die SSL-Verschlüsselung im ImmoTool-Server aktiviert.

system.javax.net.ssl.keyStore

Hier muss der Pfad zur JKS-Datei angegeben werden. Die Datei wurde zuvor mit dem Hilfsskript (init_ssl.bat / init_ssl.sh) erstellt und enthält die zur SSL-Verschlüsselung nötigen Daten.

system.javax.net.ssl.keyStorePassword

Hier muss das Passwort eingetragen werden, dass Sie während der Erzeugung des SSL-Schlüsselpaares gewählt haben.

Damit die Änderungen an der Datei etc/server.properties wirksam werden, muss der ImmoTool-Server neu gestartet werden.

[Anmerkung]Anmerkung

Wenn das Betriebssystem es ermöglicht, empfiehlt es sich die Zugriffsrechte auf die Datei etc/server.properties zu limitieren, sodass andere Benutzer des Betriebssystems nicht darauf zugreifen können. Unter Linux / Mac entspricht dies:

chmod 600 server.properties

SSL-Verschlüsselung im ImmoTool / AdminTool aktivieren

Beim Aufbau der Verbindung muss als Protokoll hsqls ausgewählt werden, damit das ImmoTool / AdminTool eine verschlüsselte Verbindung zum ImmoTool-Server herstellt.

Abbildung 3.3.11. Verschlüsselung beim Erzeugen eines Projektes aktivieren

Verschlüsselung beim Erzeugen eines Projektes aktivieren

Beim Erzeugen eines neuen Projektes kann im Projekt-Assistenten das Protokoll hsqls gewählt werden, um eine verschlüsselte Verbindung zum ImmoTool-Server herzustellen.


Abbildung 3.3.12. Verschlüsselung beim Öffnen eines Projektes aktivieren

Verschlüsselung beim Öffnen eines Projektes aktivieren

Beim Öffnen eines Projektes kann bei der Benutzer-Anmeldung zusätzlich das Protokoll hsqls gewählt werden, um eine verschlüsselte Verbindung zum ImmoTool-Server herzustellen.


Abbildung 3.3.13. Verschlüsselung im AdminTool aktivieren

Verschlüsselung im AdminTool aktivieren

Beim Verbindungsaufbau mit dem AdminTool kann das Protokoll hsqls gewählt werden, um eine verschlüsselte Verbindung zum ImmoTool-Server herzustellen.