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 auf der Grundlage von clientseitigen Zertifikatsattributen zu konfigurieren, aktivieren Sie zunächst die Client-Authentifizierung auf dem virtuellen Traffic Management-Server und binden das Stammzertifikat an den virtuellen Authentifizierungsserver. Anschließend 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 NetScaler 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 an einem virtuellen Authentifizierungsserver anzumelden, für den keine Authentifizierungsrichtlinie konfiguriert ist, und keine globale Kaskade 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 angibt oder wenn die Extraktion des Benutzernamens fehlschlägt, 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
Konfigurieren Sie die Parameter des Client-Zertifikats mithilfe der GUI
-
Installieren Sie ein CA-Zertifikat und binden Sie es an einen virtuellen Authentifizierungsserver.
- Navigieren Sie zu Sicherheit > AAA — Anwendungsdatenverkehr > Virtuelle Server.
- Wählen Sie auf der daraufhin angezeigten Seite Virtuelle Authentifizierungsserver den virtuellen Server aus, den Sie für die Authentifizierung mit Clientzertifikaten konfigurieren möchten, und klicken Sie dann auf Bearbeiten.
- Navigieren Sie auf der Seite Virtueller Authentifizierungsserver zum Abschnitt Zertifikat und klicken Sie auf den Rechtspfeil „>“.
-
Wählen Sie auf der Seite CA Certificate Binding ein CA-Zertifikat aus, aktualisieren Sie die anderen erforderlichen Felder und klicken Sie auf Binden.
- Wenn kein CA-Zertifikat verfügbar ist, wählen Sie Hinzufügenaus.
- Aktualisieren Sie auf der Seite Zertifikat installieren die folgenden Felder und klicken Sie auf Installieren und dann auf Schließen.
- Name des Zertifikatsschlüsselpaars: Name für das Zertifikat und das Paar aus privatem Schlüssel
- Name der Zertifikatsdatei: Der Name der Zertifikatsdatei, die zur Bildung des Zertifikatsschlüsselpaars verwendet wird. Die Zertifikatsdatei muss auf der Festplatte oder dem Solid-State-Laufwerk des NetScalers vorhanden sein. Das Speichern eines Zertifikats an einem anderen Ort als dem Standardspeicherort kann zu Inkonsistenzen in einem Hochverfügbarkeits-Setup führen. Der Standardpfad ist /nsconfig/ssl/.
- Benachrichtigungszeitraum: Anzahl der Tage vor Ablauf des Zertifikats, an denen NetScaler den Administrator darüber informiert, dass das Zertifikat bald abläuft.
- Bei Ablauf benachrichtigen: Aktivieren Sie diese Option, um eine Warnung zu erhalten, wenn das Zertifikat bald abläuft.
- Sobald das CA-Zertifikat installiert ist, rufen Sie die Seite „ CA Certificate Binding “ auf und binden Sie es an einen virtuellen Authentifizierungsserver.
- Kehren Sie zur Seite Sicherheit > AAA — Anwendungsverkehr > Virtuelle Server zurück.
- Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Richtlinien > Authentifizierung > Grundrichtlinien > CERT.
- Wählen Sie die Richtlinie aus, die Sie für die Authentifizierung mit Client-Zertifikaten konfigurieren möchten, und klicken Sie dann auf Bearbeiten.
- Gehen Sie auf der Seite Configure Authentication CERT Policy zur Dropdownliste Server und wählen Sie den virtuellen Server aus, der für die Authentifizierung mit Client-Zertifikaten konfiguriert ist.
-
Klicken Sie auf OK.
Konfigurieren Sie die Parameter des Client-Zertifikats mithilfe der CLI
Geben Sie an der Befehlszeile 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-->
Konfigurieren Sie die erweiterten Authentifizierungsrichtlinien für Client-Zertifikate mithilfe der GUI
-
Installieren Sie das CA-Zertifikat und binden Sie es an ein Zertifikatsschlüsselpaar.
- Navigieren Sie zu Sicherheit > AAA — Anwendungsdatenverkehr > Virtuelle Server.
- Wählen Sie auf der daraufhin angezeigten Seite Virtuelle Authentifizierungsserver den virtuellen Server aus, den Sie für die Authentifizierung mit Clientzertifikaten konfigurieren möchten, und klicken Sie dann auf Bearbeiten.
- Navigieren Sie auf der Seite Virtueller Authentifizierungsserver zum Abschnitt Zertifikat und klicken Sie auf den Rechtspfeil „>“.
- Wählen Sie auf der Seite CA Certificate Binding ein CA-Zertifikat aus, aktualisieren Sie die anderen erforderlichen Felder und klicken Sie auf Binden.
- Wenn kein CA-Zertifikat verfügbar ist, wählen Sie Hinzufügenaus.
- Aktualisieren Sie auf der Seite Zertifikat installieren die folgenden Felder und klicken Sie auf Installieren und dann auf Schließen.
- Name des Zertifikatsschlüsselpaars: Name für das Zertifikat und das Paar aus privatem Schlüssel
- Name der Zertifikatsdatei: Der Name der Zertifikatsdatei, die zur Bildung des Zertifikatsschlüsselpaars verwendet wird. Die Zertifikatsdatei muss auf der Festplatte oder dem Solid-State-Laufwerk des NetScalers vorhanden sein. Das Speichern eines Zertifikats an einem anderen Ort als dem Standardspeicherort kann zu Inkonsistenzen in einem Hochverfügbarkeits-Setup führen. Der Standardpfad ist /nsconfig/ssl/.
- Benachrichtigungszeitraum: Anzahl der Tage vor Ablauf des Zertifikats, an denen NetScaler den Administrator darüber informiert, dass das Zertifikat bald abläuft.
- Bei Ablauf benachrichtigen: Aktivieren Sie diese Option, um eine Warnung zu erhalten, wenn das Zertifikat bald abläuft.
- Sobald das CA-Zertifikat installiert ist, wechseln Sie zur Seite CA Certificate Binding und wiederholen Sie Schritt 4.
-
Kehren Sie zur Seite Sicherheit > AAA — Anwendungsverkehr > Virtuelle Server zurück.
Hinweis:
Wenn Sie ein gültiges CA-Zertifikat und ein Serverzertifikat für den virtuellen Server importiert haben, können Sie die Schritte 1 und 2überspringen.
- Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinienund wählen Sie dann Richtlinieaus.
-
Führen Sie auf der Seite Authentifizierungsrichtlinien einen der folgenden Schritte aus:
- Um eine 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.
-
Geben Sie auf der Seite Authentifizierungsrichtlinie erstellen oder Authentifizierungsrichtlinie konfigurieren Werte für die Parameter ein, oder wählen Sie sie aus.
- Name: Name der Richtlinie. Sie können den Namen einer zuvor konfigurierten Richtlinie nicht ändern.
- Aktionstyp: Typ der Authentifizierungsaktion.
- Aktion: Name der Authentifizierungsaktion, die ausgeführt werden soll, wenn die Richtlinie übereinstimmt. Sie können eine vorhandene Authentifizierungsaktion auswählen oder auf Hinzufügen klicken und eine Aktion erstellen.
- Ausdruck: Die Regel, die Verbindungen auswählt, auf die Sie die von Ihnen 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 enthaltenen Dropdownlisten verwenden, um Ihren Ausdruck zu definieren.
- Aktion protokollieren: Name der Audit-Aktion, die verwendet werden soll, wenn eine Authentifizierungsanfrage dieser Richtlinie entspricht. Sie können eine bestehende Prüfungsaktion auswählen oder auf Hinzufügen klicken, um eine Aktion zu erstellen.
- Kommentar: Sie können einen Kommentar eingeben, der die Art des Datenverkehrs beschreibt, für den diese Authentifizierungsrichtlinie gilt. Das Feld ist optional.
- Klicken Sie auf Erstellen oder OK und dann auf Schließen.
Passthrough für Clientzertifikate
Der NetScaler 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 konfiguriert, indem entsprechende SSL-Richtlinien hinzugefügt werden.
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 Sie den Passthrough für Client-Zertifikate mithilfe der CLI
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 mit Clientzertifikaten zulässt, sie 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-->