Citrix ADC

Clientzertifikatauthentifizierung

Websites, die vertrauliche Inhalte enthalten, wie Online-Banking-Websites oder Websites mit persönlichen Daten von Mitarbeitern, benötigen manchmal Kundenzertifikate zur Authentifizierung. Um Authentifizierung, Autorisierung und Überwachung für die Authentifizierung von Benutzern basierend auf clientseitigen Zertifikatattributen zu konfigurieren, aktivieren Sie zunächst die Clientauthentifizierung auf dem virtuellen Verkehrsmanagementserver und binden das Stammzertifikat an den virtuellen Authentifizierungsserver. Dann implementieren Sie eine von zwei Optionen. Sie können den Standardauthentifizierungstyp auf dem virtuellen Authentifizierungsserver als CERT konfigurieren, oder Sie können eine Zertifikataktion erstellen, die definiert, was der Citrix ADC tun muss, um Benutzer basierend auf einem Clientzertifikat zu authentifizieren. In beiden Fällen muss Ihr Authentifizierungsserver CRLs unterstützen. Sie konfigurieren den ADC so, dass er den Benutzernamen aus dem Feld subjectCN oder einem anderen angegebenen Feld im Clientzertifikat extrahiert.

Wenn der Benutzer versucht, sich bei einem virtuellen Authentifizierungsserver anzumelden, für den keine Authentifizierungsrichtlinie konfiguriert ist, und eine globale Kaskade nicht konfiguriert ist, werden die Benutzernameninformationen aus dem angegebenen Feld des Zertifikats extrahiert. Wenn das erforderliche Feld extrahiert wird, ist die Authentifizierung erfolgreich. Stellt der Benutzer während des SSL-Handshakes kein gültiges Zertifikat zur Verfügung oder schlägt die Extraktion des Benutzernamens fehl, schlägt die Authentifizierung fehl. Nach der Validierung des Clientzertifikats zeigt der ADC dem Benutzer eine Anmeldeseite an.

Bei den folgenden Verfahren wird davon ausgegangen, dass Sie bereits eine funktionierende Authentifizierungs-, Autorisierungs- und Überwachungskonfiguration erstellt haben. Daher wird nur erläutert, wie die Authentifizierung mithilfe von Clientzertifikaten aktiviert wird. Bei diesen Verfahren wird auch davon ausgegangen, dass Sie Ihr Root-Zertifikat und Ihre Clientzertifikate erhalten und diese auf dem ADC im Verzeichnis /nsconfig/ssl abgelegt haben.

Konfigurieren der Clientzertifikatauthentifizierung

So konfigurieren Sie die Authentifizierungs-, Autorisierungs- und Auditing-Zertifikatsparameter des Clients über die Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle in der angegebenen Reihenfolge ein, um das Zertifikat zu konfigurieren und die Konfiguration zu überprüfen:

add ssl certKey <certkeyName> -cert <certFile> -key <keyFile> -password -inform <inform> -expiryMonitor <expiryMonitor> -notificationPeriod <notificationPeriod>

bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]

show ssl certKey [<certkeyName>]

set aaa parameter -defaultAuthType CERT

show aaa parameter

set aaa certParams -userNameField "Subject:CN"

show aaa certParams
<!--NeedCopy-->

So konfigurieren Sie die Authentifizierungs-, Autorisierungs- und Auditing-Clientzertifikatparameter mithilfe des Konfigurationsdienstprogramms

  1. Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Virtuelle Server.
  2. Wählen Sie im Detailbereich den virtuellen Server aus, den Sie für die Authentifizierung von Clientzertifikaten konfigurieren möchten, und klicken Sie dann auf Bearbeiten.
  3. Klicken Sie auf der Seite Konfiguration unter Certificatesauf den Rechtspfeil (>), um das CA Cert Key-Installationsdialogfeld zu öffnen.
  4. Klicken Sie im Dialogfeld CA Cert Key auf Insert.
  5. Klicken Sie im Dialogfeld CA Cert Key — SSL Certificates auf Install.
  6. Legen Sie im Dialogfeld Zertifikat installieren die folgenden Parameter fest, deren Namen den CLI-Parameternamen entsprechen, wie in der Abbildung gezeigt:
    • Name des Zertifikatschlüsselpaars* — certkeyName
    • Dateiname des Zertifikats — certFile
    • Name der Schlüsseldatei — keyFile
    • Zertifikatsformat — inform
    • Kennwort — password
    • Zertifikatspaket — bundle
    • Bei Ablauf benachrichtigen — expiryMonitor
    • Meldezeitraum — notificationPeriod
  7. Klicken Sie auf Installieren, und klicken Sie dann auf Schließen.
  8. Wählen Sie im Dialogfeld CA Cert Key in der Liste Certificate das Stammzertifikat aus.
  9. Klicken Sie auf Speichern.
  10. Klicken Sie auf Zurück, um zum Hauptkonfigurationsbildschirm zurückzukehren.
  11. Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Richtlinien > Authentifizierung > CERT.
  12. Wählen Sie im Detailbereich die Richtlinie aus, die Sie für die Authentifizierung von Clientzertifikaten konfigurieren möchten, und klicken Sie dann auf Bearbeiten.
  13. Wählen Sie im Dialogfeld Configure Authentication CERT Policy in der Dropdownliste Server den virtuellen Server aus, den Sie für die Authentifizierung von Clientzertifikaten konfiguriert haben.
  14. Klicken Sie auf OK. In der Statusleiste wird eine Meldung angezeigt, die besagt, dass die Konfiguration erfolgreich abgeschlossen wurde.

