UMS für die Integration eines Reverse Proxy mit SSL Offloading konfigurieren

Dieser Artikel beschreibt die allgemeinen Konfigurationen der IGEL Universal Management Suite (UMS) für SSL Offloading mit einem Load Balancer / Reverse Proxy. Sie können dieses Dokument verwenden, wenn die SSL-Verbindung nicht am UMS Server, sondern am Load Balancer / Reverse Proxy terminiert werden soll.

Ein Reverse Proxy / externer Load Balancer kann verwendet werden, wenn ausschließlich IGEL OS 12 Geräte verwaltet werden. Siehe IGEL Cloud Gateway vs. Reverse Proxy für die Kommunikation zwischen UMS 12 und IGEL OS Geräten.


Voraussetzungen für die Reverse-Proxy-Konfiguration

Zum Extrahieren von Schlüsseln und Zertifikatsketten benötigen Sie ein geeignetes Tool wie „Keystore Explorer“. Verwenden Sie die jeweils aktuelle Version solcher Tools.

Stellen Sie außerdem sicher, dass Java 17 verwendet wird.

Einschränkungen

  • Der Befehl Scannen und Registrieren kann nur verwendet werden, wenn ein Endgerät eine direkte Verbindung zur UMS herstellen kann. Wenn ein externer Load Balancer / Reverse Proxy konfiguriert ist, ist die Funktion Scan and Register möglicherweise nicht nutzbar.

Prozessübersicht

Es wird empfohlen, dem hier dargestellten Ablauf zu folgen. Bevor Sie mit der UMS-Konfiguration beginnen, lesen Sie die Beschreibung der UMS-Netzwerkverbindungstypen unter Netzwerkkonfiguration der IGEL Universal Management Suite.

  • Konfigurieren Sie Ihre UMS / Ihr ICG:

    1. Aktivieren Sie die Verarbeitung weitergeleiteter Client-Zertifikate auf UMS / ICG.

    2. Passen Sie die Server-Netzwerkeinstellungen an und setzen Sie die Prozesskonfiguration.

  • Konfigurieren und exportieren Sie die Zertifikate für den Reverse Proxy:

    1. Konfigurieren Sie das UMS Web-Zertifikat / bei Verwendung von ICG das Cloud Gateway-Zertifikat.

    2. Exportieren Sie die UMS Web-Zertifikatskette / bei Verwendung von ICG die Cloud Gateway-Zertifikatskette.

      • Extrahieren Sie den privaten Schlüssel und die Zertifikatskette aus dem exportierten Zertifikat (die erforderlichen Dateiformate hängen vom Reverse Proxy ab).

    3. Exportieren Sie das EST CA Client-Zertifikat.

    4. Exportieren Sie das UMS Web Root-Zertifikat / bei Verwendung von ICG das Cloud Gateway Root-Zertifikat (nur erforderlich für Azure Application Gateway, wenn das Vertrauen zum Backend-Server überprüft werden soll).


Der nächste Schritt ist die Konfiguration des Reverse Proxy. Beispielkonfigurationen finden Sie unter:

Monitoring - Health Probe von UMS / ICG

Load Balancer verwenden Health Probes, um den Online-Status der Backends zu ermitteln und den Datenverkehr entsprechend zu verteilen. Wenn eine benutzerdefinierte HTTP-Probe zur Überwachung des UMS-/ICG-Dienstes verwendet werden soll, können die folgenden URLs für Tests konfiguriert werden:

UMS:

  • https://UMS_URL:8443/info oder

  • https://UMS_URL:8443/ums/check-status

ICG:

  • https://UMS_URL:8443/usg/server-status oder

  • https://UMS_URL:8443/usg/check-status

Weiterleitung und Verarbeitung von Client-Zertifikaten auf UMS / ICG aktivieren

Wenn kein ICG verwendet wird, muss die Verarbeitung weitergeleiteter Client-Zertifikate auf der UMS-Seite aktiviert werden. Wenn nur ein ICG hinter einem Azure Application Gateway verwendet wird, aktivieren Sie die Verarbeitung auf der ICG-Seite.

