VMWare Horizon integration (using RADIUS Proxy) for 2FA

29.09.2020 5 Minuten Lesedauer
Inhaltsverzeichnis

Zwei-Faktor Authentifizierung für die VMWare Horizon Integration (mit einem RADIUS Proxy) und der SecSign ID 2FA

Sichern Sie Ihr VMWare HorizonSetup mit der Zwei-Faktor Authentifizierung ab, ohne einen zusätzlichen RADIUS Server zu benötigen. Dieses Setup integriert mit dem SecSign ID RADIUS Proxy und der RADIUS Schnittstelle.

Integration

Integration und Setup


Die Horizon Umgebung sollte fertig installiert und erfolgreich an Ihr AD angebunden sein, sowie der Login mit AD Nutzername und Passwort getestet sein, bevor Sie diese Integration starten.

Die folgenden Komponenten werden hinzugefügt und installiert:

  • der SecSign ID Inhouse Server für die Bestätigung des 2FA Logins und
  • der SecSignIDRadiusProxy als Schnittstelle zwischen Horizon Verbindungsserver und dem SecSign ID Inhouse Server
  • die SecSign ID Desktop App für den individuellen Nutzer um den Horizon Login zu bestätigen (Die SecSign ID App kann entweder auf dem Desktop Computer oder dem mobilen Endgerät installiert werden. Das folgende Integrationsbeispiel nutzt die SecSign ID Desktop App)

Installieren Sie den SecSign ID Inhouse Server

Für dieses Setup benötige Sie das SecSign ID Inhouse Server Setup. Bitte kontaktieren Sie uns für mehr Informationen.
Dieser Server kann in einer Java Umgebung installiert werden. Es kann entweder der selbe Server sein, auf dem der Horizon Verbindungsserver läuft, oder in seiner eigenen VM laufen.

Wenn Ihre Nutzer auf die Horizon Umgebung über das Internet zugreifen, muss auf den SecSign ID Server zugegriffen werden.

  • von „außerhalb“ – über den Standardport 443 (von der SecSign ID App des Nutzers)
  • aus dem internen Netzwerk – über die Standardports 25100 und 28787 – (vom SecSignIDRadiusProxy)
  • und es muss auf das gleiche AD zugreifen, dass auch von Horizon genutzt wird – über den Port der vom AD benötigt wird

Wenn die Nutzer auf die Horizon Umgebung über das lokale Netzwerk zugreifen benötigen sie keinen Zugriff durch die Firewall. In diesem Fall muss auf den SecSign ID Server zugegriffen werden:

  • aus dem „internen Netzwerk“ – über den Standardport 443 (von der SecSign ID App des Nutzers)
  • aus dem „internen Netzwerk“ – über die Standardports 25100 und 28787 – (vom SecSignIDRadiusProxy)
  • und es muss auf das gleiche AD zugreifen, dass auch von Horizon genutzt wird – über den Port der vom AD benötigt wird

Führen Sie die SecSign ID Inhouse Installation mit dem Install Wizard aus und erstellen Sie mindestens einen Administrator, der sich mit Passwort authentifiziert und die Berechtigung hat, sich nur aus dem lokalen Netzwerk einzuloggen.

Das Setup wird so aufgesetzt, dass als Grundvorraussetzung der Nutzername und Passwort der Nutzer aus dem AD genommen wird. Bevor die LDAP Verbindung aufgesetzt ist brauchen wir mindestens einen Administrator um auf das Dashboard zuzugreifen. Dieser Administrator, der local auf dem SecSign ID Inhouse Server erstellt wird, kann später auch genutzt werden, um die LDAP Verbindung zum AD zu Debuggen, falls nötig.

Die IP Adresse, von der der Login mit dem lokalen Passwort möglich ist, kann in der Datei SecSign-ID-server.properties bestimmt werden:

secsignidserver.client.pwdlogin.allowed.0=127.0.0.1
secsignidserver.client.pwdlogin.allowed.1=::1
secsignidserver.client.pwdlogin.allowed.2=10.3.0.0/16
secsignidserver.client.pwdlogin.allowed.3=2a02:8108:44c0:4d58::/59 

