Skip to main content
Skip table of contents

IGEL Universal Management Suite Netzwerkkonfiguration

Dieser Artikel beschreibt die Integration der Universal Management Suite (UMS) und des IGEL Cloud Gateway (ICG) mit Netzwerkomponenten wie Firewalls und Reverse Proxys.

Beispiele für die Konfiguration eines Reverse Proxys finden Sie unter:


UMS Netzwerkkonfigurationen

Das Diagramm zeigt eine Netzwerkkonfiguration mit möglichen Netzwerkgrenzen, an denen Komponenten wie Reverse Proxys, Proxys, Firewalls und Loadbalancer platziert werden können.

UMS Network Configuration.drawio.png

Typischerweise gibt es drei verschiedene Positionen für diese Komponenten:

  • Gerät und ICG Server

  • Gerät und UMS Server

  • ICG und UMS Server

Verbindungstypen zwischen Gerät und UMS

Für eine erfolgreiche Konfiguration ist es wichtig, die verschiedenen Verbindungstypen zu verstehen.

Kommunikation vom Gerät zur ICG / UMS

Die Kommunikation der Geräte mit der UMS oder ICG besteht aus zwei verschiedenen Typen: Reguläre HTTPS-Aufrufe für die Geräteregistrierung sowie eine WebSocket-Verbindung mit gegenseitiger TLS-Authentifizierung (Mutual TLS) für das Gerätemanagement. Diese Kommunikationsarten müssen bei der Konfiguration von Proxy, Reverse Proxy und Firewall berücksichtigt werden.

Device to UMS ICG.drawio.png

Kommunikation von der UMS zum ICG

Die Kommunikation von der UMS zum ICG basiert ebenfalls auf WebSocket-Verbindungen und regulären HTTPS-Aufrufen. Jede Anfrage wird von der UMS initiiert und verwendet gegenseitige TLS-Authentifizierung (Mutual TLS). Für diese Verbindungen kann in der UMS ein HTTPS-Proxy konfiguriert werden.

Falls sich eine Netzwerkomponente zwischen diesen Servern befindet, beachten Sie die folgenden Verbindungen. Verbindungsprobleme können auftreten, wenn auf einer Firewall Deep Packet Inspection (DPI) aktiviert ist. Das Kapitel SSL-Offloading gilt ausschließlich für die Verbindung vom Gerät zur UMS / zum ICG. Es wird nicht für die Kommunikation zwischen ICG und UMS unterstützt.

Kommunikation über Reverse Proxy

Das Diagramm zeigt die Verbindung vom Gerät zur UMS über eine Netzwerkomponente wie z. B. das Azure Application Gateway. Dabei sind die für SSL-Offloading erforderlichen Verbindungen aufgeführt. Es wird eine HTTPS-Verbindung benötigt, die für das Device Onboarding (inkl. Anforderung eines Client-Zertifikats) verwendet wird. Anschließend erfolgt eine WebSocket-Verbindung, bei der Mutual TLS sowie das Weiterleiten des Client-Zertifikats erforderlich sind.

Communication via Reverse Proxy.drawio.png

Kommunikation über Azure Application Gateway

Einige Reverse Proxys wie NGINX unterstützen eine Mutual-TLS-Konfiguration mit optionaler Client-Zertifikatsprüfung. Solche Reverse Proxys können beide für die UMS erforderlichen Verbindungen mit einem einzigen konfigurierten Listener verarbeiten. Das Azure Application Gateway unterstützt diese Funktion jedoch nicht. Die beiden verwendeten Verbindungstypen müssen separat behandelt werden. Dementsprechend muss die Konfiguration des Azure Application Gateway zwei separate Listener mit den entsprechenden Regeln enthalten.

Die UMS unterstützt die Trennung von Onboarding- und WebSocket-Verbindungen. Das folgende Diagramm zeigt eine Übersicht über die Verbindung eines Geräts zur UMS über das Azure Application Gateway.

Communication vie Azure.drawio.png

Der HTTPS-Listener für das Device Onboarding kann den Standard-HTTPS-Port (443) verwenden und leitet die Verbindung direkt an die UMS weiter. In diesem Beispiel lauscht der HTTPS-Listener für die WebSocket-Verbindung auf Port 8443 und nutzt Mutual TLS für die Prüfung des Client-Zertifikats. Dieses Zertifikat wird dem Request Header hinzugefügt, sodass die UMS es verifizieren kann.

SSL Passthrough

