Cloud Server: Bereitstellung und Sicherheit

Cloud Server: Bereitstellung und Sicherheit

Produktlinie

Standard

|

Expert

Betriebsart

CLOUD ABO

|

ON-PREMISES

Module

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 04.03.2016
Aktualisiert: 26.09.2024 | Abschnitt "Problem mit Culture Behandlung" ausgelagert.

Die Cloud App,  die Web App, die Phone App und die Outlook App sind Cloud Clients. Hier läuft die Business-Logik auf dem Server, die Oberfläche wird ebenfalls auf dem Server aufbereitet und die Cloud Clients stellen diese nur dar und empfangen den User-Input. Für die Bereitstellung ist der Vertec Cloud Server zuständig.

Übersicht

Installation des Vertec Cloud Servers

Normalerweise ist der Vertec Cloud Server vom Setup bereits installiert. Falls Sie den Dienst manuell installieren möchten, z.B. auf einem anderen Server, gehen Sie vor wie nachstehend beschrieben. Der Vertec Cloud Server wird normalerweise auf dem Vertec Server-Rechner installiert (Rechner auf dem sich das Vertec Installationsverzeichnis und der Datenbankserver befindet). Der Betrieb auf einem separaten Rechner ist ebenfalls möglich, sofern dieser Zugriff zum Datenbank Server hat. Bei Installation auf einem separaten Server muss ein Vertec Programmverzeichnis manuell erstellt und die Dateien aus dem Vertec Installationsverzeichnis hineinkopiert werden, bei Installation auf dem Vertec Server-Rechner ist dies bereits vorhanden.

Vertec Cloud Server als Dienst

Registrierung

Damit der Vertec Cloud Server als Windows Dienst läuft, muss dieser bei Windows registriert werden. Dies geschieht von der Kommandozeile aus mit dem Befehl:

Vertec.CloudServer.exe /install

Das Starten des Dienstes geschieht via Dienste Kontrollfeld oder von der Kommandozeile:

net start Vertec.CloudServer

Mehrere Vertec Cloud Server Dienste

Sie können auf einem Rechner auch mehrere verschiedene Vertec Cloud Server Dienste laufen lassen. Für das genaue Vorgehen siehe den Artikel über mehrere Cloud Server Instanzen.

Starten des Vertec Cloud Server Dienstes als normale Applikation

Zu Testzwecken kann es nützlich sein, den Vertec Cloud Server statt als Windows Dienst als normale Applikation zu starten. Dies ist möglich durch Aufruf von Vertec.CloudServer.exe mit dem Kommandozeilen-Parameter /noservice:

Vertec.CloudServer.exe /noservice

TLS Verschlüsselung

Die Verbindung zum Vertec Cloud Server kann über TLS (ehemals SSL) geschützt werden.

Bei einer verschlüsselten Verbindung ist der Server dazu verpflichtet, sich ausweisen zu können, um sicherzustellen, dass der Client (Cloud App, Web App, Phone App und Outlook App) mit dem echten Server kommuniziert. Ein "Ausweis" für den Server wird Zertifikat genannt und normalerweise von einer öffentlich anerkannten Zertifizierungsstelle (CA) gegen Entgelt ausgestellt.

Wird Vertec im Cloud Abo betrieben, ist dies durch Vertec bereits gewährleistet.

Wenn Sie Vertec selbst ins Internet stellen, gehen Sie wie folgt vor:

TLS Betrieb über ein Zertifikat

Um ein Zertifikat zu erhalten, muss man bei einer Zertifizierungsstelle registriert sein. Dort kann man ein Zertifikat für eine bestimmte Domain und einen bestimmten Zeitraum einkaufen.

Wie erhalte ich ein Zertifikat für meinen Server?

