ADC
Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Integrierte SSL-Aktionen und benutzerdefinierte Aktionen

Wenn Sie nicht nur die integrierten Aktionen in Ihren Richtlinien benötigen, müssen Sie die Aktionen erstellen, bevor Sie die Richtlinien erstellen. Anschließend können Sie die Aktionen beim Erstellen der Richtlinien angeben. Die integrierten Aktionen sind von zwei Arten, Steueraktionen und Datenaktionen. Sie verwenden Steueraktionen in Steuerungsrichtlinien und Datenaktionen in Datenrichtlinien.

Die integrierten Steueraktionen sind:

  • DOCLIENTAUTH - Führen Sie die Clientzertifikatauthentifizierung durch. (Nicht unterstützt für TLS1.3)
  • NOCLIENTAUTH - Führen Sie keine Clientzertifikatauthentifizierung durch. (Nicht unterstützt für TLS1.3)

Die integrierten Datenaktionen sind:

  • zurücksetzen — Schließen Sie die Verbindung, indem Sie ein RST-Paket an den Client senden.
  • DROP - Alle Paket von dem Client fallen lassen. Die Verbindung bleibt offen, bis der Client sie schließt.
  • NOOP - Leiten Sie das Paket ohne Operation weiter.

Hinweis: Alle abhängigen Aktionen zur Clientauthentifizierung, wie ClientCertVerification und SSLLogProfile, werden mit dem TLS 1.3-Protokoll nicht unterstützt.

Sie können benutzerdefinierte Datenaktionen erstellen. Wenn Sie die Clientauthentifizierung aktivieren, können Sie eine SSL-Aktion erstellen, um Clientzertifikatdaten in den Anforderungs-Header einzufügen, bevor Sie die Anforderung an den Webserver weiterleiten.

Wenn eine Richtlinienbewertung zu einem undefinierten Zustand führt, wird eine UNDEF-Aktion ausgeführt. Für eine Datenrichtlinie oder eine Steuerungsrichtlinie können Sie RESET, DROP oder NOOP als UNDEF -Aktion angeben. Für eine Steuerungsrichtlinie haben Sie auch die Möglichkeit, DOCLIENTAUTH oder NOCLIENTAUTH anzugeben.

Beispiele für integrierte Aktionen in einer Richtlinie

Wenn der Client im folgenden Beispiel eine andere Verschlüsselung als eine EXPORT-Kategorieverschlüsselung sendet, fordert die Citrix ADC Appliance die Clientauthentifizierung an. Der Client muss ein gültiges Zertifikat für eine erfolgreiche Transaktion bereitstellen.

add ssl policy pol1 -rule CLIENT.SSL.CIPHER_EXPORTABLE.NOT -reqAction DOCLIENTAUTH

In den folgenden Beispielen wird davon ausgegangen, dass die Clientauthentifizierung aktiviert ist.

Wenn die vom Benutzer bereitgestellte Version im Zertifikat mit der Version in der Richtlinie übereinstimmt, wird keine Aktion ausgeführt und das Paket wird weitergeleitet:

add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction NOOP

Wenn die Version im vom Benutzer bereitgestellten Zertifikat mit der Version in der Richtlinie übereinstimmt, wird die Verbindung gelöscht:

add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction DROP

Wenn die vom Benutzer bereitgestellte Version im Zertifikat mit der Version in der Richtlinie übereinstimmt, wird die Verbindung zurückgesetzt:

add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction RESET

Clientzertifikatüberprüfung mit richtlinienbasierter Clientauthentifizierung

Sie können die Clientzertifikatsüberprüfung auf obligatorisch oder Option festlegen, wenn Sie richtlinienbasierte Clientauthentifizierung konfiguriert haben. Der Standardwert ist obligatorisch.

Festlegen der Clientzertifikatüberprüfung mit der CLI auf optional

Geben Sie an der Eingabeaufforderung Folgendes ein:

