Citrix ADC

Clientzertifikatauthentifizierung

Websites, die sensible Inhalte enthalten, wie Online-Banking-Websites oder Websites mit persönlichen Informationen des Mitarbeiters, erfordern manchmal Clientzertifikate für die Authentifizierung. Um Authentifizierung, Autorisierung und Überwachung für die Authentifizierung von Benutzern auf der Grundlage clientseitiger Zertifikatattribute zu konfigurieren, aktivieren Sie zuerst die Clientauthentifizierung auf dem virtuellen Server für die Datenverkehrsverwaltung 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 eine Zertifikataktion erstellen, die definiert, was der Citrix ADC für die Authentifizierung von Benutzern auf der Grundlage eines Clientzertifikats tun muss. In beiden Fällen muss Ihr Authentifizierungsserver CRLs unterstützen. Sie konfigurieren den ADC, um den Benutzernamen aus dem Feld SubjectCN oder einem anderen angegebenen Feld im Clientzertifikat zu extrahieren.

Wenn der Benutzer versucht, sich an einem virtuellen Authentifizierungsserver anzumelden, für den eine Authentifizierungsrichtlinie nicht 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. Wenn der Benutzer während des SSL-Handshakes kein gültiges Zertifikat bereitstellt oder wenn die Benutzernamenextraktion fehlschlägt, schlägt die Authentifizierung fehl. Nachdem das Clientzertifikat überprüft wurde, 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 und daher nur erklären, wie die Authentifizierung mithilfe von Clientzertifikaten aktiviert wird. Bei diesen Verfahren wird auch davon ausgegangen, dass Sie Ihr Stammzertifikat und die Clientzertifikate erhalten haben und sie im ADC im Verzeichnis /nsconfig/ssl platziert haben.

Konfigurieren der Clientzertifikatauthentifizierung

So konfigurieren Sie die Authentifizierungs-, Autorisierungs- und Auditing-Clientzertifikatparameter mit der 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> -vServer <certkeyName> -CA -crlCheck Mandatory

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 Überwachungsclient-Zertifikatsparameter mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zu Sicherheit > AAA - Anwendungsdatenverkehr > Virtuelle Server.
  2. Wählen Sie im Detailbereich den virtuellen Server aus, den Sie für die Clientzertifikatauthentifizierung konfigurieren möchten, und klicken Sie dann auf Bearbeiten.
  3. Klicken Sie auf der Seite Konfiguration unter Zertifikate auf den Pfeil nach rechts (>), um das Installationsdialogfeld von CA Cert Key zu öffnen.
  4. Klicken Sie im Dialogfeld CA-Zertifikatschlüssel auf Einfügen.
  5. Klicken Sie im Dialogfeld CA Cert Key - SSL-Zertifikate auf Installieren.
  6. Legen Sie im Dialogfeld Zertifikat installieren die folgenden Parameter fest, deren Namen den CLI-Parameternamen entsprechen, wie gezeigt:
    • Zertifikatschlüsselpaarname* — CertKeyName
    • Zertifikatsdateiname — certFile
    • Schlüsseldateiname — keyFile
    • Zertifikatformat — inform
    • Kennwort—password
    • Zertifikat-Bundle — bundle
    • Benachrichtigen, wenn abläuft — expiryMonitor
    • Benachrichtigungszeitraum — notificationPeriod
  7. Klicken Sie auf Installierenund dann auf Schließen.
  8. Wählen Sie im Dialogfeld Zertifizierungsstellenzerschlüssel in der Liste Zertifikat 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 Verarbeitung der Clientzertifikatauthentifizierung konfigurieren möchten, und klicken Sie dann auf Bearbeiten.
  13. Wählen Sie im Dialogfeld Authentifizierungs-CERT-Richtlinie konfigurieren in der Dropdownliste Server den virtuellen Server aus, den Sie gerade für die Clientzertifikatauthentifizierung konfiguriert haben.
  14. Klicken Sie auf OK. In der Statusleiste wird eine Meldung angezeigt, die besagt, dass die Konfiguration erfolgreich abgeschlossen wurde.

Clientzertifikatauthentifizierung mit erweiterten

