Bereitstellungshandbuch: Erfahren Sie, wie Sie Citrix Gateway für die Verwendung von nFactor zur Authentifizierung gegen einen RADIUS-Server für MFA konfigurieren

Übersicht

So konfigurieren Sie Citrix Gateway für die Verwendung von nFactor zur Authentifizierung gegen einen RADIUS-Server für die Multi-Faktor-Authentifizierung (MFA).

In diesem Artikel wird beschrieben, wie Sie Citrix ADC Gateway für die Verwendung der nFactor-Authentifizierung für die LDAP- und RADIUS-basierte Multifaktor-Authentifizierung konfigurieren, sowie allgemeine Techniken zur Fehlerbehebung.

In diesem Artikel gehen wir davon aus, dass Ihr Citrix ADC über eine Citrix Gateway-Implementierung und RADIUS- und LDAP-Server verfügt.

In diesem Artikel wird außerdem empfohlen, eine Verbindung zu Ihren RADIUS- und LDAP-Servern über virtuelle Server mit lokalem Lastausgleich herzustellen, und es wird davon ausgegangen, dass die Load Balancer Weitere Informationen zum Erstellen von virtuellen Load-Balancing-Servern und zum Konfigurieren der RADIUS-Persistenz auf einem Load Balancer finden Sie hier.

Überblick über RADIUS-Kommunikation

Der RADIUS-Kommunikationsfluss beginnt mit einem Access-Request-Paket vom Client, in diesem Fall dem Citrix ADC. Der RADIUS-Server validiert den Client und authentifiziert die in der Access-Request erhaltenen Anmeldeinformationen. Nach der Validierung antwortet der RADIUS-Server mit einem Zugriffs-Akzeptieren, Ablehnen oder einer Herausforderung, in der der Benutzer nach weiteren Details gefragt wird.

RADIUS_communication_image

RADIUS-Server haben eine Liste mit gültigen Clients und für jeden einen gemeinsamen Schlüssel. Ein RADIUS-Server ignoriert normalerweise Anfragen von ungültigen Clients, aber einige Implementierungen geben Authentifizierungsfehler zurück. Das Shared Secret verschlüsselt die Kennwortkomponente der Anmeldeinformationen. Wenn das Shared Secret falsch ist, lehnt der Server Passwörter immer ab, da sie nicht mit dem richtigen Wert entschlüsseln.

Standardmäßig sendet Citrix ADC RADIUS-Authentifizierungsanforderungen vom NSIP des aktiven HA-Knotens und zielt auf einen einzelnen RADIUS-Server ab.

RADIUS_NSIP_source_image

Anstatt die NSIPs beider ADCs in einem HA-Paar als Clients auf Ihren RADIUS-Servern zu definieren, empfiehlt Citrix, dass der ADC Authentifizierungsanforderungen über einen lokalen virtuellen Load Balancing-Server sendet. Der virtuelle Load Balancing-Server erhöht auch die Belastbarkeit Ihres Setups.

Wenn Citrix ADC RADIUS-Anfragen über einen lokalen virtuellen Load Balancing-Server sendet, verlassen die Anforderungen den ADC über ein SNIP. SNIPs sind Floating-IP und nur auf dem aktuellen primären HA-Knoten verfügbar.

Bei Verwendung eines virtuellen Load Balancing (LB) -Servers stellen die NSIPs der primären und sekundären HA-Knoten eine Anfrage an eine lokale VIP. Das LB VIP sendet mithilfe des SNIP des HA-Paars an den RADIUS-Server.

RADIUS_NSIP_to_VIP_to_SNIP_image

RADIUS-Tools zur Fehler

Während die meisten RADIUS-Implementierungen ohne ausgeführt werden, kann es hilfreich sein, die gängigsten Tools zur Fehlerbehebung zu verstehen.

Die “/tmp/aaad.debug” -Authentifizierungsdebug-Pipe auf dem Citrix ADC

