Nachträgliche Umstellung eines Enterprise Systems auf HTTPS

Geändert am Mi, 15 Sep, 2021 um 11:22 VORMITTAGS

Zusammenfassung der nötigen Schritte für eine nachträgliche Umstellung:

  1. Erzeugen und Hinterlegen (Import) eines geeigneten Server-Zertifikates
  2. Erzeugen eines zusätzlichen HTTPS Bindings, in den Windows IIS
  3. Änderung der Konfigurationsdatei Web.config, auf dem Web-Server
  4. Änderung der Konfigurationsdatei CrosscapService.exe.config, auf allen Dienste-Servern
  5. Umstellen ausgewählter oder sämtlicher Client-Anbindungen, auf HTTPS
  6. Optional: Entfernen des HTTP-Bindings, in den Windows IIS


Soll ein Enterprise-System von vornherein mit HTTPS betrieben werden, entfallen die Schritte 3 und 4. Beim Aufruf der Enterprise Installer wird stattdessen direkt eine Web-Services URL inklusive FQHN und HTTPS-Port angegeben.


Konsequenzen aus der Umstellung eines Enterprise Systems auf HTTPS:

CROSSCAP Scan- und Multi-Clients können per HTTPS mit dem Server verbunden werden:

  • Ist an den Clients der Server-Kommunikations-Mode auf "HTTP(S) und SMB" eingestellt, erfolgt die Kommunikation mit dem Enterprise Webserver (also die Abwicklung der Web-Services) verschlüsselt.
  • Ist an den Clients der Server-Kommunikations-Mode auf "HTTP(S)" eingestellt, erfolgt sowohl die Kommunikation mit dem Enterprise Webserver, als auch die Übertragung der Bilddaten verschlüsselt.


Die Enterprise Server-Prozesse können ebenfalls per HTTPS mit dem (Web-)Server verbunden werden:

  • Wird in der Konfigurationsdatei (für die Dienste) die Server-URL auf eine HTTPS Adresse umgestellt, erfolgt die Kommunikation der Dienste mit dem Enterprise Webserver (also die Abwicklung der Web-Services) verschlüsselt.
    (Dies betrifft alle Server-Prozesse mit Ausnahme des Lizenzdienstes L, also Dienste I, B, P und E)
  • Die Übertragung von Bilddaten erfolgt Server-intern grundsätzlich über Netzwerk-Freigaben, also per SMB.
    (Dienste I, B, P und E, über die bei der Konfiguration des Servers festgelegten Freigaben Scan und Work)
  • Der Import von Bilddaten und der Export von Scanprodukten erfolgt ebenfalls grundsätzlich per SMB.
    (Dienste I : Import und Dienste P bzw. E : Export, über die in den Projektvorlagen hinterlegten Freigaben)


Umstellung des CROSSCAP Enterprise Web-Servers (bzw. den IIS), auf HTTPS:

Die ersten zwei Schritte der Umstellung erfolgen nicht in CROSSCAP Enterprise, sondern indirekt über die Umstellung des von CROSSCAP verwendeten Microsoft Web-Servers, also in den darauf laufenden Windows IIS (Internet Information Services).


Schritt 1:

Bevor in den IIS ein zusätzliches HTTPS Binding angelegt werden kann, muss in den IIS ein sog. Stamm-Zertifikat hinterlegt werden. Ein solches Zertifikat kann entweder durch Selbstzertifzierung des Servers erzeugt werden (dieses muss dann jährlich erneuert werden) oder es wird ein "reguläres" Zertifikat verwendet, welches durch eine vertrauenswürdige Zertifizierungsstelle ausgegeben wurde. 


Schritt 2:

In den IIS kann danach ein zusätzliches sogenanntes "Binding" an das HTPPS Netzwerkprotokoll eingerichtet werden. 

Die standardmäßige Anbindung der IIS per HTTP und die zusätzliche Anbindung per HTTPS können ko-existieren und daher gleichzeitig verwendet werden. Um die ausschließliche Nutzung von HTTPS zu erzwingen, muss das ursprüngliche HTTP Binding entfernt werden:

  • Nachdem die IIS um die Anbindung per HTTPS erweitert wurden, können sowohl die CROSSCAP Scan- und Multi-Clients als auch die CROSSCAP Enterprise Server-Prozesse per HTTPS  mir dem zentralen CROSSCAP (Web-)Server kommunizieren.
  • Sobald aber in den IIS die Anbindung per HTTP entfernt wurde, müssen sowohl die CROSSCAP Scan- und Multi-Clients als auch die CROSSCAP Enterprise Server-Prozesse per HTTPS  mir dem zentralen CROSSCAP (Web-)Server kommunizieren.

Während der Erzeugung eines HTTPS-Bindings wird auch der gewünschte HTTPS-Port festgelegt (Standardwert: 443).  Nach der Einbindung des Server-Zertifikats und der Erzeugung des HTTPS-Bindings sollte der Web-Server durchgestartet werden.


Umstellung des CROSSCAP Enterprise (Web-)Servers und aller CROSSCAP Dienste-Server:


Schritt 3:

Damit das zentrale CROSSCAP Enterprise Prozessmanagement über HTTPS mit den Web-Services kommunizieren kann, ist eine Änderung in der Konfigurationsdatei Web.config nötig. Diese Datei befindet sich üblicherweise hier: 

C:\CrosscapEnterprise\CrosscapEnterpriseWebInterface 

Die darin für das CrosscapEnterpriseWebInterface_CEI_BatchManagement hinterlegte URL muss in einer Zeile an drei Stellen abgeändert werden:

<applicationSettings>
    <CrosscapEnterpriseWebInterface.Properties.Settings>
      <setting name="CrosscapEnterpriseWebInterface_CEI_BatchManagement" serializeAs="String">
        <value>https://PC500.srzberlin.local:443/CEI/Enterprise.asmx</value>
      </setting>
      <setting name="CrosscapEnterpriseWebInterface_CEI_UploaderVisible" serializeAs="String">
        <value>False</value>
      </setting>
    </CrosscapEnterpriseWebInterface.Properties.Settings>
  </applicationSettings>

In diesem Beispiel ist das die Zeile 4: <value>https://PC500.srzberlin.local:443/CEI/Enterprise.asmx</value>

  • Statt http:// wird https:// eingetragen, 
  • Statt eines einfachen Maschinennamens wird ein FQHN eingetragen (hier PC500.srzberlin.local)
  • statt des http: standard-Ports 80 wird der beim https:-Binding angegebene Port verwendet (hier Port 443)

Nach dem Ändern und Abspeichern der Datei sollten der zentrale (Web-)Server (bzw. VM) durchgestartet werden, damit die Änderungen übernommen werden.


Schritt 4:

Damit die CROSSCAP Enterprise Server Prozesse HTTPS verwenden können, ist eine Änderung in der Konfigurationsdatei CrosscapService.exe.config nötig. Diese Datei befindet sich üblicherweise hier: 

C:\Program Files (x86)\SRZ Berlin\Crosscap Enterprise Services 

Die darin hinterlegte ServerURL in einer Zeile muss an drei Stellen abgeändert werden:

<applicationSettings>
    <CrosscapService.Properties.Settings>
      <setting name="ServerURL" serializeAs="String">
        <value>http://localhost/CEI/Enterprise.asmx</value>
      </setting>
      <setting name="BaseFilesDirectory" serializeAs="String">
        <value />
      </setting>
      <setting name="LoggerEventLogTraceLevel" serializeAs="String">
        <value>Undefined, Error</value>
      </setting>
      <setting name="PollingTimeout" serializeAs="String">
        <value>10</value>
      </setting>
      <setting name="LicensePort" serializeAs="String">
        <value>8000</value>
      </setting>
      <setting name="ServerCommunication" serializeAs="String">
        <value>SmbAndHttp</value>
      </setting>
    </CrosscapService.Properties.Settings>
  </applicationSettings>

In diesem Beispiel ist das die Zeile 4: <value>https://PC500.srzberlin.local:443/CEI/Enterprise.asmx</value>

  • Statt http:// wird https:// eingetragen, 
  • Statt eines einfachen Maschinennamens wird ein FQHN eingetragen (hier PC500.srzberlin.local)
  • statt des http: standard-Ports 80 wird der beim https:-Binding angegebene Port verwendet (hier Port 443)

Nach dem Ändern und Abspeichern der Datei sollten alle Server bzw. VMs, auf dem die Server-Dienste I, B, P oder E laufen, durchgestartet werden, damit die Änderungen von den Diensten übernommen werden. Bei verteilten Server-Systemen ist diese Prozedur für jeden der Dienste-Server zu wiederholen.


Umstellung der CROSSCAP Scan- und Multi-Clients auf HTTPS, Entfernen des HTTP-Bindings:

 

Schritt 5:

Die Umstellung erfolgt durch Abänderung der Server-URL, in den Programmeinstellungen der Scan- und Multi-Clients:

  • Statt http:// wird https:// eingetragen
  • Statt eines einfachen Maschinennamens muss ein FQHN eingetragen werden
  • statt des http: standard-Ports 80 wird der beim https:-Binding angegebene Port verwendet


Beim Ändern der bestehenden URL prüfen die Clients sofort, ob der Enterprise-Server auch über die neue Adresse ansprechbar ist. Ist er das nicht, kommt die folgende Fehlermeldung: Es kann keine Verbindung zum Server mit der URL hergestellt werden ...

Kommt keine Fehlermeldung, kann die neue Einstellung abgespeichert werden. Bitte starten Sie alle umkonfigurierten Clients ein Mal neu, damit die Änderungen vollständig übernommen werden.


Schritt 6:

Entfernen (Löschen) des HTTP-Bindings, in den IIS. Dieser Schritt ist optional und birgt Risiken, weil die Kommunikation mit dem Web-Server über HTTP dann überhaupt nicht mehr möglich ist (weder für die Enterprise-Administrations-Konsole, noch für die Enterprise-Clients und Server-Prozesse). Die gesamte System-interne Kommunikation sollte daher schon vor diesem Schritt vollständig und nachweislich auf https umgestellt worden sein ...


War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren