Sichere Verbindungen konfigurieren
Für Informationen über die SSL-Konfiguration des Remote Connectors siehe Sichere Verbindung zur INUBIT Process Engine konfigurieren.
SSL-Verbindung und Server-Authentifizierung konfigurieren
Sie können die Kommunikation zwischen der INUBIT Process Engine und Clients, wie z.B. der INUBIT Workbench, absichern, indem Sie das über SSL/TLS gesicherte HTTPS-Protokoll verwenden.
Beim Einsatz von HTTPS werden die Daten verschlüsselt, welche z.B. die INUBIT Process Engine und das BPC Portal oder die INUBIT Process Engine und ein Web-Services-Konsument austauschen. Zusätzlich können Clients (z.B. die INUBIT Workbench, Web-Browser) das Zertifikat des Servers (INUBIT Process Engine, BPC Portal) zur Authentifizierung der Verbindung prüfen.
Als Betreiber der INUBIT Process Engine erstellen Sie einen Keystore. Ein Keystore enthält Zertifikate mit ihren zugehörigen öffentlichen Schlüsseln und die zu den Zertifikaten gehörigen privaten Schlüssel. Der öffentliche Schlüssel ist Teil des Zertifikats, das der Client zur Authentifizierung des Servers nutzt.
In der INUBIT Process Engine konfigurieren Sie die HTTPS-Verbindung und hinterlegen den Keystore.
Anhand der Domain wird im Keystore nach einem Zertifikat mit dem entsprechenden Alias gesucht. Benennen Sie Ihren Keystore daher nach dem DNS-Namen, damit dieser gefunden werden kann. |
Beim Client (z.B. INUBIT Workbench) hinterlegen Sie das Zertifikat des Servers in einem sogenannten Truststore und konfigurieren dort ebenfalls eine HTTPS-Verbindung. Im Gegensatz zum Keystore enthält der Truststore lediglich Zertifikate.
Nun können die INUBIT Process Engine auf den privaten Schlüssel und die INUBIT Workbench auf das Zertifikat mit dem öffentlichen Schlüssel zugreifen.
Im Normalfall die SSL-Verbindung zwischen Client und Server bereits am LoadBalancer terminiert. Dies kann genügen, wenn die Verbindung zwischen dem LoadBalancer und dahinterliegender Instanz in einem sicheren Netzwerk aufgebaut wird. Zusätzlich kann auch die Konfiguration zwischen dem LoadBalancer und der Instanz über SSL abgesichert werden. Informationen zur SSL-Konfiguration des eingesetzten LoadBalancers sind aus dessen Handbuch zu entnehmen. |
So gehen Sie vor
-
Erstellen Sie den Keystore und ein selbst signiertes Zertifikat.
Rufen Sie dazukeytool.exe
über die Kommandozeile im Verzeichnis<inubit-installdir>/_jvm/bin
auf.
Die folgenden Parameter erzeugen einen Keystoreibis_demo_keystore
mit einem selbst signierten Zertifikat mit einem öffentlichen Schlüssel. Beim Erzeugen vergeben Sie für den Keystore und für das Zertifikat jeweils ein Passwort. Passen Sie die Parameterwerte Ihrer eigenen IT-Umgebung an (außer‑alias
):keytool -genkey -keystore C:\keys\ibis_demo_keystore.jks -alias tomcat -dname "CN=server.domain.com, O=Example AG, C=DE" -keyalg RSA
-
Extrahieren Sie das Zertifikat:
keytool -export -alias tomcat -storepass PasswordKeystore -keystore C:\keys\ibis_demo_keystore.jks -file C:\keys\ibis_demo_certificate.crt
-
Konfigurieren Sie die INUBIT Process Engine. Öffnen Sie dazu die folgende Konfigurationsdatei:
<inubit-installdir>/inubit/server/process_engine/conf/server.xml
und navigieren Sie zum Standard-Connectorpfad<Connector port="8443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" certificateKeystorePassword="change it" type="RSA" /> </SSLHostConfig> </Connector>
Der Zertifikattyp muss kompatibel sein. Er muss eine von UNDEFINED, RSA, DSA oder EC.
Wenn nur ein Zertifikat innerhalb von SSLHostConfig verschachtelten ist, dann ist dieses Attribut nicht notwendig und standardmäßig auf UNDEFINED gesetzt. Wenn vielfache Zertifikaten innerhalb von SSLHostConfig verschachtelt werden.
-
Bearbeiten Sie die folgenden Parameter:
-
certificateKeystoreFile
Name und vollständiger Pfad zur RSA-Keystore Datei des Zertifikats. -
certificateKeystorePassword
Passwort für die RSA-Keystore Datei des Zertifikats.
-
-
Starten Sie die INUBIT Process Engine neu.
-
Zertifikat zum Truststore des Clients hinzufügen:
Die Server-Authentifizierung findet nur statt, wenn diese in der Workbench ausgewählt wurde und das hinzugefügte Zertifikat einen privaten Schlüssel enthält.
Mit dem folgenden Befehl kopieren Sie das Zertifikat auf den Client-Rechner und importieren es in den Truststore:
keytool -import -alias tomcat -file C:\keys\ibis_demo_certificate.crt -keystore C:\keys\ibis_demo_truststore.jks
-
Bestätigen Sie die Rückfrage Diesem Zertifikat vertrauen? mit Ja.
-
Bei Einsatz eines selbst signierten Zertifikats müssen Sie den Truststore für Java bekannt machen, weil das Java-Framework die Vertrauenswürdigkeit des Serverzertifikats überprüft. Wenn der Truststore nicht bekannt ist, schlägt die Kommunikation mit der INUBIT Process Engine über HTTPS fehl, z.B. beim Nachladen von Dokumenten von der INUBIT Process Engine über die
document()
-XSLT-Funktion oder beim Laden einer URL im XML Editor.
Der Truststore muss in den Startskripts der INUBIT Process Engine und der INUBIT Workbench angegeben werden:-
Öffnen Sie das zu Ihrer Installation passende Startskript der INUBIT Process Engine:
<inubit-installdir>/inubit/server/process_engine/bin/setenv.[bat|sh]
-
Öffnen Sie das Startskript der INUBIT Workbench unter
<inubit-installdir>/inubit/client/bin/start_local.[bat|sh]
. -
Fügen Sie folgende Zeile ein und passen Sie den Pfad zu Ihrem Truststore an:
-
Windows
set JVM_PARAMS=%JVM_PARAMS% -Djavax.net.ssl.trustStore=<path-to-truststore>\ibis_demo_truststore.jks
-
Linux
JVM_PARAMS="$JVM_PARAMS -Djavax.net.ssl.trustStore=<path-to-truststore>/ibis_demo_truststore.jks"
-
-
-
Den Inhalt des Truststores können Sie mit folgendem Kommando ansehen:
keytool -keystore C:\keys\keys\ibis_demo_truststore.jks -list -v
-
Starten Sie die INUBIT Workbench neu.
-
Für die SSL-Konfiguration legen Sie ein neues Login-Profil an, das eine HTTPS-Verbindung nutzt, z.B.
https://localhost:8443/ibis/servlet/IBISSoapServlet
und geben Sie den Pfad zur Truststore-Datei an.
INUBIT Process Engine mit der NIO Implementierung konfigurieren
Von Apache Tomcat empfohlene Struktur. |
Voraussetzungen
-
Sie haben Schritt 1 und 2 ausgeführt, siehe SSL-Verbindung und Server-Authentifizierung konfigurieren.
-
Sie haben die Konfigurationsdatei
<inubit-installdir>/inubit/server/process_engine/conf/server.xml
geöffnet.
So gehen Sie vor
-
Entfernen Sie die Kommentarzeichen des Beispiels für die NIO Struktur:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" certificateKeystorePassword="change it" type="RSA" /> </SSLHostConfig> </Connector>
-
Bearbeiten Sie die folgenden Parameter:
-
certificateKeystoreFile
Name und vollständiger Pfad zur RSA-Keystore Datei des Zertifikats. -
certificateKeystorePassword
Passwort für die RSA-Keystore Datei.
-
-
Fortfahren mit Schritt 4, siehe SSL-Verbindung und Server-Authentifizierung konfigurieren.
INUBIT Process Engine mit der APR/Native Implementierung konfigurieren
Voraussetzungen
-
Sie haben Schritt 1 und 2 ausgeführt, siehe SSL-Verbindung und Server-Authentifizierung konfigurieren.
-
Sie haben die Konfigurationsdatei
<inubit-installdir>/inubit/server/process_engine/conf/server.xml
geöffnet.
So gehen Sie vor
-
Entfernen Sie die Kommentarzeichen des Beispiels für die APR/Native Struktur:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeyFile="conf/localhost-rsa-key.pem" certificateFile="conf/localhost-rsa-cert.pem" certificateChainFile="conf/localhost-rsa-chain.pem" type="RSA" /> </SSLHostConfig> </Connector>
-
Bearbeiten Sie die folgenden Parameter:
-
certificateKeystoreFile
Name und vollständiger Pfad zur RSA‑Keystore‑Datei des Zertifikats. -
certificateFile
Name und vollständiger Pfad zur RSA‑Zertifikatsdatei. -
certificateChainFile
Name und vollständiger Pfad zur RSA‑Chain‑Zertifikatsdatei.
-
-
Fortfahren mit Schritt 4, siehe SSL-Verbindung und Server-Authentifizierung konfigurieren.
INUBIT Process Engine mit der bisherigen Struktur konfigurieren
Voraussetzungen
-
Sie haben Schritt 1 und 2 ausgeführt, siehe SSL-Verbindung und Server-Authentifizierung konfigurieren.
-
Sie haben die Konfigurationsdatei
<inubit-installdir>/inubit/server/process_engine/conf/server.xml
geöffnet.
So gehen Sie vor
-
Benutzen Sie dieses Beispiel:
<Connector port="8443" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" acceptCount="100" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript" server="Apache" emptySessionPath="true" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/absolute/path/to/keystore.jks" keystorePass="changeit" keyAlias="chageit" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384" /> </Connector>
-
Fügen Sie die Liste der durch Komma getrennten Cipher-Namen hinzu.
-
Bearbeiten Sie die folgenden Parameter:
-
keystoreFile
Name und vollständiger Pfad zur JKS-Datei (privater Schlüssel und Zertifikat). -
keystorePass
Keystore-Passwort -
keyAlias
Alias-Name des Keystore-Eintrags. Fehlt dieser Eintrag, wird standardmäßigtomcat
oder der erste Eintrag im Keystore verwendet.
-
-
Fortfahren mit Schritt 4, siehe SSL-Verbindung und Server-Authentifizierung konfigurieren.
Traces bei HTTPS-Verbindungen aktivieren
Um bei HTTPS-Verbindungen zwischen der INUBIT Workbench und der INUBIT Process Engine aussagekräftige Traces zu erhalten, können Sie die Startskripte der beiden Komponenten anpassen.
So gehen Sie vor
-
Schließen Sie die INUBIT Workbench und stoppen Sie die INUBIT Process Engine.
-
Öffnen Sie folgende Startskripte:
-
INUBIT Workbench:
<inubit-installdir>/inubit/client/bin/start_local.[bat|sh]
-
INUBIT Process Engine
<inubit-installdir>/inubit/server/process_engine/bin/setenv.sh
-
-
Fügen Sie folgende Zeilen hinzu:
-
INUBIT Workbench:
set JAVA_PARAMS=%JAVA_PARAMS% -Djavax.net.debug= ssl,handshake,data, trustmanager
-
INUBIT Process Engine
set JVM_PARAMS=%JVM_PARAMS% -Djavax.net.debug=ssl,handshake,data, trustmanager
-
-
Starten Sie die INUBIT Process Engine und die INUBIT Workbench neu.
HTTP-/HTTPS-Proxy für INUBIT Workbench und/oder INUBIT Process Engine konfigurieren
Proxy-Server können eingesetzt werden zur Kommunikation über HTTP(S)
-
zwischen der INUBIT Workbench und der INUBIT Process Engine,
-
zwischen der INUBIT Process Engine und anderen, entfernten Rechnern,
-
zwischen Remote Connector und anderen, entfernten Rechnern.
Externe Dateien (WSDLs, URLs etc.) müssen nicht von der Workbench aus erreichbar sein, weil sie generell über die INUBIT Process Engine geladen werden. |
Ein Proxy-Server erfüllt z.B. folgende Aufgaben:
-
Sicherheit erhöhen
Rechner im lokalen Netz sollten keinen direkten Internetzugang haben. Als Schnittstelle zwischen beiden Netzen kann der Proxy-Server eingesetzt werden. -
Bandbreite kontrollieren
Der Proxy-Server kann z.B. verschiedenen Benutzergruppen unterschiedliche Ressourcen zuteilen.
Proxy-Server zwischen INUBIT Workbench und INUBIT Process Engine konfigurieren
So gehen Sie vor
-
Stoppen Sie die INUBIT Workbench.
-
Öffnen Sie das Startskript der INUBIT Workbench unter
<inubit-installdir>/inubit/client/bin/start_local.[bat|sh]
. -
Fügen Sie die zu Ihrem Protokoll passenden Zeilen ein und passen Sie die Werte an:
-
HTTP
set JVM_PARAMS=%JVM_PARAMS% -Dhttp.proxyHost=Proxy_IP_oder_URL set JVM_PARAMS=%JVM_PARAMS% -Dhttp.proxyPort=8080 set JVM_PARAMS=%JVM_PARAMS% -Dhttp.proxyUserName=Benutzername set JVM_PARAMS=%JVM_PARAMS% -Dhttp.proxyPassword=Passwort set JVM_PARAMS=%JVM_PARAMS% -Dhttp.nonProxyHosts=*.yourcompany.com
-
HTTPS
set JVM_PARAMS=%JVM_PARAMS% -Dhttps.proxyHost=Proxy_IP_oder_URL set JVM_PARAMS=%JVM_PARAMS% -Dhttps.proxyPort=8080 set JVM_PARAMS=%JVM_PARAMS% -Dhttps.proxyUserName=Benutzername set JVM_PARAMS=%JVM_PARAMS% -Dhttps.proxyPassword=Passwort set JVM_PARAMS=%JVM_PARAMS% -Dhttps.nonProxyHosts=*.yourcompany.com
-
-
Starten Sie die INUBIT Workbench erneut.
Proxy-Server zwischen INUBIT Process Engine und entfernten Rechnern konfigurieren
In manchen Netzwerken sind HTTP-/HTTPS-Zugriffe ausschließlich über einen Proxy-Server möglich. Diesen Proxy-Server konfigurieren Sie zentral für die INUBIT Process Engine.
Zusätzlich können Sie Ausnahmen festlegen, d.h. Rechneraddressen definieren, die direkt angesprochen werden sollen und nicht über den Proxy-Server.
Verwenden Sie einen Proxy-Server, wenn Fehler beim Publizieren und Deployen von Web Services Input Listener oder Medium Connectoren mit externem Schemazugriff auftreten. |
So gehen Sie vor
-
Öffnen Sie in der INUBIT Workbench das Register Administration > Allgemein > Verwaltung > Proxy.
-
Markieren Sie die Option Proxy-Konfiguration verwenden, um die folgenden Optionen zu aktivieren. Wenn Sie die Option Proxy-Konfiguration verwenden nach dem Konfigurieren der Proxy-Settings deaktivieren, bleibt Ihre Proxy-Konfiguration erhalten, wird aber nicht mehr genutzt.
Die Werte in dieser Konfiguration überschreiben die Werte, die im Startskript gesetzt sind! Wenn Sie den Wert für
Server
leer lassen und die Option Proxy-Konfiguration verwenden aktiviert ist, wird explizit kein Proxy verwendet. Die Startskripte finden Sie unter:<inubit-installdir>/inubit/server/process_engine/bin/setenv.[bat|sh].
-
Legen Sie Ihre Proxy-Einstellungen fest. Sobald Sie eine Option anklicken, wird eine Erläuterung dazu angezeigt.
-
Speichern Sie Ihre Angaben.
HTTP-/HTTPS-Ports ändern
Bei Bedarf können Sie den HTTP(S)-Port Ihrer INUBIT Process Engine ändern. Standardmäßig verwendet die INUBIT Process Engine folgende Portnummern:
-
HTTP: 8000
-
HTTPS: 8443
So gehen Sie vor
-
Öffnen Sie die zu Ihrem System passende Konfigurationsdatei:
<inubit-installdir>/inubit/server/process_engine/conf/server.xml
-
Ändern Sie die Ports.
-
Speichern Sie Ihre Änderungen.
-
Starten Sie die INUBIT Process Engine neu.
Wenn Sie die Portnummer(n) in der Datei
server.xml
geändert haben, müssen Sie die Portnummer(n) in der Dateicheck_is_status.[sh|bat]
in folgenden Verzeichnissen – anhängig von Ihrer Installation – ebenfalls anpassen:<inubit-installdir>/inubit/server/process_engine/bin <inubit-installdir>/inubit/client/bin
Dazu ändern Sie die folgende Zeile:
set START_URL=https://<server>:<port>
Wenn Sie ein anderes Protokoll als
HTTP
und/oder einen anderen Hostnamen alslocalhost
, müssen Sie diese Werte ebenfalls anpassen.