Zum Hauptinhalt springen

STARFACE VPN-SSH-Tunnel

Überblick

Anwendungsfälle

  • Mit Windows-Zugangsdaten an der STARFACE-Cloud anmelden
  • Aus der STARFACE-Cloud auf lokale Datenbanken und Dienste zugreifen
  • STARFACE-Monitoring oder Telefonie-Datenbanken für lokale Anwendungen freigeben
  • STARFACE-Cloud-Backups auf lokalen SMB-Freigaben speichern

Beim Betrieb Ihrer STARFACE in der Cloud gibt es spezielle Herausforderungen, insbesondere beim Zugriff auf lokale Dienste (z.B. Kundendatenbanken) und beim Zugriff auf Dienste der Telefonanlage, die in einem Cloud-Szenario normalerweise nicht zugänglich wären. Hier kommen SSH-Tunnel ins Spiel.

SSH-Tunnel, auch bekannt als Secure Shell-Tunnel, ist eine leistungsfähige Technologie, die eine verschlüsselteVerbindung zwischen zwei Netzwerken ermöglicht. Dies eröffnet eine Vielzahl von Anwendungsfällen und Vorteilen, wenn es um die STARFACE-Telefonanlage geht.

Erstens ermöglichen SSH-Tunnel den sicheren Zugriff auf lokale Dienste, wie z.B. den Domänencontroller für Windows-Anmeldungen oder eine Datenbank mit Kundendaten, selbst wenn die STARFACE-Telefonanlage in der Cloud betrieben wird. Dies kann besonders nützlich sein, wenn Sie Kundendaten für Funktionen wie Namensauflösung benötigen. Zweitens können Kunden über SSH-Tunnel auf Dienste der Telefonanlage wie Datenbanken und Monitoring zugreifen, die sonst nicht von außen erreichbar wären.

Durch die Nutzung von SSH-Tunneln mit STARFACE lassen sich also Herausforderungen in Bezug auf den Zugriff auf lokale Dienste und Dienste der Telefonanlage erfolgreich lösen. Mit dieser Technologie können Sie die Flexibilität und die Vorteile der Cloud nutzen, ohne auf den Komfort und die Sicherheit des lokalen Zugriffs verzichten zu müssen.

Dieser Artikel soll Ihnen nicht nur einen Überblick über die Vorteile von SSH-Tunneln bei der Nutzung von STARFACE geben, sondern auch Anregungen und Ideen liefern, wie Sie diese Technologie in Ihrem eigenen Geschäfts- oder Kommunikationsszenario einsetzen können.

Anleitung

1. Installation OpenSSH-Server

Unter Windows (ab Windows 10 und Server 2019) können Sie OpenSSH-Server über die Einstellungen installieren. Wählen Sie dort Apps > Apps und Features > Optionale Features aus. Klicken Sie auf + Feature hinzufügen.

Detailinformationen zur Installation mittels PowerShell und dem Starten/Stoppen von OpenSSH als Windows-Dienst finden Sie unter: https://learn.microsoft.com/de-de/windows-server/administration/openssh/openssh_install_firstuse

Der Zugriff per SSH ist nach erfolgreicher Installation über die Windows-Konten des Betriebssystems möglich. Für umfassendere Authentifizierungsmöglichkeiten konsultieren Sie bitte die Dokumentation von OpenSSH.

Tipp

Mit dem Kommando netstat -aon auf der Windows Kommandozeile können Sie herausfinden, ob der OpenSSH-Server oder vielleicht ein anderer Dienst an den gewünschten TCP-Port gebunden ist. Unter C:\ProgramData\ssh\sshd_config findet sich die Konfigurationsdatei des OpenSSH-Servers, in der ein abweichender TCP-Port konfiguriert werden kann.

Zugriff für Remote-Hosts (über den OpenSSH-Server auf STARFACE-Dienste)

Damit der von einem OpenSSH-Server bereitgestellte Tunnelendpunkt zu einem STARFACE-Dienst auch für Remote-PCs funktioniert, sind folgende Voraussetzungen zu erfüllen:

  1. Firewall des OpenSSH-Hosts (und Firewalls zwischen PC und OpenSSH-Server) muß dem Remote-PC den Zugriff auf den Tunnelendpunkt-Port gestatten.
  2. In der sshd_config des OpenSSH-Servers müssen die folgenden Optionen aktiviert werden:
sshd_config
AllowTcpForwarding yes
PermitTunnel yes
GatewayPorts yes

2. Firewall­einstellungen / Port-Forwarding

Damit eine STARFACE-Cloud-Anlage einen SSH-Tunnel zu Ihrem SSH-Server aufbauen kann, muß dieser entweder über eine statische öffentliche IP-Adresse oder einen Hostnamen erreichbar sein. Im Regelfall wird auf dem Internet-Gateway/Router/Firewall ein beliebiger freier TCP-Port auf den zuvor ausgewählten Server-Port des OpenSSH-Servers weitergeleitet.

In dieser Anleitung wird exemplarisch der Port TCP/8822 auf dem Internetgateway verwendet und auf Port TCP/22 des OpenSSH-Servers im lokalen internen Netzwerk weitergeleitet.