So aktivieren Sie die Verarbeitung auf der UMS:

  1. Öffnen Sie die Konfigurationsdatei [UMS installation directory]/IGEL/RemoteManager/rmguiserver/conf/appconfig/application.yml.
    Sie sehen folgenden Eintrag:

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


  2. Aktivieren Sie client-cert-forwarding, indem Sie "enabled" auf "true" setzen:

    client-cert-forwarding:
    	enabled: true
    


  3. Falls erforderlich, kann der Forwarding Header angepasst werden. Der Wert des X-SSL-CERT-Headers kann geändert werden, beachten Sie jedoch, dass der entsprechende Wert auch in der Proxy-Konfiguration angepasst werden muss.

  4. Speichern Sie die Änderungen und starten Sie den UMS Server-Dienst neu. Details zum Neustart finden Sie unter IGEL UMS HA-Dienste und -Prozesse.


So aktivieren Sie die Verarbeitung auf der ICG-Seite:

  1. Öffnen Sie die Konfigurationsdatei [UMS installation directory]/IGEL/icg/usg/conf/application-prod.yml.
    Sie sehen folgenden Eintrag:

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


  2. Aktivieren Sie client-cert-forwarding, indem Sie "enabled" auf "true" setzen:

    client-cert-forwarding:
    	enabled: true
    


  3. Falls erforderlich, kann der Forwarding Header angepasst werden. Der Wert des X-SSL-CERT-Headers kann geändert werden, beachten Sie jedoch, dass der entsprechende Wert auch in der Proxy-Konfiguration angepasst werden muss.

  4.  Speichern Sie die Änderungen und starten Sie den ICG Server neu.

Server-Netzwerkeinstellungen anpassen

Wenn Sie einen externen Load Balancer / Reverse Proxy verwenden, müssen Sie den FQDN des UMS-Clusters als externe Adresse aktualisieren. Dieser FQDN muss im Web-Zertifikat enthalten sein und das entsprechende Zertifikat muss allen UMS-Servern zugewiesen werden:

  1. Gehen Sie zu UMS Administration > Globale Konfiguration > Server-Netzwerkeinstellungen.

  2. Setzen Sie die Cluster-Adresse.
    Wenn Sie einen Reverse Proxy verwenden, müssen Sie den FQDN des UMS-Clusters als externe Adresse setzen. Dieser Wert muss dem FQDN und Port des Reverse Proxy entsprechen. Weitere Informationen finden Sie unter Server-Netzwerkeinstellungen in der IGEL UMS.

    image-2024-3-25_10-18-12-1.png


  3. Setzen Sie die OS 12 device enrollment address (Adresse für das Geräte-Onboarding).
    Diese Einstellung ist erforderlich für Reverse Proxies ohne optionale Client-Zertifikatsprüfung wie Azure Application Gateway. Setzen Sie den Wert auf FQDN / IP und Port des konfigurierten Listeners für das Geräte-Onboarding.

    image-2024-3-25_10-18-29-1.png

UMS Web-Zertifikat / Cloud Gateway-Zertifikat erstellen

UMS Web-Zertifikat

Web-Zertifikat von einer öffentlichen CA

Wenn ein Web-Zertifikat von einer öffentlichen CA verwendet wird, muss auch das öffentliche Zertifikat der ausstellenden Stelle importiert werden.
Das Onboarding von OS 12 Geräten funktioniert nur mit einer vollständigen Zertifikatskette.


Erstellen und verwenden Sie ein gültiges Zertifikat für UMS und Load Balancer. Empfohlen wird die Verwendung eines eigenen Zertifikats für den Reverse Proxy:

  1. Gehen Sie zu UMS Administration > Zertifikatsverwaltung > Web in der UMS Konsole.

  2. Erstellen Sie das Zertifikat. Details finden Sie unter So verwenden Sie Ihre eigenen Zertifikate für die Kommunikation über den Webport (Standard: 8443) in der IGEL UMS. Allgemeine Informationen zu Web-Zertifikaten finden Sie unter Webzertifikate in der IGEL UMS.

    image-20240619-093038.png


  3. Der Proxy-FQDN muss als Hostname hinzugefügt werden, sodass er im Zertifikat als Subject Alternative Name enthalten ist.