SSL Passthrough leitet den verschlüsselten HTTPS-Datenverkehr vom Client zum Server und zurück ohne Entschlüsselung oder Deep Packet Inspection weiter. Da der HTTPS-Verkehr dabei nicht verändert wird, hat diese Konfiguration von Netzwerkomponenten keinen Einfluss auf die Funktionalität von ICG oder UMS. Bitte beachten Sie die Dokumentation Ihrer Web-Komponente für die entsprechenden Einstellungen.

Beispiel

nginx - eine mögliche Passthrough-Konfiguration:

CODE
## tcp LB and SSL passthrough for backend ##
stream {
	upsream umsserver{
		server 192.168.1.100:8443 max_fails=3 fail_timeout=10s;
		server 192.168.1.100:8443 max_fails=3 fail_timeout=10s;
	}
	server{
		listen 443;
		proxy_pass umsserver;
		proxy_next_upstream on;
	}
}

Die Konfiguration muss in der nginx-Konfigurationsdatei hinzugefügt werden:

CODE
user nginx;
worker_process auto;
error_log /var/log/nginx/error.log warn;
pid		  /var/run/nginx.ped;
events{
	worker_connections 1024;
}
http {
	include		/etc/nginx/mime.types;
	default_type application/octet-stream;
	sendfile	on;
	#tcp_nopush		on;
	keepalive_timeout 65;
	#gzip on;
	include/etc/nginx/conf.d/*.conf;
}
include/etc/nginx/passthrough.conf;

SSL Offloading

SSL Offloading bedeutet, dass die Netzwerkomponente die SSL-Verbindung terminiert und die Daten entschlüsselt. Die entschlüsselten Daten können direkt an den Server weitergeleitet werden. Dieser sendet seinerseits unverschlüsselte Daten an die Netzwerkomponente zurück, welche die erneute Verschlüsselung übernimmt.

Alternativ kann die Netzwerkomponente den entschlüsselten Datenverkehr inspizieren und ihn anschließend erneut verschlüsseln, bevor sie ihn an den Server weiterleitet. Die UMS unterstützt aktuell ausschließlich diese zweite Variante der Kommunikation, bei der die Daten verschlüsselt bleiben, bis sie die UMS erreichen. Das folgende Diagramm zeigt die erforderlichen Schritte für SSL Offloading auf der Netzwerkomponente in Richtung Gerät zur UMS.

Schritte zur Konfiguration von SSL Offloading auf einer Netzwerkomponente:

  • Listener für die SSL-Terminierung konfigurieren. Dies umfasst:

    • Port: UMS-Web-Port

    • Schlüssel und Zertifikat: UMS-Web-Schlüssel und UMS-Web-Zertifikat

  • Client-Zertifikatsprüfung und Weiterleitung konfigurieren. Dies umfasst:

    • SSL-Client-Zertifikatsprüfung aktivieren

    • SSL-Client-Zertifikat lesen und in einen Forwarded Header einfügen

  • Falls erforderlich, konfigurieren Sie den WebSocket Upgrade Header

Die Verarbeitung von weitergeleiteten Client-Zertifikaten muss auf UMS-Seite aktiviert werden. Die zuständige Konfigurationsdatei ist:
(Install Dir)/IGEL/RemoteManager/rmguiserver/conf/appconfig/application.yml.

CODE
igel:
 client-cert-forwarding:
	enabled: false
	client-cert-forwarded-header: X-SSL-CERT

Setzen Sie client-cert-forwarding enabled auf true.

Der Forwarding Header kann angepasst werden. Der Standardwert ist X-SSL-CERT. Wenn dieser Wert geändert wird, muss er auch in der Konfiguration der Netzwerkomponente entsprechend angepasst werden.
Die Konfiguration auf ICG-Seite erfolgt analog zur UMS, mit Ausnahme der Parameter für Port, Schlüssel und Zertifikat des ICG.
Auch auf dem ICG muss die Verarbeitung weitergeleiteter Client-Zertifikate aktiviert werden.
Die zuständige Konfigurationsdatei befindet sich im Verzeichnis (Install Dir)/IGEL/icg/usg/conf/application-prod.yml

Erforderliche Funktionen der Netzwerkkomponente

Prüfung und Weiterleitung von Client-Zertifikaten

Ein Gerät mit IGEL OS 12 verwendet zwei Verbindungstypen zur UMS. Die erste ist eine direkte HTTPS-Verbindung, über die das Gerät registriert wird und ein Client-Zertifikat erhält. Die zweite ist eine WebSocket-Verbindung für das Gerätemanagement mit Mutual TLS.
Der eingesetzte Reverse Proxy muss mindestens eine der folgenden Konfigurationsoptionen unterstützen:

  • Die Client-Zertifikat-Prüfung ist optional. Die Verbindung wird in jedem Fall weitergeleitet, jedoch wird das Zertifikat nur dann hinzugefügt, wenn ein gültiges Client-Zertifikat übermittelt wurde. Zusätzlich muss die Unterstützung für das WebSocket-Upgrade vorhanden sein.

    Beispielkonfiguration für F5 BIG-IP:

    Client-Zertifikat-Prüfung



  • Pfadabhängige Weiterleitung muss von der Netzwerkomponente unterstützt werden. Der NGINX Reverse Proxy unterstützt diese Art der Konfiguration. In der folgenden Auflistung wird eine Konfiguration für den WebSocket-Endpunkt gezeigt. Dieser benötigt ein Client-Zertifikat, das dem HTTP-Header hinzugefügt wird. Zusätzlich wird der WebSocket-Upgrade-Header gesetzt. Siehe auch NGINX-Beispielkonfiguration für Reverse Proxy in IGEL OS mit SSL Offloading.

Die andere Konfiguration ist für den Onboarding-Endpunkt erforderlich.

NGINX-Konfigurationsbeispiel:

CODE
# Configuration for WebSocket Endpoints
 location~/device-connector/device/(ws-connect|portforwarding) {
	proxy_pass https://umsserver;
	proxy_set_header X-SSL-CERT $ssl_client_escaped_cert;# client certificate in current connection
	proxy_set_header Upgrade $http_upgrade; #Set upgrade header
	proxy_set_header Connection $connection_upgrade;
}
#Configuration for all other endpoints
 location / {
	proxy_pass https//umsserver;
	proxy_ssl_trusted_certificate ssl/ssl-cert-chain.cer;
	proxy_ssl_protocols TLSv1.3;
}



  • Konfiguration von zwei Endpunkten (also zwei virtuellen Servern oder Listenern) auf dem Reverse Proxy oder Loadbalancer. Ein Endpunkt ist für das Device Onboarding konfiguriert, der andere für die WebSocket-Verbindung.

Beispielkonfiguration für Azure Application Gateway:

UMS-HA-Umgebung mit Reverse Proxy, Loadbalancer

Die Verbindung vom Gerät zur UMS oder zum ICG kann über einen Loadbalancer verteilt werden.
Das UMS-Webzertifikat und das ICG-Zertifikat müssen zur IP-Adresse oder zum vollständig qualifizierten Domainnamen (FQDN) der Server und der konfigurierten Netzwerkkomponente passen. Dabei sind die Subject Alternative Names (SANs) des Zertifikats zu berücksichtigen. Wildcard-Zertifikate können verwendet werden. Stellen Sie sicher, dass sowohl die Cluster-Adresse der UMS als auch die öffentliche UMS-Adresse korrekt gesetzt sind.
Das Beispiel zeigt eine nginx-Upstream-Serverkonfiguration mit mehreren Einträgen für UMS Server.

CODE
upstream umsserver {
	server 192.168.27.96:8843 max_fails=3 fail_timeout=10s;
 	server 192.168.27.96:8843 max_fails=3 fail_timeout=10s;
 	server 192.168.27.96:8843 max_fails=3 fail_timeout=10s;
 }

Konfiguration des IGEL Cloud Services

Die Kommunikation mit der IGEL Cloud kann ebenfalls durch Netzwerkomponenten beeinflusst werden. Auch der UMS Server stellt Verbindungen zu den IGEL Cloud Services her. Zu den dafür erforderlichen Diensten zählen der Onboarding Service (OBS), das IGEL License Portal (ILP), das IGEL App Portal und der Insight Service. Diese Verbindungen können über einen Proxy erfolgen, müssen jedoch in der UMS entsprechend konfiguriert werden. Eine Netzwerkomponente wie eine Firewall mit aktivierter Deep Packet Inspection kann zu Verbindungsproblemen führen.

UMS Endpunktpfade für die Integration eines Reverse Proxys

Die folgenden Pfade sind für die Verbindung von IGEL OS 12-Geräten zur UMS über einen Reverse Proxy erforderlich:

  • Root-Pfad: /device-connector/device/*

  • Detaillierte Pfade:

    • /device-connector/device/ws-connect

    • /device-connector/device/portforwarding

    • /device-connector/device/.well-known/est/*

  • App-Proxy-Pfad: /ums-appproxy/*

Die Gerätekommunikation ist immer TLSv1.3.

Falls die UMS Web App über einen Reverse Proxy genutzt werden soll, sind folgende Pfade erforderlich:

  • /wums-app/*

  • /webapp/*

Die Gerätekommunikation ist TLSv1.2 oder TLSv1.3.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.