Sie können Authentifizierungsereignisse auf dem Citrix ADC anzeigen, indem Sie die BSH-Shell mit “shell” aufrufen und dann die aaad.debug-Pipe mit “cat /tmp/aaad.debug” anzeigen.

Weitere Informationen zu “aaad.debug” finden Sie hier: https://support.citrix.com/article/CTX114999

NTRadPing

NTRadPingist ein RADIUS-Testtool eines Drittanbieters, mit dem Sie RADIUS-Authentifizierungsanforderungen generieren und die Antwort beobachten können. Sie können NTRadPing hier herunterladen:

Mit NTRadPing können Sie RADIUS-Authentifizierungsanfragen direkt von Ihrem Client an den RADIUS-Server senden und sicherstellen, dass dieser voll funktionsfähig ist. Auf dem RADIUS-Server müssen Sie die IP-Adresse Ihres Kunden und ein Shared Secret definieren. Sie benötigen außerdem Firewallregeln, damit Ihr Client mit dem RADIUS-Server kommunizieren kann.

Sie können NTRadPing auch verwenden, um Authentifizierungsanforderungen an den virtuellen LB-Server auf dem ADC zu senden, der sie an den RADIUS-Server weiterleitet. Da diese Anfragen vom ADC kommen, benötigen Sie in NTRadPing dasselbe Shared Secret wie ADC. Sie benötigen außerdem Firewallregeln, damit der Client mit dem virtuellen RADIUS LB-Server des ADC sprechen kann.

Durch das separate Testen jeder Komponente erkennt der Test, wo ein Fehler auftritt. Angenommen, Sie können erfolgreiche Anfragen manuell mit dem RADIUS des ADC senden. In diesem Fall wissen Sie, dass das Problem mit etwas davor liegt, wie der RADIUS-Serverdefinition auf Ihrem ADC, und Sie können Ihre Bemühungen konzentrieren.

RADIUS_test_locations_image

NTRadPing besteht aus zwei Dateien, die Sie aus der komprimierten Zip-Datei in dasselbe Verzeichnis extrahieren. Beim Start fordert NTRadPing auf zu:

  • Der RADIUS-Server und Port
  • Das RADIUS-Geheimnis
  • Ein Benutzername und ein Kennwort
  • Der Typ der Authentifizierungsanforderung

RADIUS_NTRadPing_image

Je nach dem Test, den Sie durchführen, verwenden Sie die IP-Adresse des RADIUS-Servers oder die des virtuellen LB-Servers des ADC als Ziel. Am häufigsten auf Port 1812.

Legen Sie ein RADIUS-Geheimnis für Ihren Kunden fest, wenn Sie Anfragen direkt senden. Wenn Sie Abfragen über den virtuellen LB-Server des ADC senden, um Authentifizierungsanforderungen vom Gateway nachzuahmen, verwenden Sie denselben gemeinsamen Schlüssel, für den Sie den ADC konfiguriert haben. Die Felder für den Benutzernamen und das Kennwort enthalten die Anmeldeinformationen, die der ADC voraussichtlich in Ihrem Namen an den RADIUS-Server sendet. Normalerweise enthält das Feld “Kennwort” den MFA-Token-Wert des Benutzers.

Wenn Sie auf “Senden” klicken, sendet NTRadPing eine Authentifizierungsanforderung von Ihrem Computer an das angegebene Ziel und zeigt die Antwort an (in der Regel ein Accept-Accept oder Access-Reject).

RADIUS_NTRadPing_accept_image

WireShark

Sie können die RADIUS-Anfrage und -Antwort in WireShark untersuchen, wenn Sie während des Authentifizierungsprozesses eine Paketverfolgung auf dem Citrix ADC durchführen.

WireShark ist der weltweit führende und am weitesten verbreitete Netzwerkprotokoll-Analysator. WireShark ist kostenlos und ohne hier erhältlich.

Die RADIUS-Filter von WireShark finden Sie hier.

Die Schritte zum Erstellen einer Paketverfolgung auf einem Citrix ADC finden Sie hier.

