Citrix ADC

Clientauthentifizierung

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

Hinweis: Ab Version 13.0 Build 41.x unterstützt die Citrix ADC Appliance Zertifikatsanforderungsnachrichten, die in mehr als einen Datensatz fragmentiert sind, sofern die Gesamtgröße innerhalb von 32 KB liegt. Früher war die maximal unterstützte Größe 16 KB und die Fragmentierung wurde nicht unterstützt.

Wenn die Clientauthentifizierung auf einem virtuellen SSL-Server aktiviert ist, fragt die Citrix ADC Appliance während des SSL-Handshake nach dem Clientzertifikat. Die Appliance überprüft das vom Client vorgestellte Zertifikat auf normale Einschränkungen, z. B. die Signatur des Ausstellers und das Ablaufdatum.

Hinweis: Damit die Appliance Ausstellersignaturen überprüfen kann, muss das Zertifikat der Zertifizierungsstelle, die das Clientzertifikat ausgestellt hat, auf der Appliance installiert und an den virtuellen Server gebunden sein, mit dem der Client kommuniziert.

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 zunächst eine Kette von Zertifikaten gebildet wird, beginnend mit dem Clientzertifikat und endet mit dem Stammzertifizierungsstellenzertifikat für den Client (z. B. Verisign). Das Stammzertifizierungsstellenzertifikat kann ein oder mehrere Zwischenzertifizierungsstellenzertifikate enthalten (wenn die Stammzertifizierungsstelle das Clientzertifikat nicht direkt ausstellt).

Bevor Sie die Clientauthentifizierung auf der Citrix ADC Appliance aktivieren, stellen Sie sicher, dass auf dem Client ein gültiges Clientzertifikat installiert ist. Aktivieren Sie dann die Clientauthentifizierung für den virtuellen Server, der die Transaktionen verarbeitet. Schließlich binden Sie das Zertifikat der Zertifizierungsstelle, die das Clientzertifikat ausgestellt hat, an den virtuellen Server auf der Appliance.

Hinweis: Eine Citrix ADC MPX-Appliance unterstützt eine Zertifikatschlüssel-Paargröß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 für das Zertifikatschlüsselpaar einer MPX-Appliance. Andernfalls gilt die Unterstützung der normalen Zertifikatschlüsselpaargröße einer VPX-Instanz.

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

  • 4096-Bit-Serverzertifikat auf dem virtuellen Server
  • 4096-Bit-Clientzertifikat für den Dienst
  • 4096-Bit-CA-Zertifikat
  • 4096-Bit-Zertifikat auf dem physischen Server
  • 2048-Bit-Clientzertifikat (wenn die Clientauthentifizierung auf dem virtuellen Server aktiviert ist)

Hinweise:

Bereitstellen des Clientzertifikats

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

Unabhängig davon, ob Sie das Clientzertifikat von einer Zertifizierungsstelle beziehen, ein vorhandenes Clientzertifikat verwenden oder ein Clientzertifikat auf der Citrix ADC Appliance generieren, müssen Sie das Zertifikat in das richtige Format konvertieren. Auf der Citrix ADC Appliance werden Zertifikate entweder im PEM- oder DER-Format gespeichert und müssen vor der Installation auf dem Clientsystem in das PKCS #12 -Format konvertiert werden. Stellen Sie nach dem Konvertieren des Zertifikats und der Übertragung an das Clientsystem sicher, dass es auf diesem System installiert und für die Clientanwendung konfiguriert ist, die Teil der SSL-Transaktionen ist (z. B. der Webbrowser).

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

Anweisungen zum Generieren eines Clientzertifikats finden Sie unterErstellen eines Zertifikats.

Aktivieren der clientzertifikatbasierten Authentifizierung

Standardmäßig ist die Clientauthentifizierung auf der Citrix ADC Appliance deaktiviert, und alle SSL-Transaktionen werden ausgeführt, ohne den Client zu authentifizieren. Sie können die Clientauthentifizierung als Teil des SSL-Handshake entweder als optional oder obligatorisch konfigurieren.

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

