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-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.
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-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.
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
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).
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)
- 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.
Authentifizierungsserver hinzufügen
-
Wählen Sie Sicherheit > AAA — Anwendungsverkehr, Richtlinien, Authentifizierung, Basisrichtlinien, RADIUSaus.
-
Wählen Sie die Registerkarte Server und klicken Sie dann auf “Hinzufügen”.
-
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. -
Wählen Sie Sicherheit > AAA — Anwendungsverkehr, Richtlinien, Authentifizierung, Basisrichtlinien, LDAPaus. Wählen Sie dann die Registerkarte “Server” und klicken Sie auf “Hinzufügen”.
-
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.
Erweiterte Authentifizierungsrichtlinien hinzufügen
-
Wählen Sie Sicherheit > AAA — Anwendungsverkehr, Richtlinien, Authentifizierung, erweiterte Richtlinien, Richtlinieaus. Klicken Sie dann auf Hinzufügen.
-
Füllen Sie die Richtliniendetails wie gezeigt aus und klicken Sie dann auf “Erstellen”.
-
Wiederholen Sie den Schritt, um eine weitere Richtlinie für RADIUS zu erstellen, und klicken Sie dann auf Erstellen.
Erstellen Sie einen virtuellen AAA-Server
-
Navigieren Sie zu Konfiguration > Sicherheit > AAA - Anwendungsverkehr > Virtuelle Server.
-
Klicken Sie auf Hinzufügen, um einen virtuellen Authentifizierungsserver zu erstellen.
- Geben Sie die folgenden Informationen ein und klicken Sie auf OK.
-
Klicken Sie auf Zum Auswählen klicken, um das Serverzertifikat auszuwählen
-
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.
-
Klicken Sie auf “Weiter”, um den Abschnitt Zertifikat zu schließen.
-
Klicken Sie in Erweiterte Authentifizierungsrichtlinien auf KeineAuthentifizierungsrichtlinie.
-
Klicken Sie unter dem Feld für Richtlinie auswählen auf Zum Auswählen klicken.
-
Wählen Sie die Richtlinie “LDAP_Pol” aus und klicken Sie auf “Auswählen”.
-
Klicken Sie unter dem Feld für Nächsten Faktor auswählen auf Zum Auswählen klicken.
-
Klicken Sie in “Bezeichnungen für Authentifizierungsrichtlinien” auf “Hinzufügen”.
-
Geben Sie einen Namen für das Richtlinienlabel ein, mit dem der ADC die RADIUS-Authentifizierung auslöst, und klicken Sie auf “Weiter”
-
Klicken Sie unter dem Feld für Richtlinie auswählen auf Zum Auswählen klicken.
-
Wählen Sie die Richtlinie “Radius_Pol” aus und klicken Sie auf “Auswählen”.
-
Klicken Sie unten im Bildschirm “Create Authentication Policy Label” auf “Binden”.
-
Klicken Sie unten im Bildschirm “Authentifizierungsrichtlinienlabel” auf “Fertig”.
-
Klicken Sie unten im Bildschirm “Richtlinienbindung” auf “Binden”.
Wenden Sie ein Anmeldeschema an, das dem Benutzer einen Benutzernamen, ein Kennwort und ein Passcodefeld anzeigt
-
Klicken Sie im Menü “Erweiterte Einstellungen” auf der rechten Seite auf “Anmeldeschemas”.
-
Klicken Sie auf “Kein Anmeldeschema”, um ein Fenster zur Auswahl des Schemas anzuzeigen.
-
Klicken Sie unter “Richtlinie auswählen” auf “Zur Auswahl klicken”.
-
Wählen Sie die integrierte Richtlinie “lschema_dual_factor_builtin” aus und klicken Sie auf “Auswählen”.
-
Klicken Sie auf “Binden” und wählen Sie “Fertig”, um das Konfigurationsmenü für den virtuellen AAA-Server zu verlassen
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
-
Wählen Sie “Citrix Gateway, Virtual Servers”, wählen Sie dann Ihren virtuellen Gateway-Server aus und klicken Sie auf”Bearbeiten”.
-
Wählen Sie “Authentifizierungsprofil” im Menü “Erweiterte Einstellungen” auf der rechten Seite.
-
Wählen Sie im Abschnitt “Authentifizierungsprofil” die Option “Hinzufügen”.
-
Geben Sie einen Namen für das neue Authentifizierungsprofil wie gezeigt ein und klicken Sie dann unter “Virtueller Authentifizierungsserver” auf “Zur Auswahl klicken”.
-
Wählen Sie den virtuellen AAA-Server, den wir zuvor erstellt haben, und klicken Sie auf “Auswählen”.
Tests durchführen
Sie können jetzt die Multi-Faktor-Authentifizierung auf Ihrem virtuellen Citrix Gateway-Server verwenden.
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-->
In diesem Artikel
- Übersicht
- Überblick über RADIUS-Kommunikation
- RADIUS-Tools zur Fehler
- GUI Anweisungen
- Erweiterte Authentifizierungsrichtlinien hinzufügen
- Erstellen Sie einen virtuellen AAA-Server
- Wenden Sie ein Anmeldeschema an, das dem Benutzer einen Benutzernamen, ein Kennwort und ein Passcodefeld anzeigt
- Konfigurieren Sie Ihren virtuellen Gateway-Server für die Verwendung des neuen AAA-Servers
- Tests durchführen
- CLI Anweisungen