ADC

Clientauthentifizierung oder Mutual TLS (mTLS)

In einer typischen SSL-Transaktion prüft der Client, der über eine sichere Verbindung mit einem Server eine Verbindung herstellt, die Gültigkeit des Servers. Dazu prüft es das Zertifikat des Servers, bevor die SSL-Transaktion initiiert wird. Manchmal möchten Sie den Server jedoch so konfigurieren, dass er den Client authentifiziert, der eine Verbindung zu ihm herstellt.

Wenn die Clientauthentifizierung auf einem virtuellen SSL-Server aktiviert ist, fragt die NetScaler-Appliance während des SSL-Handshakes nach dem Clientzertifikat. Die Appliance prüft das vom Client vorgelegte Zertifikat auf normale Einschränkungen wie die Signatur des Ausstellers und das Ablaufdatum.

Ab Version 13.1 Build 42.x unterstützt die NetScaler Appliance die Validierung signaturübergreifender Zertifikate. Das heißt, wenn ein Zertifikat von mehreren Ausstellern signiert wurde, ist die Überprüfung erfolgreich, wenn mindestens ein gültiger Pfad zum Stammzertifikat vorhanden ist. Wenn eines der Zertifikate in der Zertifikatskette quersigniert war und mehrere Pfade zum Stammzertifikat hatte, suchte die ADC-Appliance früher nur nach einem Pfad. Und wenn dieser Pfad nicht gültig war, schlug die Überprüfung fehl.

Hinweis Damit

die Appliance die Signaturen des Ausstellers überprüfen kann, muss das Zertifikat der Zertifizierungsstelle, die das Clientzertifikat ausgestellt hat, wie folgt lauten:

  • Auf dem Gerät installiert.
  • An den virtuellen Server gebunden, mit dem der Client Transaktionen durchführt.

Wenn das Zertifikat gültig ist, ermöglicht die Appliance dem Client den Zugriff auf alle sicheren Ressourcen. Wenn das Zertifikat jedoch ungültig ist, löscht die Appliance die Clientanforderung während des SSL-Handshakes.

Die Appliance überprüft das Clientzertifikat, indem sie zuerst eine Kette von Zertifikaten bildet, beginnend mit dem Clientzertifikat und endend mit dem Stammzertifizierungsstellenzertifikat für den Client (z. B. Verisign). Das Stammzertifizierungsstellenzertifikat kann ein oder mehrere zwischengeschaltete CA-Zertifikate enthalten (wenn die Stammzertifizierungsstelle das Clientzertifikat nicht direkt ausstellt).

Bevor Sie die Clientauthentifizierung auf der NetScaler-Appliance aktivieren, stellen Sie sicher, dass ein gültiges Clientzertifikat auf dem Client installiert ist. Aktivieren Sie dann die Clientauthentifizierung für den virtuellen Server, der die Transaktionen abwickelt. Binden Sie abschließend das Zertifikat der Zertifizierungsstelle, die das Clientzertifikat ausgestellt hat, an den virtuellen Server auf der Appliance.

Hinweis: Eine NetScaler MPX-Appliance unterstützt eine Zertifikatsschlüsselpaargröße von 512 Bit bis 4096 Bit. Das Zertifikat muss mit einem der folgenden Hash-Algorithmen signiert werden:

  • MD5
  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512

Wenn auf einer SDX-Appliance ein SSL-Chip einer VPX-Instanz zugewiesen ist, gilt die Unterstützung der Zertifikatsschlüsselpaargröße einer MPX-Appliance. Andernfalls gilt die normale Unterstützung der Zertifikat-Schlüssel-Paargröße einer VPX-Instanz.

Eine virtuelle NetScaler-Appliance (VPX-Instanz) unterstützt Zertifikate mit mindestens 512 Bit bis zu den folgenden Größen:

  • 4096-Bit-Serverzertifikat auf dem virtuellen Server
  • 4096-Bit-Clientzertifikat im Dienst
  • 4096-Bit-CA-Zertifikat
  • 4096-Bit-Zertifikat auf dem physischen Server

Die folgende Tabelle zeigt die von NetScaler unterstützten RSASSA-PSS-Parametersätze. RSASSA-PSS-Algorithmen werden bei der X.509-Zertifikatspfadvalidierung unterstützt.

OID für öffentlichen Schlüssel Maskengenerierungsfunktion (MGF) MGF-Digest-Funktion Signature-Digest-Funktion Salt-Länge
rsaEncryption MGF1 SHA-256 SHA-256 32 Byte
rsaEncryption MGF1 SHA-384 SHA-384 48 Byte
rsaEncryption MGF1 SHA-512 SHA-512 64 Byte

Hinweise:

Bereitstellen des Clientzertifikats

Bevor Sie die Clientauthentifizierung konfigurieren, muss ein gültiges Clientzertifikat auf dem Client installiert sein. Ein Clientzertifikat enthält Details zum spezifischen Clientsystem, das sichere Sitzungen mit der NetScaler-Appliance erstellt. Jedes Clientzertifikat ist eindeutig und darf nur von einem Clientsystem verwendet werden.