Kommentieren Sie die Liste aus, oder erweitern Sie die Liste falls benötigt. Nutzer, die sich von einer anderen IP anmelden, müssen die Anmeldung mit Nutzernamen und Passwort wie im AD vorgegeben absolvieren.
Öffnen Sie das Dashboard, loggen Sie sich als Administrator an und navigieren Sie zur LDAP Konfiguration.

Richten Sie die LDAP Verbindung zum AD auf dem selben Domain Controller ein, der auch vom Horizon Setup genutzt wird. Wählen Sie den Fall „Nutzername und Passwort beim Dashboard Login kontrollieren“ und geben Sie die Parameter an, die Sie für die LDAP Verbindung benötigen.

Installieren Sie SecSignIDRadiusProxy

Diese Server Anwendung kann in jeder Umgebung installiert werden, die Java aktiviert hat. Es kann der gleiche Server wie der Horizon Connection sein, oder auf seiner eigenen VM laufen.
Auf diesen Server muss zugegriffen werden:

  • vom internen Netzwerk – default Part 2812 – (vom Horizon Connection Server)
  • und es muss den SecSign ID Server erreichen können – über die Default Ports 25100 und 28787 (oder wie in den SecSign-ID-server.properties beschrieben, falls die Datei modifiziert wurde)

1 Kopieren Sie das Verzeichnis SecSignIDRadiusProxy zum gewünschten Speicherort

2 Nutzen Sie das Ihrem OS entsprechende der Startskript, das in dem Verzeichnis gespeichert ist.Wenn Sie Windows nutzen, verwenden Sie bitte SecSignIDRadiusProxy.bat.

3 Um den Reboot unter Linux automatisch zu starten nutzen Sie bitte das Startskript, dass unter SecSignIDRadiusProxy/etc zu finden ist.
Mit Windows nutzen Sie bitte den Task Scheduler um SecSignIDRadiusProxy.bat automatisch beim Start zu laden.

4 Passen Sie die Einstellungen unter SecSignIDRadiusProxy.properties an:
Hinweis: Der Horizon Connection Server für den SecSignIDRadiusProxy ist der radiusclient

  • Definieren Sie den Radius Client
    # Host name oder IP Adresse des ersten RADIUS Client

    secradiusproxy.radiusclient.0.host=10.4.0.32

    # Shared Geheimnis mit dem ersten RADIUS Client

    secradiusproxy.radiusclient.0.sharedsecret=123456

    # Der Text der ReplyMessage, die an den ersten RADIUS Client gesendet wird als Antwort zum AccessRequest.

    secradiusproxy.radiusclient.0.challengereplymsg=To confirm login please start the SecSignapp\n\n1. Select the ID equal to your AD username  \n2. Click "Accept" \n3. Type any number as Tokencode below\n4. Click login button.
  • Kommentieren Sie die Eigenschaften aus, die nicht benötigt werden:
    Alle Eigenschaften deren Namen „.radiusclient.1.“ enthält
    Alle Eigenschaften deren Namen „.forwardradiusserver.“
    Alle Eigenschaften deren Namen „.activedirectoryldapserver.“
    (außer „secradiusproxy.noldapserver.idpattern“, wie im nächsten Schritt beschrieben)
  • Bestimmen Sie den Pattern für den Nutzernamen (um den SecSign ID Nutzernamen und den AD Nutzernamen automatisch zuzuordnen):
    secradiusproxy.noldapserver.idpattern=%username%
  • Bestimmen Sie den SecSign ID Server, der genutzt werden soll.
    Der SecSignIDRadiusProxy benötigt Zugriff zu zwei unterschiedliche Ports des SecSign ID Servers.
    Beide Ports zum SecSign ID Server müssen nur vom internen Netzwerk aus zugegriffen werden, wenn der SecSign ID server auf dem gleichen lokalen Netzwerk läuft. Trotzdem werden beide Verbindungen mit TLS verschlüsselt und beide Verbindungen werden das TLS Server Zertifikat des SecSign ID Servers für die Verschlüsselung der Kommunikation nutzen.

    # Base URL für den ersten SecSign ID Server für REST Anfragen

    secradiusproxy.secsignidserver.0.url=https://horizonid.seccommerce.biz:28787/

    # erster SecSign ID Server Host

    seccommerce.secappserver.0=192.168.1.93

    # erster SecSign ID Server Port

    seccommerce.secappserverport.0=25100