In WireShark sehen Sie ein Access-Request-Paket, gefolgt von einer Access-Accept-, Access-Reject- oder Access-Challenge-Antwort. Fehlende Antworten weisen häufig auf ein Kommunikationsproblem hin, z. B. fehlende Firewallregeln oder dass der RADIUS-Server keine Definition für den Client hat.

GUI Anweisungen

Angenommen, die Konfiguration auf Ihren RADIUS-Servern ist bereits abgeschlossen, führen Sie die folgenden Schritte für die MFA-Authentifizierung mit Citrix Gateway aus:

Aktivieren der Funktion Authentifizierung, Autorisierung und Überwachung (AAA)

  1. Wenn die AAA-Funktion noch nicht aktiviert ist, navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr, und klicken Sie mit der rechten Maustaste, um die Funktion zu aktivieren.
    Enable_AAA_image

Authentifizierungsserver hinzufügen

  1. Wählen Sie Sicherheit > AAA — Anwendungsverkehr, Richtlinien, Authentifizierung, Basisrichtlinien, RADIUSaus.
    Navigate_to_RADIUS_server_image

  2. Wählen Sie die Registerkarte Server und klicken Sie dann auf “Hinzufügen”.
    navigate_to_radius_server_image

  3. Füllen Sie die Details Ihres RADIUS-Servers aus

    Citrix empfiehlt, dass Sie nicht auf einen einzelnen RADIUS-Server abzielen, sondern stattdessen auf Ihren virtuellen Load Balancing-Server abzielen. Verwenden Sie daher die VIP Ihres RADIUS LB als Server-IP auf dieser Seite. Der geheime Schlüssel muss mit dem Wert auf Ihrem RADIUS-Server für das SNIP des ADC übereinstimmen. enable_AAA_image

  4. Wählen Sie Sicherheit > AAA — Anwendungsverkehr, Richtlinien, Authentifizierung, Basisrichtlinien, LDAPaus. Wählen Sie dann die Registerkarte “Server” und klicken Sie auf “Hinzufügen”.
    LDAP_server_image

  5. Füllen Sie Details Ihres LDAP-Ziels
    aus Wie RADIUS empfiehlt Citrix die Verwendung eines lokalen virtuellen Load Balancing (LB) -Servers als Ziel. Verwenden Sie daher die VIP Ihres virtuellen LDAP LB-Servers als Server-IP auf dieser Seite. RADIUS_server_details1_image RADIUS_server_details2_image

Erweiterte Authentifizierungsrichtlinien hinzufügen

  1. Wählen Sie Sicherheit > AAA — Anwendungsverkehr, Richtlinien, Authentifizierung, erweiterte Richtlinien, Richtlinieaus. Klicken Sie dann auf Hinzufügen.
    RADIUS_select_advanced_image

  2. Füllen Sie die Richtliniendetails wie gezeigt aus und klicken Sie dann auf “Erstellen”.
    RADIUS_server_details_image

  3. Wiederholen Sie den Schritt, um eine weitere Richtlinie für RADIUS zu erstellen, und klicken Sie dann auf Erstellen.
    LDAP_auth_pol_image