Unabhängig davon, ob Sie das Clientzertifikat von einer Zertifizierungsstelle erhalten, ein vorhandenes Clientzertifikat verwenden oder ein Clientzertifikat auf der NetScaler-Appliance generieren, müssen Sie das Zertifikat in das richtige Format konvertieren. Auf der NetScaler-Appliance werden Zertifikate entweder im PEM- oder DER-Format gespeichert und müssen in das PKCS #12 -Format konvertiert werden, bevor sie auf dem Clientsystem installiert werden. Nachdem Sie das Zertifikat konvertiert und auf das Clientsystem übertragen haben, stellen Sie sicher, dass es auf diesem System installiert und für die Clientanwendung konfiguriert ist. Die Anwendung, z. B. ein Webbrowser, muss Teil der SSL-Transaktionen sein.

Anweisungen zum Konvertieren eines Zertifikats aus dem PEM- oder DER-Format in das PKCS #12 -Format finden Sie unter Importieren und Konvertieren von SSL-Dateien.

Anweisungen zum Generieren eines Clientzertifikats finden Sie unter Erstellen eines Zertifikats.

Aktivieren der clientzertifikatbasierten Authentifizierung

Standardmäßig ist die Clientauthentifizierung auf der NetScaler-Appliance deaktiviert, und alle SSL-Transaktionen werden ohne Authentifizierung des Clients ausgeführt. Sie können die Clientauthentifizierung so konfigurieren, dass sie im Rahmen des SSL-Handshakes entweder optional oder obligatorisch ist.

Wenn die Clientauthentifizierung optional ist, fordert die Appliance das Clientzertifikat an, fährt jedoch mit der SSL-Transaktion fort, auch wenn der Client ein ungültiges Zertifikat vorlegt. Wenn die Clientauthentifizierung erforderlich ist, beendet die Appliance den SSL-Handshake, wenn der SSL-Client kein gültiges Zertifikat bereitstellt.

Vorsicht: Citrix empfiehlt, dass Sie die richtigen Zugriffssteuerungsrichtlinien definieren, bevor Sie die clientzertifikatbasierte Authentifizierungsprüfung auf optional ändern.

Hinweis: Die Clientauthentifizierung ist für einzelne virtuelle SSL-Server konfiguriert, nicht global.

Clientzertifikatsbasierte Authentifizierung über die CLI aktivieren

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die clientzertifikatbasierte Authentifizierung zu aktivieren und die Konfiguration zu überprüfen:

set ssl vserver <vServerName> [-clientAuth (ENABLED | DISABLED)] [-clientCert (MANDATORY | OPTIONAL)]
show ssl vserver <vServerName>
<!--NeedCopy-->

Beispiel:

set ssl vserver vssl -clientAuth ENABLED -clientCert Mandatory
Done
show ssl vserver vssl

Advanced SSL configuration for VServer vssl:
DH: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: ENABLED Client Cert Required: Mandatory
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
        SNI: DISABLED
        OCSP Stapling: DISABLED
        HSTS: DISABLED
        HSTS IncludeSubDomains: NO
        HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED

1) CertKey Name: sslckey Server Certificate

1) Policy Name: client_cert_policy Priority: 0

1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->

Clientzertifikatsbasierte Authentifizierung über die GUI aktivieren

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Serverund öffnen Sie einen virtuellen Server.
  2. Wählen Sie im Abschnitt SSL-Parameter die Option Client-Authentifizierungund in der Liste des Client-Zertifikats die Option Obligatorischaus.

Hinweis:

Wenn die Clientauthentifizierung auf obligatorisch festgelegt ist und das Clientzertifikat Richtlinienerweiterungen enthält, schlägt die Zertifikatsüberprüfung fehl. Stellen Sie im Front-End-SSL-Profil einen Parameter ein, um diese Prüfung zu überspringen. Der Parameter ist standardmäßig deaktiviert. Das heißt, die Prüfung wird standardmäßig durchgeführt.

Überspringen Sie die Überprüfung der Richtlinienerweiterung während der Clientauthentifizierung über die CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl profile ns_default_ssl_profile_frontend -clientauth ENABLED -skipClientCertPolicyCheck ENABLED

Parameter

skipClientCertPolicyCheck

              Control policy extension check, if present inside the X509 certificate chain. Applicable only if client authentication is enabled and client certificate is set to mandatory. Possible values functions as follows:

- ENABLED: Skip the policy check during client authentication.

- DISABLED: Perform policy check during client authentication.

Possible values: ENABLED, DISABLED

Default: DISABLED
<!--NeedCopy-->

