Cloud Server: Bereitstellung und Sicherheit
Produktlinie
Standard
|Expert
Betriebsart
CLOUD ABO
|ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
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.
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.
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
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.
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
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:
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.
Um sich das Zertifikat ausstellen zu lassen, sind folgende Schritte nötig:
Anschliessend muss das Zertifikat an einen Port gebunden werden:
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
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.
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.
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).
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.
Phone App und die Outlook App können nur mit einem echten Zertifikat betrieben werden.
DieUm 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.
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:
Der Cloud Server befindet sich derzeit im Wartungsmodus. Bitte versuchen Sie es nach Abschluss der Wartungsarbeiten erneut.
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