Konfigurieren Sie den Horizon Connection Server um ihn mit dem SecSig ID Server für die 2FA zu nutzen


Der Horizon Connection Server benötigt RADIUS als 2FA Verfahren und muss einen Authenticator erstellen, um Zugriff auf den SecSignIDRadiusProxy zu haben.

1 Wählen Sie den gewünschten „Connection Server“ im Horizon Admin und gehen Sie auf „Bearbeiten“

2Wählen Sie den Tab „Authentifizierung“ und scrollen Sie runter, bis Sie 2FA finden

3Aktivieren Sie 2FA indem Sie RADIUS auswählen und klicken Sie auf „Neuen Authenticator erstellen“

4Geben Sie den Namen des Authenticators an und gehen Sie dann auf das Tab “Primary Authentication server”

5Geben Sie den Namen oder die IP Adress des SecSignIdRadiusProxy hostname an

6Geben Sie den Port (Default 1812) des SecSignIdRadiusProxy an

7Geben Sie das shared secret, dass Sie zuvor in SecSignIdRadiusProxy.properties definiert hatten an (secradiusproxy.radiusclient.0.sharedsecret=…)

Klicken Sie auf OK und kontrollieren Sie, dass der neu erstellte Authenticator für die 2FA RADIUS Authentifizierung genutzt wird.

Installieren Sie die SecSign ID App

Sie können zwischen der Standard SecSign ID App für die mobile oder Desktop Nutzung wählen, oder unsere Entwickler mit der Erstellung einer individuell angefertigten App in Ihrem Unternehmensdesign beauftragen.
Installieren Sie die SecSign ID Desktop App (die wir in diesem Fall nutzen) auf der gleichen Workstation, auf der auch der Horizon Desktop Client läuft.

Note: Die SecSign ID App kann entweder auf dem Desktop oder einem mobilen Endgerät genutzt werden. Das folgende Beispiel nutzt die SecSign ID Desktop App.

Erstellen Sie einen Nutzer mit dem gleichen Nutzernamen und dem gleichen Passwort, das dieser Nutzer auch im AD hat.

Ein alternatives Enrollment-Verfahren ist in diesem Tutorial beschrieben.

Login mit Horizon und dem Desktop Client mit der SecSign ID Desktop App 2FA

Login mit Horizon und dem Desktop Client mit der SecSign ID Desktop App 2FA (der Login wäre derselbe mit dem Horizon HTML Client. In diesem Beispiel wird allerdings der Horizon Client genutzt)

Bitte folgen Sie den folgenden Schritten, um die Desktop App aufzusetzen:

1Starten Sie den Horizon Client.

2Wählen Sie die URL des Horizon Connection Servers aus.

3Geben Sie den AD Nutzernamen und Passwort an.

4Sie erhalten den Dialog mit dem Text, der in SecSignIDRadiusProxy config (Parameter „challengereplymsg“) definiert wurde.

5Starten Sie die SecSign ID App

6Wählen Sie den Nutzernamen aus und geben Sie das AD Passwort an.
(in diesem Beispiel ist der Nutzername „Tara“)

7Bestätigen Sie den Login mit der SecSign ID App

Als der Nutzer (hier „Tara“) in der SecSign ID App erstellt wurde, wurde ein privates Zertifikat erstellt, das sicher stellt dass nur diese Instanz der SecSign ID App die Anfrage erhält. Daher muss kein Code beim Horizon Login Dialog angegeben werden. Nachdem der Login mit der SecSign ID App bestätigt wurde, kann eine beliebige Zeichenfolge in den Dialog eingegeben werden.

8Geben Sie eine beliebige Zeichenfolge in den Horizon Login Dialog ein und klicken Sie auf „Login“

9Sie sind nun eingeloggt und haben Zugriff auf alle Anwendungen, die vom Horizon Administrator für diesen Nutzer freigegeben wurden.

Überblick und genutzte Ports

1 Der Nutzer loggt sich mit dem VMWare Connection Server ein