Authentifizierung von Clientzertifikaten mithilfe erweiterter Richtlinien

Im Folgenden finden Sie die Schritte zum Konfigurieren der Clientzertifikatauthentifizierung auf Citrix ADC mithilfe erweiterter Richtlinien.

  1. Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Virtuelle Server.
  2. Wählen Sie im Detailbereich den virtuellen Server aus, den Sie für die Authentifizierung von Clientzertifikaten konfigurieren möchten, und klicken Sie auf Bearbeiten.

    Hinweis:

    Wenn Sie ein gültiges CA-Zertifikat und ein Serverzertifikat für den virtuellen Server importiert haben, können Sie Schritt 3 bis Schritt 10überspringen.

  3. Klicken Sie auf der Seite Configuration unter Certificatesauf **, um das **CA Cert Key-Installationsdialogfeld zu öffnen.
  4. Klicken Sie im Dialogfeld CA Cert Key auf Insert.
  5. Klicken Sie im Dialogfeld CA Cert Key — SSL Certificates auf Install.
  6. Legen Sie im Dialogfeld Zertifikat installieren die folgenden Parameter fest, deren Namen den CLI-Parameternamen entsprechen, wie in der Abbildung gezeigt:

    • Name des Zertifikatschlüsselpaars — certKeyName
    • Dateiname des Zertifikats — certFile
    • Name der Schlüsseldatei — keyFile
    • Zertifikatsformat — inform
    • Kennwort — password
    • Zertifikatspaket — bundle
    • Bei Ablauf benachrichtigen — expiryMonitor
    • Meldezeitraum — notificationPeriod
  7. Klicken Sie auf Installierenund dann auf Schließen.
  8. Wählen Sie im Dialogfeld CA Cert Key in der Liste Certificate das Stammzertifikat aus.
  9. Klicken Sie auf Speichern.
  10. Klicken Sie auf Zurück, um zum Hauptkonfigurationsbildschirm zurückzukehren.
  11. Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien, und wählen Sie dann Richtlinieaus.
  12. Führen Sie im Detailbereich einen der folgenden Schritte aus:

    • Um eine neue Richtlinie zu erstellen, klicken Sie auf Hinzufügen.
    • Um eine vorhandene Richtlinie zu ändern, wählen Sie die Richtlinie aus und klicken dann auf Bearbeiten.
  13. Geben Sie im Dialogfeld Authentifizierungsrichtlinie erstellen oder Authentifizierungsrichtlinie konfigurieren Werte für die Parameter ein oder wählen Sie sie aus.

    • Name — Der Name der Richtlinie. Für eine zuvor konfigurierte Richtlinie kann nicht geändert werden.
    • Aktionstyp — Zertifikat auswählen
    • Aktion - Die Authentifizierungsaktion (Profil), die mit der Richtlinie verknüpft werden soll. Sie können eine vorhandene Authentifizierungsaktion auswählen oder auf das Plus klicken und eine neue Aktion des richtigen Typs erstellen.
    • Protokollaktion — Die mit der Richtlinie zu verknüpfen Überwachungsaktion. Sie können eine vorhandene Überprüfungsaktion auswählen oder auf das Plus klicken und eine neue Aktion erstellen.
    • Ausdruck — Die Regel, die Verbindungen auswählt, auf die Sie die angegebene Aktion anwenden möchten. Die Regel kann einfach (“wahr” wählt den gesamten Verkehr aus) oder komplex sein. Sie geben Ausdrücke ein, indem Sie zuerst den Ausdruckstyp in der Dropdownliste ganz links unter dem Ausdrucksfenster auswählen und dann Ihren Ausdruck direkt in den Ausdruckstextbereich eingeben, oder indem Sie auf Hinzufügen klicken, um das Dialogfeld Ausdruck hinzufügen zu öffnen, und die darin bezeichnenden Dropdownlisten verwenden, um Ihre Ausdruck.)
    • Kommentar - Sie können einen Kommentar eingeben, der die Art des Datenverkehrs beschreibt, für den diese Authentifizierungsrichtlinie gilt. Optional.
  14. Klicken Sie auf Erstellen oder OKund dann auf Schließen. Wenn Sie eine Richtlinie erstellt haben, wird diese Richtlinie auf der Seite Authentifizierungsrichtlinien und Server angezeigt.

Passthrough für Clientzertifikate

Der Citrix ADC kann jetzt so konfiguriert werden, dass Clientzertifikate an geschützte Anwendungen weitergegeben werden, die Clientzertifikate für die Benutzerauthentifizierung benötigen. Der ADC authentifiziert zuerst den Benutzer, fügt dann das Clientzertifikat in die Anforderung ein und sendet es an die Anwendung. Diese Funktion wird durch Hinzufügen geeigneter SSL-Richtlinien konfiguriert.