Achtung: Citrix empfiehlt, geeignete Zugriffssteuerungsrichtlinien zu definieren, bevor Sie die clientzertifikatbasierte Authentifizierungsprüfung auf optional ändern.

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

Aktivieren der clientzertifikatbasierten Authentifizierung mit der CLI

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>

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

Aktivieren der clientzertifikatbasierten Authentifizierung mit der GUI

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und öffnen Sie einen virtuellen Server.
  2. Wählen Sie im Abschnitt SSL-Parameter die Option Clientauthentifizierung aus, und wählen Sie in der Liste Clientzertifikat die Option Erforderlich aus.

Hinweis:

Wenn die Clientauthentifizierung auf obligatorisch festgelegt ist und das Clientzertifikat Richtlinienerweiterungen enthält, schlägt die Zertifikatüberprüfung fehl. Ab Release 12.0-56.x können Sie einen Parameter im Front-End-SSL-Profil festlegen, um diese Prüfung zu überspringen. Der Parameter ist standardmäßig deaktiviert. Das heißt, die Überprüfung wird standardmäßig durchgeführt.

Überspringen der Richtlinienerweiterungsprüfung während der Clientauthentifizierung mit der 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

Überspringen der Richtlinienerweiterungsprüfung während der Clientauthentifizierung mit der 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 ist und das Clientzertifikat auf obligatorisch festgelegt ist.
  4. Wählen Sie Clientzertifikatrichtlinienüberprüfung überspringenaus.

Zertifikatrichtlinienprüfung überspringen

Binden von Zertifizierungsstellenzertifikaten an den virtuellen Server

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

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

Sie können CA-Zertifikate in beliebiger Reihenfolge an den virtuellen SSL-Server binden. Die Appliance bildet während der Überprüfung des Client-Zertifikats 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 Citrix ADC Appliance gebunden sein.

Anweisungen zum Binden eines oder mehrerer Zertifikate an den virtuellen Server finden Sie unterBinden Sie das Zertifikatschlüsselpaar an den virtuellen SSL-Server.

Anweisungen zum Erstellen einer Zertifikatskette finden Sie unterErstellen einer Kette von Zertifikaten.

Strengere Kontrolle der Validierung von Clientzertifikaten

Die Citrix ADC Appliance akzeptiert gültige zwischengeschaltete CA-Zertifikate, wenn sie von einer einzigen Stammzertifizierungsstelle ausgestellt werden. Wenn also nur das Root-CA-Zertifikat an den virtuellen Server gebunden ist und jedes mit dem Clientzertifikat gesendete Zwischenzertifikat von dieser Stammzertifizierungsstelle validiert wird, 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. Daher, selbst wenn eines der Zwischenzertifikate widerrufen wird, ist der Handshake erfolgreich. Als Teil des Handshakes sendet der virtuelle SSL-Server die Liste der Zertifizierungsstellenzertifikate, die an ihn gebunden sind. Zur strengeren 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 Zertifizierungsstellenzertifikate signiert ist. Dazu müssen Sie die Einstellung ClientAuthUseBoundCAChain im SSL-Profil aktivieren, das an den virtuellen Server gebunden ist. Der Handshake schlägt fehl, wenn das Clientzertifikat nicht von einem der Zertifizierungsstellenzertifikate signiert ist, die an den virtuellen Server gebunden sind.

Angenommen, zwei Clientzertifikate, clientcert1 und clientcert2, sind von den Zwischenzertifikaten int-ca-a bzw. int-ca-b signiert. Die Zwischenzertifikate werden 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 Citrix ADC Appliance nur clientcert1.

Aktivieren Sie strengere Kontrolle der Clientzertifikatvalidierung mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ssl profile <name> -ClientAuthUseBoundCAChain Enabled

Aktivieren Sie strengere Kontrolle der Clientzertifikatvalidierung mit der 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