Um sich das Zertifikat ausstellen zu lassen, sind folgende Schritte nötig:

  1. Zertifikatsregistrierungsanforderung (CSR) erstellen: Als erstes muss man auf dem Server, welcher sich anschliessend mit dem Zertifikat ausweisen soll, eine sogenannte Zertifikatsregistrierungsanforderung (CSR) erstellen. Der Vertec Cloud Server macht dies bequem über den Kommandozeilen-Parameter /csrcreate. Eine Konsole öffnet sich und fragt einige Angaben zum Zertifikat ab. Anschliessend wird die Zertifikatsregistrierungsanforderung unter dem gewählten Namen im gleichen Verzeichnis gespeichert, in dem das Kommando ausgeführt wird.
  2. Erhalten des Zertifikates: Die generierte Textdatei (PKCS#10), kann nun bei einer Zertifizierungsstelle hochgeladen werden. Im Gegenzug liefert diese das erwartete Zertifikat für den Server. Wir empfehlen, das Zertifikat im .p7b Format herunterzuladen und auf dem Server zu speichern.
  3. Importieren des Zertifikates in den Zertifikatsspeicher: Nun muss das Zertifikat in den Zertifikatsspeicher unter Eigene Zertifikate abgelegt werden. Es gibt mehrere Möglichkeiten dies zu tun (oftmals hat man die Möglichkeit dies mit einem Doppelklick auf das Zertifikat zu erledigen). Die Möglichkeit, welche von allen unterstützen Betriebssystemen angeboten wird, ist folgende:
    • In der Microsoft Management Console (Windows Ausführen > mmc) unter Datei > Snap-in hinzufügen / entfernen die Zertifikate auswählen und auf Hinzufügen klicken.
    • Im erscheinenden Menü Zertifikat-Snap-In das Computerkonto auswählen und fertigstellen.
    • Den neu erschienenen Eintrag Zertifikate (Lokaler Computer) auswählen und mit der rechten Maustaste auf Eigene Zertifikate klicken.
    • Im Kontextmenü unter Alle Aufgaben die Option Importieren... wählen.
    • Im Zertifikatimport-Assistent auf Weiter und mit Durchsuchen das heruntergeladene Zertifikat auswählen. In der darauffolgenden Auswahl die Option Zertifikatsspeicher automatisch auswählen wählen und mit Weiter und Fertigstellen bestätigen. Die Management Console kann anschliessend geschlossen werden.
  4. Damit der Vertec Cloud Server weiss, welches Zertifikat er benutzen soll, gibt es die Einstellung Certificate Name in der Konfigurationsdatei Vertec.ini. Diese muss dem Namen (FriendlyName oder CommonName des Subject) ihres Zertifikates entsprechen. Dieser Schritt kann normalerweise übersprungen werden, da beim Erstellen des CSR bereits ein Eintrag ins Vertec.ini erstellt wurde.

Anschliessend muss das Zertifikat an einen Port gebunden werden:

Certificate Binding

Damit das Zertifikat auf einem bestimmten Port angesprochen werden kann, muss es an diesen gebunden werden. Wird Vertec Cloud Server als Administrator ausgeführt, wird das automatisch beim Start erledigt. Falls etwas nicht funktioniert (weil beispielsweise keine Berechtigung dafür vorhanden ist), meldet der Vertec Cloud Server einen Fehler.

Nur falls der Vertec Cloud Server nicht von einem Benutzer mit Administratorrechten (z.B. LocalSystem im Normalfall) ausgeführt wird oder ein Binding Fehler aufgetreten ist, muss das Zertifikat einmalig manuell gebunden werden. Um das Zertifikat manuell zu binden, kann Vertec Cloud Server mit dem Kommandozeilen Parameter /certbind ausgeführt werden. Der Cloud Server versucht dabei das Zertifikat, welches Sie im Vertec.ini - File angegeben haben, auf den am gleichen Ort angegebenen Port zu binden. Falls dies fehlschlägt, gibt der Vertec Cloud Server einen Fehler aus.

Intern verwenden /certbind und /certunbind netsh. Um Zertifikat-Bindings zu inspizieren, kann der Kommandozeilen-Befehl show sslcert [ipport=]IP Address:port (siehe https://docs.microsoft.com/windows/desktop/Http/show-sslcert) verwendet werden. Beispiel:

netsh http show sslcert ipport=0.0.0.0:443

HTTP Strict Transport Security (HSTS)

Gilt nur für den verschlüsselten Betrieb. Als eine Massnahme gegen Man-in-the-middle-Angriffe wurde im Vertec Cloud Server HSTS Support eingebaut. HSTS kann mittels Einstellung HSTS Max Age in der Konfigurationsdatei Vertec.ini aktiviert werden.

HTTP to HTTPS Redirect

Gilt nur für den verschlüsselten Betrieb. Damit nicht https:// in die Browserzeile geschrieben werden muss, werden alle HTTP Anfragen auf den im Vertec.ini angegebenen Server Port auf HTTPS Anfragen für Secure Server Port umgeleitet.

Windows hat eine priorisierte Liste von Cipher suites , die von Servern und Clients auf dem Rechner berücksichtigt werden (Cipher suit priority list). Diese Liste wird von Microsoft mit Windows Updates regelmässig aktualisiert, enthält aber üblicherweise aus Gründen der Rückwärtskompatibiliät auch Protokolle, die sicherheitsmässig nicht mehr top sind.

Wirklich problematische Cipher suites werden aber von Microsoft mit Updates entfernt. Im Normalfall sollte es also reichen, wenn man sich auf den Windows Standard verlässt.

Verwendung von Verschlüsselungssammlungen (Cipher suites)

Bei der Verschlüsselung wird das SSL System von Microsoft verwendet. Dieses wiederum verwendet Verschlüsselungssammlungen und aktualisiert diese mittels Windows Updates. Aus Windows Rückwärtskompatibilitätsgründen werden auch Verschlüsselungskombinationen unterstützt, welche von gewissen SSL Test-Tools als unsicher eingestuft werden.

Für Installation mit höheren Sicherheitsansprüchen, die z.B. den (hohen) Anforderungen der üblichen SSL Test-Tools entsprechen möchten, bietet sich die Möglichkeit, eine eigene Priority-List von Verschlüsselungssammlungen (cypher suites) zu definieren. Diese ersetzt dann die von Microsoft gepflegte List und muss auch selbst aktualisiert werden.

Das Definieren einer eigenen Cipher suite Liste geschieht im Editor für lokale Gruppenrichtlinien (gpedit.msc).

  • Klicken Sie auf Computerkonfiguration > Administrative Vorlagen > Netzwerk > SSL-Konfigurationseinstellungen.
  • Klicken Sie mit der rechten Maustaste auf Reihenfolge der SSL-Verschlüsselungssammlungen und wählen Sie Bearbeiten.
  • Im daraufhin erscheinenden Fenster können Sie eigene Richtlinien aktivieren:

Unverschlüsselter Betrieb

Die Verbindung zum Cloud Server kann auch unverschlüsselt betrieben werden. Dies eignet sich jedoch ausschliesslich für den Betrieb im LAN bzw. via VPN.

Im unverschlüsselten Betrieb ist kein Zertifikat nötig. Wenn in der Einstellung Secure Server Port im Vertec.ini-File kein Wert gesetzt ist (Standard), startet der Server unverschlüsselt.

Die Phone App und die Outlook App  können nur mit einem echten Zertifikat betrieben werden.

Restrict Scripting

Um beim Zugriff auf lokale Ressourcen des Cloud Hosts via Cloud Clients gewisse Einschränkungen gewährleisten zu können, gibt es ab Version 6.1.0.9 eine Option, um das Scripting einzuschränken. So können Dateizugriffe und das Importieren von Nicht-Vertec-Modulen verhindert werden. Alle Informationen dazu finden Sie im Artikel Scripting für Cloud-Sessions einschränken.

Cloud Server Management Console

Für den Cloud Server gibt es eine Management-Console, welche standardmässig auf dem Port 8082 läuft (Einstellung Management Port im Vertec.ini-File). Sie wird über localhost:8082 aufgerufen. Der Aufrufende muss am Server angemeldet sein und der Aufruf über localhost erfolgen. Von "aussen" ist dies nicht möglich.

Die Management Console sieht wie folgt aus:

Hier sieht man die auf Vorrat gestartete Idle Sessions (siehe Process Pool Size im Vertec.ini File) sowie alle aktuelle angemeldeten Clients.

Die Management Console bietet folgende Optionen:

  • Server Status NormalOperation / Maintenance: Per Mausklick auf das Werkzeug hinter dem Server Status kann von Normalbetrieb in den Wartungsmodus (Maintenance) umgestellt werden. Die bestehenden Sessions werden davon nicht tangiert, aber es können sich keine neuen Clients mehr anmelden.
    Solange sich der Server im Wartungsmodus befindet, erscheint folgende Fehlermeldung, wenn sich ein Client verbinden will: Der Cloud Server befindet sich derzeit im Wartungsmodus. Bitte versuchen Sie es nach Abschluss der Wartungsarbeiten erneut.
  • Eine Nachricht an angemeldete Benutzer schicken: Per Klick auf das Mail-Zeichen kann den entsprechenden Session eine Nachricht geschickt werden.
  • Eine Session beenden: Jede laufende Session kann per Klick auf das X geschlossen werden. Nicht gespeicherte Änderungen des entsprechenden Benutzers gehen dabei verloren.

Monitoring Cloud Server

Ab Vertec 6.3 gibt es für Monitoring Zwecke des Cloud Servers einen Endpoint (URL), welcher testweise eine neue Session startet und die dafür benötigte Zeit zurückliefert.

Die URL reagiert auf den HTTP GET Request /monitor_session_start und liefert eine Antwort mit Zeitmessung in Millisekunden zurück.

Damit das funktioniert, muss das im Vertec.ini-File eingeschaltet werden:

[CloudServer]
Monitoring = true

Ruft nun ein Monitoring Tool die URL /monitor_session_start auf, so erhält es die Daten bez. dem Aufstart wie folgt:

<Tool_http_custom_check>
   <status>OK</status>
   <response_time>2331.38</response_time>
</Tool_http_custom_check>

Die Response Time ist in Millisekunden. Zum Schutz vor Denial-of-Service-Attacken kann standardmässig nur alle 10 Minuten eine Session mit dieser URL gestartet werden. Diese Zeit kann im Vertec.ini-File mit Monitoring Ban Minutes ebenfalls eingestellt werden, z.B. auf 15 Minuten:

[CloudServer]
Monitoring = True
Monitoring Ban Minutes = 15
Bitte wählen Sie Ihren Standort