Das genaue Verhalten dieser Funktion, wenn ein Benutzer ein Clientzertifikat vorlegt, hängt von der Konfiguration des virtuellen VPN-Servers ab.

  • Wenn der virtuelle VPN-Server so konfiguriert ist, dass er Clientzertifikate akzeptiert, diese aber nicht benötigt, fügt der ADC das Zertifikat in die Anforderung ein und leitet die Anfrage dann an die geschützte Anwendung weiter.
  • Wenn auf dem virtuellen VPN-Server die Authentifizierung des Clientzertifikats deaktiviert ist, verhandelt der ADC das Authentifizierungsprotokoll neu und authentifiziert den Benutzer erneut, bevor er das Clientzertifikat in den Header einfügt und die Anforderung an die geschützte Anwendung weiterleitet.
  • Wenn der virtuelle VPN-Server so konfiguriert ist, dass er eine Authentifizierung des Clientzertifikats erfordert, verwendet der ADC das Clientzertifikat, um den Benutzer zu authentifizieren, fügt dann das Zertifikat in den Header ein und leitet die Anforderung an die geschützte Anwendung weiter.

In all diesen Fällen konfigurieren Sie das Passthrough des Clientzertifikats wie folgt.

Erstellen und Konfigurieren des Passthrough für Clientzertifikate über die Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:

add vpn vserver <name> SSL <IP> 443
<!--NeedCopy-->

Ersetzen Sie Name durch einen Namen für den virtuellen Server. Der Name muss aus einem bis 127 ASCII-Zeichen bestehen, beginnend mit einem Buchstaben oder Unterstrich (_) und nur Buchstaben, Zahlen und Unterstrich, Hash (#), Punkt (.), Leerzeichen, Doppelpunkt (:), at (@), equals (=) und Bindestrich (-). Ersetzen Sie <IP> durch die dem virtuellen Server zugewiesene IP-Adresse.

set ssl vserver <name> -clientAuth ENABLED -clientCert <clientcert>
<!--NeedCopy-->

Ersetzen Sie <name> durch den Namen des virtuellen Servers, den Sie erstellt haben. Ersetzen Sie <clientCert> durch einen der folgenden Werte:

  • disabled — Deaktiviert die Authentifizierung des Clientzertifikats auf dem virtuellen VPN-Server.
  • mandatory — konfiguriert den virtuellen VPN-Server so, dass Clientzertifikate für die Authentifizierung erforderlich sind.
  • optional — konfiguriert den virtuellen VPN-Server so, dass er die Authentifizierung des Clientzertifikats zulässt, diese aber nicht erfordert.
bind vpn vserver <name> -policy local
<!--NeedCopy-->

Ersetzen Sie <name> durch den Namen des virtuellen VPN-Servers, den Sie erstellt haben.

bind vpn vserver <name> -policy cert
<!--NeedCopy-->

Ersetzen Sie <name> druch den Namen des virtuellen VPN-Servers, den Sie erstellt haben.

bind ssl vserver <name> -certkeyName <certkeyname>
<!--NeedCopy-->

Ersetzen Sie <name> durch den Namen des virtuellen Servers, den Sie erstellt haben. Ersetzen Sie <certkeyName> druch den Schlüssel des Clientzertifikats.

bind ssl vserver <name> -certkeyName <cacertkeyname> -CA -ocspCheck Optional
<!--NeedCopy-->

Ersetzen Sie <name> durch den Namen des virtuellen Servers, den Sie erstellt haben. Ersetzen Sie <cacertkeyName> durch den Schlüssel des CA-Zertifikats.

add ssl action <actname> -clientCert ENABLED -certHeader CLIENT-CERT
<!--NeedCopy-->

Ersetzen Sie <actname> durch einen Namen für die SSL-Aktion.

add ssl policy <polname> -rule true -action <actname>
<!--NeedCopy-->

Ersetzen Sie <polname> durch einen Namen für Ihre neue SSL-Richtlinie. Ersetzen Sie <actname> durch den Namen der SSL-Aktion, die Sie erstellt haben.

bind ssl vserver <name> -policyName <polname> -priority 10
<!--NeedCopy-->

Ersetzen Sie <name> durch den Namen des virtuellen VPN-Servers.

Beispiel

add vpn vserver vs-certpassthru SSL 10.121.250.75 443
set ssl vserver vs-certpassthru -clientAuth ENABLED -clientCert optional
bind vpn vserver vs-certpassthru -policy local
bind vpn vserver vs-certpassthru -policy cert
bind ssl vserver vs-certpassthru -certkeyName mycertKey
bind ssl vserver vs-certpassthru -certkeyName mycertKey -CA -ocspCheck Optional
add ssl action act-certpassthru -clientCert ENABLED -certHeader CLIENT-CERT
add ssl policy pol-certpassthru -rule true -action act-certpassthru
bind ssl vserver vs-certpassthru -policyName pol-certpassthru -priority 10
<!--NeedCopy-->