Cloud Server: Bereitstellung und Sicherheit
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
Ist Vertec ausschliesslich im lokalen Netzwerk (LAN) bzw. über VPN zugänglich, ist mit der Installation schon alles getan.
In diesem Fall kann die Verbindung zum Cloud Server unverschlüsselt betrieben werden. Wenn in der Einstellung Secure Server Port im Vertec.ini-File kein Wert gesetzt ist (Standard), startet der Server unverschlüsselt.
Im unverschlüsselten Betrieb ist kein Zertifikat nötig. Beachten Sie jedoch, dass die Phone App und die Outlook App nur mit einem Zertifikat betrieben werden können.
Unter keinen Umständen darf eine unverschlüsselte Vertec Instanz vom Internet her erreichbar sein.
Kunden einer Vertec On-Premises Installation haben zwei Möglichkeiten, ihr Vertec ins Internet zu stellen. Entweder sie nutzen den Webaccess Service von Spektra Netcom AG, oder sie stellen ihren Vertec Cloud Server selbst ins Internet. In diesem Fall muss die Verbindung verschlüsselt und ein Zertifikat hinterlegt werden:
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.
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
Bei der Verschlüsselung wird das SSL System von Microsoft verwendet. Dieses wiederum verwendet eine priorisierte Liste von Verschlüsselungssammlungen (Cipher suits), 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, welche von gewissen SSL Test-Tools als unsicher eingestuft werden. 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.
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).


Damit nicht https:// in die Browserzeile geschrieben werden muss, werden alle HTTP Anfragen auf den im Vertec.ini angegebenen Server Port auf den Secure Server Port (HTTPS) umgeleitet. Sobald ein Secure Server Port angegeben ist, werden alle Anfragen an den Server Port darauf umgeleitet.
Als eine Massnahme gegen Man-in-the-middle-Angriffe wurde im Vertec Cloud Server HSTS (HTTP Strict Transport Security) Support eingebaut.Damit merkt sich der Browser, wie lange der Zugriff automatisch auf HTTPS erfolgt (und nicht mehr via HTTP Umleitung).
HSTS wird mittels Einstellung HSTS Max Age in der Konfigurationsdatei Vertec.ini aktiviert. Das steuert die Dauer, für die der Browser sich diesen Zugriff merkt. Für eine gute Sicherheit werden hier 1 bis 2 Jahre (bzw. 365 bis 730 Tage) empfohlen.
Ausser der Verschlüsselung der Cloud Server Verbindung gibt es weitere Massnahmen, die in Vertec selber für erhöhte Sicherheit sorgen.Beachten Sie dazu auch den Artikel Die Sicherheit von Vertec im Internet.
Hier geht es darum, was aus Vertec heraus via Scripting erreicht und gesteuert werden kann. Dafür gibt es diverse Cloud Server Einstellungen, die im Vertec.ini - File eingeschaltet werden können:
Um beim Zugriff auf lokale Ressourcen des Cloud Hosts via Cloud Clients gewisse Einschränkungen gewährleisten zu können, gibt es die Option Restrict Scripting. So können Dateizugriffe und das Importieren von Nicht-Vertec-Modulen verhindert werden. Detaillierte Informationen dazu finden Sie im Artikel Scripting für Cloud-Sessions einschränken.
Bei eingeschaltetem Restrict Scripting kann zusätzlich die Option Restrict Local IP aktiviert werden. Damit werden werden IP Verbindungen zu lokalen Adressen gesperrt. Zugriffe aus Vertec sind so nur auf öffentlich zugängliche IP Adressen möglich.
Die Option Restrict Filesystem Access schränkt den Zugriff auf das Server Filesystem beim Speichern von Dokumenten ein.
Ist die Option Restrict Session Process aktiviert, werden die Session Prozesse mit eingeschränkten Möglichkeiten gestartet (Low Integrity).
Das bedeutet, dass aus Vertec heraus keine weiteren Subprozesse auf dem Server gestartet werden können.
Alle diese Massnahmen dienen dazu, dass falls Unbefugte sich irgendwie einen Zugriff auf Vertec verschaffen, von da aus nicht weiterkommen und keinen Zugang auf den Server und damit das gesamte System erhalten. Wir empfehlen dringend, diese Massnahmen einzuschalten, sobald Vertec übers Internet zugänglich gemacht wird.
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