Erstellen Sie einen virtuellen AAA-Server

  1. Navigieren Sie zu Konfiguration > Sicherheit > AAA - Anwendungsverkehr > Virtuelle Server.
    RADIUS_auth_pol_image

  2. Klicken Sie auf Hinzufügen, um einen virtuellen Authentifizierungsserver zu erstellen.
    AAA_Virtueller Server_Add_Image

  3. Geben Sie die folgenden Informationen ein und klicken Sie auf OK.
    • Name — Name für den virtuellen AAA-Server.
    • IP-Adresstyp — Ändern Sie den IP-Adresstyp in Nicht adressierbar, da dieser virtuelle Server nur für Citrix Gateway verwendet wird.
      AAA_virtual server_details_image
  4. Wählen Sie unter Zertifikat “Kein Serverzertifikat” aus.
    AAA_virtual server_cert1_image

  5. Klicken Sie auf Zum Auswählen klicken, um das Serverzertifikat auszuwählen
    AAA_Cert_Binding_Image

  6. Klicken Sie auf das Optionsfeld neben einem Zertifikat für den AAA Virtual Server, und klicken Sie dann auf Auswählen. Das gewählte Zertifikat spielt keine Rolle, da auf diesen Server nicht direkt zugegriffen werden kann.
    AAA_cert_binding2_image

  7. Klicken Sie auf “Binden”.
    AAA_cert_binding3_image

  8. Klicken Sie auf “Weiter”, um den Abschnitt Zertifikat zu schließen.
    AAA_cert_binding4_image

  9. Klicken Sie in Erweiterte Authentifizierungsrichtlinien auf KeineAuthentifizierungsrichtlinie.
    AAA_virtual server_auth_image

  10. Klicken Sie unter dem Feld für Richtlinie auswählen auf Zum Auswählen klicken.
    AAA_virtual server_auth2_image

  11. Wählen Sie die Richtlinie “LDAP_Pol” aus und klicken Sie auf “Auswählen”.
    AAA_virtual server_auth3_image

  12. Klicken Sie unter dem Feld für Nächsten Faktor auswählen auf Zum Auswählen klicken.
    AAA_virtual server_auth4_image

  13. Klicken Sie in “Bezeichnungen für Authentifizierungsrichtlinien” auf “Hinzufügen”.
    AAA_Virtueller Server_auth5_image

  14. Geben Sie einen Namen für das Richtlinienlabel ein, mit dem der ADC die RADIUS-Authentifizierung auslöst, und klicken Sie auf “Weiter
    AAA_virtueller Server_Create_pol_image

  15. Klicken Sie unter dem Feld für Richtlinie auswählen auf Zum Auswählen klicken.
    AAA_Virtueller Server_pols1_image

  16. Wählen Sie die Richtlinie “Radius_Pol” aus und klicken Sie auf “Auswählen”.
    AAA_Virtueller Server_pols2_image

  17. Klicken Sie unten im Bildschirm “Create Authentication Policy Label” auf “Binden”.
    AAA_virtueller Server_Create_pol_image

  18. Klicken Sie unten im Bildschirm “Authentifizierungsrichtlinienlabel” auf “Fertig”.
    AAA_Virtueller Server_Radius_pol1_image

  19. Klicken Sie auf “Auswählen”.
    AAA_Virtueller Server_Radius_pol2_image

  20. Klicken Sie unten im Bildschirm “Richtlinienbindung” auf “Binden”.
    AAA_Virtueller Server_pollab_image

Wenden Sie ein Anmeldeschema an, das dem Benutzer einen Benutzernamen, ein Kennwort und ein Passcodefeld anzeigt

  1. Klicken Sie im Menü “Erweiterte Einstellungen” auf der rechten Seite auf “Anmeldeschemas”.
    AAA_Virtueller Server_cert6_image

  2. Klicken Sie auf “Kein Anmeldeschema”, um ein Fenster zur Auswahl des Schemas anzuzeigen.
    AAA_virtueller Server_loginschema_image

  3. Klicken Sie unter “Richtlinie auswählen” auf “Zur Auswahl klicken”.
    AAA_virtueller Server_loginschema_binding_image

  4. Wählen Sie die integrierte Richtlinie “lschema_dual_factor_builtin” aus und klicken Sie auf “Auswählen”.
    AAA_virtueller Server_loginschema_binding2_image

  5. Klicken Sie auf “Binden” und wählen Sie “Fertig”, um das Konfigurationsmenü für den virtuellen AAA-Server zu verlassen
    AAA_Virtueller Server_loginschema_binding3_image

Hinweis: Die Richtlinie “lschema_dual_factor_builtin” wurde in der ADC 13.0-Firmware hinzugefügt. Wenn Sie eine frühere Version verwenden, müssen Sie eine Richtlinie erstellen. Anweisungen zum Erstellen einer Richtlinie finden Sie hier.