add ssl action <name> ((-clientAuth ( DOCLIENTAUTH | NOCLIENTAUTH ) [-clientCertVerification ( Mandatory | Optional )]

Beispiel:

add ssl action sslact -clientauth DOCLIENTAUTH -clientcertverification OPTIONAL

Festlegen der Clientzertifikatsüberprüfung auf optional mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > Richtlinien.

  2. Klicken Sie auf der Registerkarte SSL-Aktionen auf Hinzufügen.

  3. Geben Sie einen Namen an, und wählen Sie in der Liste Clientzertifikatüberprüfung die Option Optional aus.

Benutzerdefinierte SSL-Aktionen

Zusätzlich zu integrierten Aktionen können Sie je nach Bereitstellung auch andere SSL-Aktionen konfigurieren. Diese Aktionen werden als benutzerdefinierte Aktionen bezeichnet.

Konfigurieren einer benutzerdefinierten SSL-Aktion mit der CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine Aktion zu konfigurieren und die Konfiguration zu überprüfen:

add SSL action <name> -clientAuth(DOCLIENTAUTH | NOCLIENTAUTH) -clientCert (ENABLED | DISABLED) certHeader <string> -clientHeader <string> -clientCertSerialNumber (ENABLED | DISABLED) -certSerialHeader <string> -clientCertSubject (ENABLED | DISABLED) -certSubjectHeader <string> -clientCertHash (ENABLED | DISABLED) -certHashHeader <string> -clientCertIssuer (ENABLED | DISABLED) -certIssuerHeader <string> -sessionID (ENABLED | DISABLED) -sessionIDheader <string> -cipher (ENABLED | DISABLED) -cipherHeader <string> -clientCertNotBefore (ENABLED | DISABLED) -certNotBeforeHeader <string> -clientCertNotAfter (ENABLED | DISABLED) -certNotAfterHeader <string> -OWASupport (ENABLED | DISABLED)
show ssl action [<name>]

Beispiel:

add ssl action Action-SSL-ClientCert -clientCert ENABLED -certHeader "X-Client-Cert"
show ssl action Action-SSL-ClientCert 1) Name: Action-SSL-ClientCert Data Insertion Action: Cert Header: ENABLED Cert Tag: X-Client-Cert Done

Konfigurieren einer benutzerdefinierten SSL-Aktion mit der GUI

Navigieren Sie zu Traffic Management > SSL > Richtlinien, und klicken Sie auf der Registerkarte Aktionen auf Hinzufügen.

Konfigurieren einer SSL-Aktion zum Weiterleiten des Clientdatenverkehrs an einen anderen virtuellen Server

Administratoren können eine SSL-Aktion konfigurieren, um den auf einem virtuellen SSL-Server empfangenen Clientdatenverkehr an einen anderen virtuellen Server weiterzuleiten, um SSL-Abladung zu vermeiden. Oder zum Beenden der Verbindung auf der ADC-Appliance. Dieser virtuelle Server kann vom Typ: SSL, TCP oder SSL_BRIDGE sein. Beispielsweise können Administratoren wählen, die Anforderung an einen anderen virtuellen Server weiterzuleiten, anstatt die Verbindung zu beenden, wenn einer der folgenden Fälle:

  • Die Appliance hat kein Zertifikat.
  • Die Appliance unterstützt keine bestimmte Verschlüsselung.

Um dies zu erreichen, wird ein neuer Bindepunkt ‘CLIENTHELLO_REQ’ hinzugefügt, um den Client-Datenverkehr zu bewerten, wenn ein Client-Hallo empfangen wird. Wenn die Richtlinie, die an den virtuellen Server gebunden ist, der Clientdatenverkehr empfängt, nach der Analyse des Client-Hallo auf true ausgewertet wird, wird der Datenverkehr an einen anderen virtuellen Server weitergeleitet. Wenn dieser virtuelle Server vom Typ SSL ist, führt er den Handshake aus. Wenn dieser virtuelle Server vom Typ TCP oder SSL_BRIDGE ist, führt der Backend-Server den Handshake durch.

In Release 12.1-49.x werden nur die Vorwärts- und Rücksetzaktionen für den BIND-Punkt CLIENTHELLO_REQ unterstützt. Die folgenden Ausdruckspräfixe sind verfügbar:

  • CLIENT.SSL.CLIENT_HELLO.CIPHERS.HAS_HEXCODE
  • CLIENT.SSL.CLIENT_HELLO.CLIENT_VERSION
  • CLIENT.SSL.CLIENT_HELLO.IS_RENEGOTIATE
  • CLIENT.SSL.CLIENT_HELLO.IS_REUSE
  • CLIENT.SSL.CLIENT_HELLO.IS_SCSV
  • CLIENT.SSL.CLIENT_HELLO.IS_SESSION_TICKET
  • CLIENT.SSL.CLIENT_HELLO.LENGTH
  • CLIENT.SSL.CLIENT_HELLO.SNI
  • CLIENT.SSL.CLIENT_HELLO.ALPN.HAS_NEXTPROTOCOL (from release 13.0 build 61.x)

Eine Beschreibung dieser Präfixe finden Sie unter Erweiterte Richtlinienausdrücke: Parsing SSL.

Dem Befehl add SSL action wird ein Parameter forward hinzugefügt, und dem Befehl bind ssl vserver wird ein neuer Bindpunkt CLIENTHELLO_REQ hinzugefügt.

Konfiguration über die CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add ssl action <name> -forward <virtual server name> add ssl policy <name> -rule <expression> -action <string> bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type <type>

BEISPIEL:

add ssl action act1 -forward v2 add ssl policy pol1 -rule client.ssl.client_hello.ciphers.has_hexcode(0x002f) -action act1 bind ssl vserver v1 -policyName pol1 -priority 1 -type CLIENTHELLO_REQ

Konfiguration über die GUI

Navigieren Sie zu Traffic Management > SSL > Richtlinien.

SSL-Aktion erstellen:

  1. Klicken Sie unter SSL-Aktionen auf Hinzufügen.
  2. Geben Sie unter SSL-Aktion erstellen einen Namen für die Aktion an.
  3. Wählen Sie unter Virtueller Server Vorwärtsaktion einen vorhandenen virtuellen Server aus, oder fügen Sie einen neuen virtuellen Server hinzu, an den der Datenverkehr weitergeleitet werden soll.
  4. Legen Sie optional andere Parameter fest.
  5. Klicken Sie auf Erstellen.

SSL-Richtlinie erstellen:

  1. Klicken Sie in SSL-Richtlinien auf Hinzufügen.
  2. Geben Sie unter SSL-Richtlinie erstellen einen Namen für die Richtlinie an.
  3. Wählen Sie unter Aktiondie Aktion aus, die Sie zuvor erstellt haben.
  4. Geben Sie im Ausdruckseditor die auszuwertende Regel ein.
  5. Klicken Sie auf Erstellen.

Erstellen oder Hinzufügen eines virtuellen Servers und Bind-Richtlinie:

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
  2. Fügen Sie einen virtuellen Server hinzu oder wählen Sie diesen aus.
  3. Klicken Sie unter Erweiterte Einstellungen auf SSL-Richtlinien.
  4. Klicken Sie in den Abschnitt SSL-Richtlinie.
  5. Wählen Sie unter Richtlinie auswählen die Richtlinie aus, die Sie zuvor erstellt haben.
  6. Geben Sie unter Richtlinienbindung eine Priorität für die Richtlinie an.
  7. Wählen Sie unter Typ die Option CLIENTHELLO_REQ aus.
  8. Klicken Sie auf Bind.
  9. Klicken Sie auf Fertig.

Die End-to-End-Konfiguration für die beliebtesten Anwendungsfälle finden Sie in den folgenden Themen:

SSL-Aktion zur selektiven Auswahl von Zertifizierungsstellen basierend auf SNI für die Clientauthentifizierung

Sie können nur die Liste der Zertifizierungsstellen basierend auf SNI (Domäne) in der Clientzertifikatanforderung senden und nicht die Liste aller Zertifizierungsstellen, die an einen virtuellen SSL-Server gebunden sind. Wenn beispielsweise ein Client-Hallo empfangen wird, werden nur die Zertifizierungsstellenzertifikate gesendet, die auf dem SSL-Richtlinienausdruck basieren (z. B. SNI). Um einen bestimmten Satz von Zertifikaten zu senden, müssen Sie eine Zertifizierungsstellenzertifikatsgruppe erstellen. Binden Sie diese Gruppe dann an eine SSL-Aktion, und binden Sie die Aktion an eine SSL-Richtlinie. Wenn die Richtlinie, die an den virtuellen Server gebunden ist, der den Clientdatenverkehr empfängt, nach der Analyse des Client-Hallo als true ausgewertet wird, wird im Clientanforderungszertifikat nur eine bestimmte Zertifizierungsstellengruppe gesendet.

Zuvor mussten Sie Zertifizierungsstellenzertifikate an einen virtuellen SSL-Server binden. Mit dieser Erweiterung können Sie CA-Zertifikatgruppen einfach hinzufügen und einer SSL-Aktion zuordnen.

Hinweis: Aktivieren Sie die Clientauthentifizierung und SNI auf dem virtuellen SSL-Server. Binden Sie die richtigen SNI-Zertifikate an den virtuellen Server.

Gehen Sie wie folgt vor:

  1. Fügen Sie eine Zertifizierungsstellenzertifikatsgruppe hinzu.

  2. Fügen Sie Zertifikatschlüsselpaare hinzu.

  3. Binden Sie die Zertifikatschlüssel-Paare an diese Gruppe.

  4. Fügen Sie eine SSL-Aktion hinzu.

  5. Fügen Sie eine SSL-Richtlinie hinzu. Geben Sie die Aktion in der Richtlinie an.

  6. Binden Sie die Richtlinie an einen virtuellen SSL-Server. Geben Sie den Bindepunkt als CLIENTHELLO_REQ an.

Konfiguration über die CLI

Geben Sie an der Eingabeaufforderung die folgenden Befehle in einer Sequenz ein:

add ssl caCertGroup <caCertGroupName> add ssl certkey <certkey_name> -cert <cert> -key <key> bind ssl caCertGroup <caCertGroupName> <certkey_name> add ssl action <name> -caCertGrpName <string> add ssl policy <name> -rule <expression> -action <string> bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type CLIENTHELLO_REQ

Beispiel:

add ssl cacertGroup ca_cert_group add ssl certkey ca_certkey1 -cert cacert1 -key cakey1 add ssl certkey ca_certkey2 -cert cacert2 -key cakey2 add ssl certkey snicert -cert snicert -key snikey bind ssl cacertGroup ca_cert_group ca_certkey1 bind ssl caCertGroup ca_cert_group ca_certkey2
sh ssl caCertGroup ca_cert_group CA GROUP NAME: ca_cert_group ACTIONS REFERRING: 1 1) CertKey Name: ca_certkey1 CA Certificate CRLCheck: Optional CA_Name Sent 2) CertKey Name: ca_certkey2 CA Certificate CRLCheck: Optional CA_Name Sent
add ssl action pick_ca_group -cacertGrpName ca_cert_group
sh ssl action pick_ca_group 1) Name: pick_ca_group Type: Data Insertion PickCaCertGroup: ca_cert_group Hits: 0 Undef Hits: 0 Action Reference Count: 1
add ssl policy snipolicy -rule client.ssl.client_hello.sni.contains("abc") -action pick_ca_group bind ssl vserver v_SSL -policyName snipolicy -type CLIENTHELLO_REQ -priority 10
sh ssl policy snipolicy Name: snipolicy Rule: client.ssl.client_hello.sni.contains("abc") Action: pick_ca_group UndefAction: Use Global Hits: 0 Undef Hits: 0 Policy is bound to following entities 1) Bound to: CLIENTHELLO_REQ VSERVER v_SSL Priority: 10
set ssl vserver v_SSL -clientauth ENABLED -SNIEnable ENABLED bind ssl vserver v_SSL -certkeyName snicert -sniCert
sh ssl vserver v_SSL Advanced SSL configuration for VServer v_SSL: DH: DISABLED DH Private-Key Exponent Size Limit: 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: ENABLED OCSP Stapling: DISABLED HSTS: DISABLED HSTS IncludeSubDomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED Push Encryption Trigger: Always Send Close-Notify: YES Strict Sig-Digest Check: DISABLED Zero RTT Early Data: DISABLED DHE Key Exchange With PSK: NO Tickets Per Authentication Context: 1 ECC Curve: P_256, P_384, P_224, P_521 1) CertKey Name: snicert Server Certificate for SNI Data policy 1) Policy Name: snipolicy Priority: 10 1) Cipher Name: DEFAULT Description: Default cipher list with encryption strength >= 128bit

Konfiguration über die GUI

Erstellen Sie Zertifizierungsstellenzertifikatsgruppe und binden Sie Zertifikate an die Gruppe:

  1. Navigieren Sie zu Traffic Management > SSL > CA Certificate Group.
  2. Klicken Sie auf Hinzufügen, und geben Sie einen Namen für die Gruppe an.
  3. Klicken Sie auf Erstellen.
  4. Wählen Sie die Zertifizierungsstellenzertifikatsgruppe aus, und klicken Sie dann auf Bindungen anzeigen .
  5. Klicken Sie auf Bind.
  6. Wählen Sie auf der Seite CA-Zertifikatbindung ein vorhandenes Zertifikat aus, oder klicken Sie auf Hinzufügen, um ein neues Zertifikat hinzuzufügen.
  7. Klicken Sie auf Auswählen und dann auf Binden.
  8. Wiederholen Sie die Schritte 5 bis 7, um ein anderes Zertifikat zu binden.
  9. Klicken Sie auf Schließen.

Navigieren Sie zu Traffic Management > SSL > Richtlinien.

SSL-Aktion erstellen:

  1. Klicken Sie unter SSL-Aktionen auf Hinzufügen.
  2. Geben Sie unter SSL-Aktion erstellen einen Namen für die Aktion an.
  3. Wählen Sie unter Virtueller Server Vorwärtsaktion einen vorhandenen virtuellen Server aus, oder fügen Sie einen virtuellen Server hinzu, an den der Datenverkehr weitergeleitet werden soll.
  4. Legen Sie optional andere Parameter fest.
  5. Klicken Sie auf Erstellen.