Verwenden Sie Subject Alternative Names (SAN), wenn sich die verwendeten IP-Adressen oder Hostnamen für UMS und Load Balancer / Reverse Proxy unterscheiden. For information on hostnames, Cluster Address, FQDNs, see also Fehlersuche: Fehler 38 beim Onboarding eines IGEL OS 12 Geräts

image-2024-3-25_10-11-57-1.png


Cloud Gateway-Zertifikat

Zertifikat von einer öffentlichen CA

Wenn ein Zertifikat von einer öffentlichen CA verwendet wird, muss auch das öffentliche Zertifikat der ausstellenden Stelle importiert werden.
Das Onboarding von OS 12 Geräten funktioniert nur mit einer vollständigen Zertifikatskette.

Wenn Sie den Reverse Proxy mit ICG verwenden:

  1. Gehen Sie zu UMS Administration > Zertifikatsverwaltung > Cloud Gateway in der UMS Konsole.

  2. Erstellen Sie das Zertifikat und fügen Sie bei der Erstellung die IP-Adresse oder den Hostnamen des Load Balancers hinzu.
    Trennen Sie mehrere Werte mit einem Semikolon.

Beispiele für UMS- und ICG-Zertifikate

Die Integration von Reverse Proxies und Load Balancern in die UMS- und ICG-Umgebung bietet viele mögliche Konfigurationen. Nachfolgend zwei Beispiele mit Azure Application Gateway und passenden Zertifikatsdetails:

UMS Beispiel

Dieses Diagramm zeigt ein Azure Application Gateway vor UMS-Servern.

image-20260421-055207.png

Diese UMS Server befinden sich in einem Virtual Network und sind nur über einen privaten FQDN erreichbar. Es gibt ein Azure Application Gateway für eingehende Geräteanfragen sowie einen weiteren Reverse Proxy / Load Balancer (Azure Application Gateway) für Anfragen der UMS Web App und der Konsole. Dadurch ist der UMS Server über zwei unterschiedliche Adressen erreichbar. Dies muss bei der Erstellung des Web-Zertifikats berücksichtigt werden.

Die private FQDN-Adresse wird vom Azure Application Gateway für die Verbindung zur UMS verwendet. Diese Adresse muss als Common Name (CN) im UMS Web-Zertifikat gesetzt werden. Der öffentliche FQDN muss für Verbindungen der UMS Web App / Konsole zur UMS als Hostname (Subject Alternative Name) gesetzt werden.

image-2024-3-25_10-15-12-1.png
image-2024-3-25_10-15-37-1.png


ICG Beispiel

Dieses Diagramm zeigt ein Beispiel für die Integration von Azure Application Gateway und ICG.

image-20260421-055649.png

In diesem Szenario verwendet das Azure Application Gateway denselben FQDN für die Verbindung zum ICG wie zum UMS-Server. Wenn sich das ICG in einer DMZ befindet, ist nur ein FQDN erforderlich.

Das Cloud Gateway-Zertifikat benötigt den FQDN sowohl als Common Name als auch als Subject Alternative Name für die Verwaltung der UMS.

image-2024-3-25_10-16-9-1.png

UMS Web-Zertifikatskette exportieren

Dieses Zertifikat muss für die Listener-Konfiguration exportiert werden.

  1. Wählen Sie das zuvor konfigurierte Zertifikat aus und klicken Sie auf Zertifikatskette in den Keystore exportieren.

    image-2024-3-25_10-19-8-1.png


  2. Legen Sie ein Passwort und den Dateinamen fest.

    image-2024-3-25_10-19-39-1.png


  3. Ermitteln Sie den verwendeten Web Key.
    Die exportierte Keystore-Datei enthält mehrere Schlüssel und Zertifikate, mindestens das Root-Zertifikat sowie die aktuell verwendeten Schlüssel und Zertifikate. Ein Tool wie Keystore Explorer kann verwendet werden, um den aktuell verwendeten Web Key zu identifizieren.

    So ermitteln Sie den aktuell verwendeten Web Key mit dem Keystore Explorer
    1. Öffnen Sie die Datei und geben Sie das beim Export vergebene Passwort ein. Es werden mehrere Einträge angezeigt:

    image-2024-3-25_10-19-57-1.png


    1. Ermitteln Sie den aktuell verwendeten Key. Dazu können Sie einfach die ID des aktuell verwendeten Zertifikats, die in der UMS angezeigt wird, mit der ID in den Zertifikatsdetails im Keystore Explorer vergleichen.

    image-2023-7-12_16-52-33.png



    image-2024-3-25_10-20-9-1.png