Konfigurieren Sie Ihren virtuellen Gateway-Server für die Verwendung des neuen AAA-Servers

  1. Wählen Sie “Citrix Gateway, Virtual Servers”, wählen Sie dann Ihren virtuellen Gateway-Server aus und klicken Sie auf”Bearbeiten”.
    Gateway_virtual server_Image

  2. Wählen Sie “Authentifizierungsprofil” im Menü “Erweiterte Einstellungen” auf der rechten Seite.
    Gateway_virtual server1_image

  3. Wählen Sie im Abschnitt “Authentifizierungsprofil” die Option “Hinzufügen”.
    Gateway_virtual server2_image

  4. Geben Sie einen Namen für das neue Authentifizierungsprofil wie gezeigt ein und klicken Sie dann unter “Virtueller Authentifizierungsserver” auf “Zur Auswahl klicken”.
    Gateway_virtual server3_image

  5. Wählen Sie den virtuellen AAA-Server, den wir zuvor erstellt haben, und klicken Sie auf “Auswählen”.
    Gateway_virtual server4_image

  6. Klicken Sie auf “Erstellen”.
    Gateway_virtual server5_image

  7. Klicken Sie auf “OK”.
    Gateway_virtual server6_image

  8. Klicken Sie auf “Fertig”.
    Gateway_virtual server7_image

Tests durchführen

Sie können jetzt die Multi-Faktor-Authentifizierung auf Ihrem virtuellen Citrix Gateway-Server verwenden. Gateway_virtual server8_image

Wenn Sie auf Authentifizierungsprobleme stoßen, lesen Sie bitte den Abschnitt zur Fehlerbehebung in diesem Dokument.

CLI Anweisungen

Wenn Sie den ADC lieber mit der CLI konfigurieren möchten, führt das folgende Konfigurationsskript alle erforderlichen Schritte aus.

# 1. Enable AAA
en ns feature aaa

# 2. Creating LDAP Server
add authentication ldapAction LDAP_for_Gateway -serverIP LDAP_LB_IP -serverPort 636 -ldapBase "DC=citrix,DC=lab" -ldapBindDn readonly@citrix.lab -ldapBindDnPassword PASSWORD -ldapLoginName sAMAccountName -groupAttrName memberOf

# 3. Creating LDAP Policy
add authentication Policy LDAP_Pol -rule true -action LDAP_for_Gateway

# 4. Creating RADIUS Server
add authentication radiusAction RADIUS_Server -serverIP 192.168.1.100 -serverPort 1812 -radKey sharedsecret

# 5. Create RADIUS Policy
add authentication Policy RADIUS_Pol -rule true -action RADIUS_Server

# 6. Create a PolicyLabel triggering the RADIUS Policy
add authentication policylabel RADIUS_PolicyLabel -loginSchema LSCHEMA_INT
bind authentication policylabel RADIUS_PolicyLabel -policyName RADIUS_Pol -priority 100

# 7. Create the AAA virtual server
add authentication vserver nFactorAuthvServer SSL 0.0.0.0

# 8. Bind an SSL certificate to the AAA virtual server
bind ssl vserver nFactorAuthvServer -certkeyName "Example Cert"

# 9. Bind the LDAP policy and RADIUS PolicyLabel to the AAA virtual server
bind authentication vserver nFactorAuthvServer -policy LDAP_Pol -priority 100 -nextFactor RADIUS_PolicyLabel -gotoPriorityExpression NEXT

# 10. Bind the builtin Login Schema for dual factor authentication to the AAA virtual server
bind authentication vserver nFactorAuthvServer -policy lschema_dual_factor_builtin -priority 100 -gotoPriorityExpression END

# 11. Create an Authentication Profile attached to the AAA virtual server
add authentication authnProfile MFA_Authentication_Profile -authnVsName nFactorAuthvServer

# 12. Configure your existing Gateway virtual server to use the Authentication Profile
set vpn vserver "Steven Demo Gateway" -authnprofile "MFA_Authentication_Profile"
<!--NeedCopy-->