2 Der Horizon Connection Server nutzt den 2FA RADIUS Authenticator, der konfiguriert wurde, eine 2FA Anfrage durch den SecSign ID Proxy zu schicken.

3 Der SecSign ID RADIUS Proxy kontaktiert den SecSign ID Server. Der Proxy fragt beim SecSign ID Server an, ob die ID erfolgreich authentifiziert ist.

4 Der SecSign ID Server bestätigt den AD Nutzer und das Passwort gegen das AD.

5Der SecSign ID Server startet eine Authentifizierungssession (und sendet eine Mitteilung an das mobile Endgerät des Nutzers, wenn die mobile SecSign ID App genutzt wurde) und wartet auf den Nutzer, mit der Authentifizierung fortzufahren.

6 Der Nutzer authentifiziert mit dem lokal (Desktop oder mobil) abgespeicherten Schlüssel der SecSign ID App und akzeptiert die Loginanfrage.

7 Der SecSignID RADIUS Proxy erhält die Antwort vom ID Server, dass die Zwei-Faktor Authentifizierung erfolgreich war

8 Der SecSignID RADIUS Proxy sendet eine RADIUS Bestätigung an den Connection Server, welcher den Login Button aktiviert (hier muss der Nutzer eine beliebige Zeichenfolge angeben und auf „Login“ klicken“)

9 Die Authentifizierung war erfolgreich. Die VMWare Horizon erlaubt den Zugriff auf den Client.

Wenn der Nutzer sich extern mit dem Horizon VDI verbindet und auf das System durch das Internet zugreift:
Die externe Firewall muss den Zugriff zu sowohl den VMware Horizon Connection Server und den SecSign ID Server zulassen, in beiden Fällen über Port 443.

Alle anderen Verbindungen sollten über das interne Netzwerk stattfinden.

Der SecSign ID Standart Haupt HTTPS Port ist 28787. Wenn das Setup Windows nutzt und keine externe Firwall aktiv ist, soll der Port in den SecSign-ID-server.properties zu 443 geändert werden:

secsignidserver.port=443 

Der SecSign ID Server wird über diesen Port von der SecSign ID App und über das interne Netzwerk vom SecSign ID RADIUS Proxy kontaktiert. Zusätzlich wird der SecSign ID Server über den Port 25100 vom SecSign ID RADIUS Proxy kontaktiert.

Auf den SecSign ID RADIUS Proxy wird über den Default RADIUS Port 1812 zugegriffen. Dieser

The SecSignID RADIUS Proxy will be accessed over default RADIUS port 1812. Dieser Port kann auch in den SecSignIDRadiusProxy.properties geändert werden:
# server port for requests from RADIUS clients. Default: 1812.

secradiusproxy.radius.port=1812 

Ihr eigener ID Server

Die Inhouse Installation der SecSign ID bietet Ihnen die Flexibilität, dich mit Ihrem bevorzugten Server, Services und Geräten zu verbinden. Passen Sie die SecSignID Ihrer Unternehmensmarke an!

Mehr Erfahren
On Premise 2FA ID

Letzte Blog Einträge, Neuigkeiten & Funktionen

SecSign Portal Neuerungen

Die neuesten SecSign Portal Updates ermöglichen unseren Nutzern eine noch einfacherere und sicherere Bedienung. History Notiznotifikationen Dateien markieren Softkey Dateien beim Upload signieren Hochgeladene Da ...

Mehr Lesen

Zwei-Faktor Authentifizierung (2FA) vs. Zwei-Schritt Authentifizierung (2SA)

Zwei-Faktor Authentifizierung und Zwei-Schritt Authentifizierung sind zwei Möglichkeiten, den Login Ihrer Nutzer abzusichern. Beide Optionen können, abhängig von Ihren Anforderungen und Bedingungen, Ihren Nutzern eine sichere A ...

Mehr Lesen

Crowd SSO

Inhalt Vorbedingungen für die Einrichtung Installieren und Einrichten der einzelnen Komponenten als Server-Anwendung Einrichten von Crowd für die zentrale Benutzerverwaltung Einrichten der Applikation (z.B. JI ...

Mehr Lesen
SecSign 2FA