SSL-Richtlinie erstellen:

  1. Klicken Sie in SSL-Richtlinien auf Hinzufügen.
  2. Geben Sie unter SSL-Richtlinie erstellen einen Namen für die Richtlinie an.
  3. Wählen Sie unter Aktiondie zuvor erstellte Aktion aus.
  4. Geben Sie im Ausdruckseditor die auszuwertende Regel ein.
  5. Klicken Sie auf Erstellen.

Erstellen oder Hinzufügen eines virtuellen Servers und Bind-Richtlinie:

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
  2. Fügen Sie einen virtuellen Server hinzu oder wählen Sie diesen aus.
  3. Klicken Sie unter Erweiterte Einstellungen auf SSL-Richtlinien.
  4. Klicken Sie in den Abschnitt SSL-Richtlinie.
  5. Wählen Sie unter Richtlinie auswählen die Richtlinie aus, die Sie zuvor erstellt haben.
  6. Geben Sie unter Richtlinienbindung eine Priorität für die Richtlinie an.
  7. Wählen Sie unter Typ die Option CLIENTHELLO_REQ aus.
  8. Klicken Sie auf Bind.
  9. Klicken Sie auf Fertig.

Aufheben der Bindung einer Zertifizierungsstellenzertifikatsgruppe mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > CA Certificate Group.
  2. Wählen Sie eine Zertifikatgruppe aus, und klicken Sie auf Bindungen anzeigen.
  3. Wählen Sie das Zertifikat aus, das aus der Gruppe entfernt werden soll, und klicken Sie auf Binden aufheben.
  4. Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf **Ja••.
  5. Klicken Sie auf Schließen.

Entfernen einer Zertifizierungsstellenzertifikatsgruppe mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > CA Certificate Group.
  2. Wählen Sie eine Zertifikatgruppe aus, und klicken Sie auf Löschen.
  3. Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Ja.
Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.