Im Folgenden finden Sie die Schritte zum Konfigurieren der Clientzertifikatauthentifizierung auf Citrix ADC mit erweiterten Richtlinien.

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

    Hinweis:

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

  3. Klicken Sie auf der Seite Konfiguration unter Zertifikate auf >, um das Installationsdialogfeld CA Cert Key zu öffnen.
  4. Klicken Sie im Dialogfeld Zertifizierungsstellenschlüssel auf Einfügen.
  5. Klicken Sie im Dialogfeld Zertifizierungsstellenschlüssel - SSL-Zertifikate auf Installieren.
  6. Legen Sie im Dialogfeld Zertifikat installieren die folgenden Parameter fest, deren Namen den CLI-Parameternamen entsprechen, wie gezeigt:

    • Zertifikatschlüsselpaarname — certkeyName
    • Zertifikatsdateiname — certFile
    • Schlüsseldateiname — keyFile
    • Zertifikatformat — inform
    • Kennwort—password
    • Zertifikat-Bundle — bundle
    • Benachrichtigen, wenn abläuft — expiryMonitor
    • Benachrichtigungszeitraum — notificationPeriod
  7. Klicken Sie auf Installierenund dann auf Schließen.
  8. Wählen Sie im Dialogfeld Zertifizierungsstellenzerschlüssel in der Liste Zertifikat 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 - Anwendungsdatenverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien, und wählen Sie dann Richtlinieaus.
  12. Führen Sie im Detailbereich eine der folgenden Aktionen 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 Sie 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 Richtlinienname 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.
    • Aktion protokollieren - Die Audit-Aktion, die mit der Richtlinie verknüpft werden soll. Sie können eine vorhandene Überwachungsaktion auswählen oder auf das Plus klicken und eine neue Aktion erstellen.
    • Ausdruck - Die Regel, die Verbindungen auswählt, auf die Sie die von Ihnen angegebene Aktion anwenden möchten. Die Regel kann einfach sein (true wählt den gesamten Datenverkehr) oder komplex. Sie geben Ausdrücke ein, indem Sie zuerst den Ausdruckstyp in der Dropdownliste ganz links unterhalb des Ausdrucksfensters auswählen und dann den Ausdruck direkt in den Ausdruckstextbereich eingeben, oder indem Sie auf Hinzufügen klicken, um das Dialogfeld Ausdruck hinzufügen zu öffnen, und verwenden Sie die Dropdownlisten darin, um Ihre Ausdruck.)
    • Kommentar - Sie können einen Kommentar eingeben, der den Typ des Datenverkehrs beschreibt, auf den diese Authentifizierungsrichtlinie angewendet wird. 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.

Clientzertifikat-Pass-Through

Citrix ADC kann jetzt so konfiguriert werden, dass Clientzertifikate an geschützte Anwendungen weitergeleitet 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 Clientzertifikate akzeptiert werden, diese jedoch nicht benötigt werden, fügt der ADC das Zertifikat in die Anforderung ein und leitet die Anforderung dann an die geschützte Anwendung weiter.
  • Wenn der virtuelle VPN-Server die Clientzertifikatauthentifizierung deaktiviert hat, verhandelt der ADC das Authentifizierungsprotokoll neu und authentifiziert den Benutzer neu, 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 die Clientzertifikatauthentifizierung erforderlich ist, verwendet der ADC das Clientzertifikat, um den Benutzer zu authentifizieren, fügt das Zertifikat dann in den Header ein und leitet die Anforderung an die geschützte Anwendung weiter.

In allen diesen Fällen konfigurieren Sie den Pass-Through des Clientzertifikats wie folgt.

Erstellen und Konfigurieren von Clientzertifikat-Passthrough mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:

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

Ersetzen Sie als Name 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 für <IP>die dem virtuellen Server zugewiesene IP-Adresse.

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

Für <name>ersetzen Sie den Namen des virtuellen Servers, den Sie gerade erstellt haben. Ersetzen Sie für <clientCert>einen der folgenden Werte:

  • disabled: Deaktiviert die Clientzertifikatauthentifizierung auf dem virtuellen VPN-Server.
  • mandatory: Konfiguriert den virtuellen VPN-Server so, dass Clientzertifikate authentifiziert werden müssen.
  • optional: Konfiguriert den virtuellen VPN-Server so, dass er die Clientzertifikatsauthentifizierung zulässt, jedoch nicht erforderlich ist.
bind vpn vserver <name> -policy local
<!--NeedCopy-->

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

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

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

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

Ersetzen Sie für <name>den Namen des virtuellen Servers, den Sie erstellt haben. Ersetzen Sie für <certkeyName>den Client-Zertifikatschlüssel.

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

Ersetzen Sie für <name>den Namen des virtuellen Servers, den Sie erstellt haben. Ersetzen Sie für <cacertkeyName>den CA-Zertifikatschlüssel.

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

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

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

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

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

Ersetzen Sie für <name>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-->
Clientzertifikatauthentifizierung