Privaten Schlüssel und Zertifikatskette extrahieren

Unterschiedliche Reverse Proxies erfordern unterschiedliche Zertifikatsdateien. Für Azure Application Gateway wird der Schlüssel für die Listener-Konfiguration im PFX-Format benötigt. Konvertieren Sie die exportierte Keystore-Datei in das PFX-Format. Hierfür kann das Java-Tool keytool verwendet werden. Das Kommandozeilen-Tool befindet sich in der UMS-Installation unter: (Install Dir)/IGEL/RemoteManager/_jvm/bin
Der Key-Alias muss beim Aufruf des Befehls angegeben werden.

keytool -v -importkeystore -srckeystore  yourkeystore.keystore -srcalias mykey -destkeystore myp12file.pfx -deststoretype PKCS12


Für Citrix Netscaler, F5 BIG-IP und NGINX müssen die Zertifikatskette und der private Schlüssel exportiert werden:

  1. Exportieren Sie die Zertifikatskette des aktuell verwendeten Zertifikats.

    image-20240619-093310.png


  2. Wählen Sie Ganze Kette und das Format X.509.

    image-2023-7-10_18-33-24.png


  3. Klicken Sie auf Exportieren.

  4. Für F5 BIG-IP: Wählen Sie zusätzlich Head only und exportieren Sie das Zertifikat in eine separate Datei, z.B. ssl-cert.cer

  5. Exportieren Sie den privaten Schlüssel.

    image-2024-3-27_11-33-44-1.png


  6. Geben Sie das beim Export verwendete Passwort ein.

  7. Wählen Sie OpenSSL.

    image-2024-3-27_11-34-9-1.png


  8. Falls erforderlich, wählen Sie Encrypt und geben die entsprechenden Daten ein. In diesem Beispiel wird ein unverschlüsselter Schlüssel verwendet.

    image-2024-3-27_11-34-27-1.png


  9. Klicken Sie auf Exportieren.

Cloud Gateway-Zertifikatskette exportieren und Schlüssel sowie Zertifikatskette extrahieren

  1. Gehen Sie in der UMS Konsole zu UMS Administration > Globale Konfiguration > Zertifikatsverwaltung > Cloud Gateway und exportieren Sie die ICG-Zertifikatskette im IGEL Cloud Gateway Keystore-Format:

    image-2024-3-25_11-16-49-1.png


    Die Datei keystore.icg wird gespeichert.

  2. Entpacken Sie die Datei.


  1. Öffnen Sie die Datei keystore.jks und verwenden Sie das Passwort aus der Datei keystorepw.

    image-20240619-093445.png


  2. Wählen Sie den konfigurierten Key-Eintrag aus und exportieren Sie den privaten Schlüssel sowie die Zertifikatskette wie im Abschnitt Privaten Schlüssel und Zertifikatskette extrahieren beschrieben.

EST CA Client-Zertifikatskette exportieren

Das EST CA Client-Zertifikat wird für die Client-Zertifikatsprüfung benötigt.

Den Export der Client-Zertifikatskette finden Sie unter: UMS Administration > Server-Netzwerkeinstellungen > Client-Zertifikatskette exportieren.

image-2024-3-25_10-21-23-1.png

UMS Web Root-Zertifikat für Azure exportieren

Im Azure Application Gateway wird das Root-Zertifikat für die Backend-Einstellungen verwendet. Exportieren Sie das Root-Zertifikat des verwendeten Web-Zertifikats unter: UMS Administration > Globale Konfiguration > Zertifikatsverwaltung > Web.

image-2024-3-25_10-21-10-1.png

Cloud Gateway Root-Zertifikat für Azure exportieren

Im Azure Application Gateway wird das Root-Zertifikat für die Backend-Einstellungen verwendet. Exportieren Sie das Root-Zertifikat des verwendeten Cloud Gateway-Zertifikats unter: UMS Administration > Globale Konfiguration > Zertifikatsverwaltung > Cloud Gateway.

image-2024-3-25_10-47-51-1.png