3. Konfiguration von SSH-Tunneln

Die Konfiguration eines (oder mehrerer) Tunnels, in den oben aufgeführten Fluxpunkt Modulen für STARFACE, läuft immer gleich ab. Es können beliebig viele Tunnel zu unterschiedlichen Zielen angelegt werden. Ein Tunnel, der in einem Modul angelegt wurde, ist zwar in anderen Modulen sichtbar (als nützliche Information zur Vermeidung von Portkonflikten), aber nur im Ursprungsmodul änderbar. Dadurch wird sichergestellt, dass ein Tunnel, der für die Funktion eines Moduls erforderlich ist, nicht versehentlich bei der Konfiguration eines anderen Moduls verändert oder gelöscht wird. Je nach Modul kann es zudem Einschränkungen der Port-Mappings und Tunnel-Richtungen geben, die die Umsetzung der vorgesehenen Anwendungsfälle erleichtern sollen.

Die folgende Abbildung zeigt eine Tunnelkonfiguration für vier verschiedene Port-Weiterleitungen – jeweils zwei eingehende und zwei ausgehende – für den Zugriff externer Hosts auf STARFACE-Dienste und den Zugriff der STARFACE auf zwei Domänencontroller zu Benutzeranmeldung:

Eingabevalidierung

Die Angaben zum SSH-Server betreffen den zuvor installierten OpenSSH-Server. Die Erreichbarkeit des Servers unter dem angegebenen Port sowie Zugangsdaten und Fingerprint werden während der Eingabe geprüft.

Die Angabe des Server-Fingerprint (einem Hash des öffentlichen Schlüssels des Servers zu Identifikationszwecken) ist optional. Beim ersten erfolgreichen Verbindungsversuch wird das Feld automatisch ausgefüllt.

Sobald die Felder SSH-Server, Benutzername und Kennwort ausgefüllt wurden, beginnt im Hintergrund die Verbindungsprüfung. Im Erfolgsfall wird der Server-Fingerprint ausgefüllt und in der Fußzeile Verbindung erfolgreich getestet ausgegeben.

TCP-Port-Mappings (Dienste)

Die Konfiguration erfolgt aus Perspektive der STARFACE. Alle Angaben, wie z.B. remote, lokal, entfernt, etc. beziehen sich auf diese Betrachtung.

Über die Taste Dienste-Vorlagen (Abb. rechts) finden Sie eine vordefinierte Auswahl an Weiterleitungskonfigurationen für verschiedene Dienste. Die Auswahl einer Vorlage fügt die entsprechenden Regelwerke in die Liste der Port-Mappings ein. Per Mouse-Over-Funktion auf den Port-Mapping-Feldern wird die Bedeutung der aktuellen Konfiguration ausführlich erläutert.

Ein Port-Mapping definiert, wer wie auf welche Dienste zugreifen darf. Die Symbole der Kopfzeile, sowie die darunter befindlichen Felder haben folgende Bedeutung:

STARFACEVerschlüsselter TunnelSSH-ServerOptionale WeiterleitungOptionaler Zielserver
Lokaler PortRichtungRemote PortRichtungHostname / IP

Die Felder Lokaler Port und Remote-Port werden während der Eingabe validiert. Je nach Weiterleitungsart/Richtung können z.B. nur Ports >= 1024 konfiguriert werden. Es wird außerdem geprüft, ob verschiedene Port-Mappings kollidierende Port-Angaben enthalten. Es ist z.B. nicht möglich, einen (1) lokalen Port auf verschiedene Remote-Ports abzubilden. Es können jedoch verschiedene Remote-Ports auf einen lokalen Port verweisen oder verschiedene lokale Ports auf einen Remote-Port.

Die Verwendung von Portnummern kleiner 1024 erfordert zudem erhöhte Rechte (Windows-Administrator- oder -System bzw. Linux-Root). Wird ein solcher Port angegeben, wird das entsprechende Feld mit einer Warnung und einem Hinweis versehen.

Ob es dem SSH-Server möglich ist, an einen gewählten Remote-Port zu binden, hängt vom SSH-Serversystem, den Rechten des SSH-Server-Dienstes und anderen darauf laufenden Diensten ab. Eine Vorabprüfung ist deshalb nicht möglich. Beim späteren Aktivieren des Tunnels wird jedoch jedes Mapping aktiv geprüft und entsprechende Fehler angezeigt.

Die SSH-Tunnel eines Moduls werden deaktiviert, wenn der Tunnel in der Tunnelkonfiguration deaktiviert wird oder die letzte verbleibende Modulkonfiguration eines Moduls deaktiviert oder gelöscht wird. Jedes Modul stellt sicher, dass die durch seine Modulkonfigurationen angelegten Tunnel funktionieren. Hierzu wird alle 20 Sekunden ein kleines Datenpaket über den Tunnel versendet, um diesen netzwerkseitig offen zu halten und zu verifizieren, dass der Tunnel funktional ist. Sollte der Tunnel abbrechen oder nicht funktionieren, wird der Tunnel nach spätestens 20 Sekunden neu aufgebaut. Nach einem STARFACE-Neustart werden die in den Modulkonfigurationen aktivierten Tunnel automatisch aufgebaut.