Überspringen Sie die Überprüfung der Richtlinienerweiterung während der Clientauthentifizierung über die GUI

  1. Navigieren Sie zu System > Profile > SSL-Profile.
  2. Erstellen Sie ein neues Front-End-Profil oder bearbeiten Sie ein vorhandenes Front-End-Profil.
  3. Stellen Sie sicher, dass die Clientauthentifizierung aktiviert und das Clientzertifikat auf obligatorisch festgelegt ist
  4. Wählen Sie Überprüfung der Clientzertifikatrichtlinie überspringen.

Überprüfung der Zertifikatsrichtlinie über

Binden von CA-Zertifikaten an den virtuellen Server

Eine Zertifizierungsstelle, deren Zertifikat auf der NetScaler-Appliance vorhanden ist, muss das für die Clientauthentifizierung verwendete Clientzertifikat ausstellen. Binden Sie dieses Zertifikat an den virtuellen NetScaler-Server, der die Clientauthentifizierung durchführt.

Binden Sie das CA-Zertifikat so an den virtuellen SSL-Server, dass die Appliance bei der Überprüfung des Clientzertifikats eine vollständige Zertifikatkette bilden kann. Andernfalls schlägt die Bildung der Zertifikatkette fehl und dem Client wird der Zugriff verweigert, auch wenn sein Zertifikat gültig ist.

Sie können CA-Zertifikate in beliebiger Reihenfolge an den virtuellen SSL-Server binden. Die Appliance bildet bei der Überprüfung des Clientzertifikats die richtige Reihenfolge.

Wenn der Client beispielsweise ein von CA_Aausgestelltes Zertifikat vorlegt, wobei CA_A eineZwischenzertifizierungsstelle ist, deren Zertifikat von CA_Bausgestellt wird, dessen Zertifikat wiederum von einer vertrauenswürdigen Stammzertifizierungsstelle, Root_CA, einer Kette von Zertifikaten, die Alle drei Zertifikate müssen an den virtuellen Server der NetScaler-Appliance gebunden sein.

Anweisungen zum Binden eines oder mehrerer Zertifikate an den virtuellen Server finden Sie unter Binden des Zertifikatschlüsselpaars an den virtuellen SSL-Server.

Anweisungen zum Erstellen einer Zertifikatkette finden Sie unter Erstellen einer Zertifikatkette.

Strengere Kontrolle der Validierung von Clientzertifikaten

Die NetScaler-Appliance akzeptiert gültige Zwischen-CA-Zertifikate, wenn sie von einer einzelnen Root-CA ausgestellt werden. Das heißt, wenn nur das Root-CA-Zertifikat an den virtuellen Server gebunden ist und diese Root-CA jedes mit dem Clientzertifikat gesendete Zwischenzertifikat validiert, vertraut die Appliance der Zertifikatkette und der Handshake ist erfolgreich.

Wenn ein Client jedoch eine Kette von Zertifikaten im Handshake sendet, kann keines der Zwischenzertifikate mithilfe eines CRL- oder OCSP-Responders validiert werden, es sei denn, dieses Zertifikat ist an den virtuellen SSL-Server gebunden. Selbst wenn eines der Zwischenzertifikate widerrufen wird, ist der Handshake daher erfolgreich. Im Rahmen des Handshakes sendet der virtuelle SSL-Server die Liste der an ihn gebundenen CA-Zertifikate. Für eine strengere Kontrolle können Sie den virtuellen SSL-Server so konfigurieren, dass er nur ein Zertifikat akzeptiert, das von einem der an diesen virtuellen Server gebundenen CA-Zertifikate signiert ist. Dazu müssen Sie die Einstellung ClientAuthUseBoundCAChain im an den virtuellen Server gebundenen SSL-Profil aktivieren. Der Handshake schlägt fehl, wenn eines der an den virtuellen Server gebundenen CA-Zertifikate das Clientzertifikat nicht signiert hat.

Beispiel: Zwei Clientzertifikate, clientcert1 und clientcert2, werden von den Zwischenzertifikaten Int-CA-A bzw. int-CA-B signiert. Die Zwischenzertifikate sind vom Stammzertifikat Root-CA signiert. Int-CA-A und Root-CA sind an den virtuellen SSL-Server gebunden. Im Standardfall (ClientAuthUseBoundCAChain deaktiviert) werden sowohl clientcert1 als auch clientcert2 akzeptiert. Wenn ClientAuthUseBoundCAChain jedoch aktiviert ist, akzeptiert die NetScaler-Appliance nur clientcert1.

Ermöglichen Sie eine strengere Kontrolle der Clientzertifikatvalidierung über die CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl profile <name> -ClientAuthUseBoundCAChain Enabled
<!--NeedCopy-->

Ermöglichen Sie eine strengere Kontrolle der Validierung von Clientzertifikaten über die GUI

  1. Navigieren Sie zu System > Profile, wählen Sie die Registerkarte SSL-Profile und erstellen Sie ein SSL-Profil oder wählen Sie ein vorhandenes Profil aus.
  2. Wählen Sie Client-Authentifizierung mit gebundener Zertifizierungsstellenketteaktivieren aus.
Clientauthentifizierung oder Mutual TLS (mTLS)