Integrierte SSL-Aktionen und benutzerdefinierte Aktionen
-
doClientAuth — Führt die Authentifizierung des Client-Zertifikats durch. (Nicht unterstützt für TLS1.3)
-
noClientAuth — Führen Sie keine Authentifizierung mit dem Client-Zertifikat durch. (Nicht unterstützt für TLS1.3)
-
ZURÜCKSETZEN — Beenden Sie die Verbindung, indem Sie ein RST-Paket an den Client senden.
-
Löschen — Löscht alle Pakete vom Client. Die Verbindung bleibt geöffnet, bis der Client sie schließt.
-
NOOP — leitet das Paket weiter, ohne eine Operation daran durchzuführen.
Beispiele für integrierte Aktionen in einer Richtlinie
add ssl policy pol1 -rule CLIENT.SSL.CIPHER_EXPORTABLE.NOT -reqAction DOCLIENTAUTH
add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction NOOP
add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction DROP
add ssl policy pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction RESET
Überprüfung von Client-Zertifikaten mit richtlinienbasierter Client-Authentifizierung
Stellen Sie die Überprüfung des Client-Zertifikats mithilfe der CLI auf optional ein
add ssl action <name> ((-clientAuth ( DOCLIENTAUTH | NOCLIENTAUTH ) [-clientCertVerification ( Mandatory | Optional )]
add ssl action sslact -clientauth DOCLIENTAUTH -clientcertverification OPTIONAL
Stellen Sie die Überprüfung des Client-Zertifikats mithilfe der GUI auf optional ein
-
Navigieren Sie zu Traffic Management > SSL > Richtlinien.
-
Klicken Sie auf der Registerkarte SSL-Aktionen auf Hinzufügen.
-
Geben Sie einen Namen an und wählen Sie in der Liste der Client-Zertifikatsüberprüfung die Option Optionalaus.
Benutzerdefinierte SSL-Aktionen
Konfigurieren Sie eine benutzerdefinierte SSL-Aktion mithilfe der CLI
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>]
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 Sie eine benutzerdefinierte SSL-Aktion mithilfe der GUI
Konfigurieren Sie eine SSL-Aktion, um den Client-Verkehr an einen anderen virtuellen Server weiterzuleiten
-
Die Appliance hat kein Zertifikat.
-
Die Appliance unterstützt keine bestimmte Chiffre.
-
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)
add SSL action wird ein Parameter forward hinzugefügt, und dem Befehl bind ssl vserver wird ein neuer Bindpunkt CLIENTHELLO_REQ hinzugefügt.
Konfiguration mit der CLI
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>
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 mit der GUI
-
Klicken Sie unter SSL-Aktionenauf Hinzufügen.
-
Geben Sie unter SSL-Aktion erstelleneinen Namen für die Aktion an.
-
Wählen Sie unter Forward Action Virtual Servereinen vorhandenen virtuellen Server aus oder fügen Sie einen neuen virtuellen Server hinzu, an den der Datenverkehr weitergeleitet werden soll.
-
Stellen Sie optional weitere Parameter ein.
-
Klicken Sie auf Erstellen.
-
Klicken Sie unter SSL-Richtlinienauf Hinzufügen.
-
Geben Sie unter SSL-Richtlinie erstelleneinen Namen für die Richtlinie an.
-
Wählen Sie unter Aktiondie Aktion aus, die Sie zuvor erstellt haben.
-
Geben Sie im Ausdruckseditordie auszuwertende Regel ein.
-
Klicken Sie auf Erstellen.
-
Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
-
Fügen Sie einen virtuellen Server hinzu oder wählen Sie ihn aus.
-
Klicken Sie in Erweiterte Einstellungenauf SSL-Richtlinien.
-
Klicken Sie in den Abschnitt SSL-Richtlinie.
-
Wählen Sie unter Richtlinieauswählen die Richtlinie aus, die Sie zuvor erstellt haben.
-
Geben Sie unter Richtlinienbindungeine Priorität für die Richtlinie an.
-
Wählen Sie unter Typdie Option CLIENTHELLO_REQaus.
-
Klicken Sie auf Bind.
-
Klicken Sie auf Fertig.
SSL-Aktion zur selektiven Auswahl von Zertifizierungsstellen basierend auf SNI für die Clientauthentifizierung
-
Fügen Sie eine CA-Zertifikatsgruppe hinzu.
-
Fügen Sie Zertifikatsschlüsselpaare hinzu.
-
Binden Sie die Zertifikatsschlüsselpaare an diese Gruppe.
-
Fügen Sie eine SSL-Aktion hinzu.
-
Fügen Sie eine SSL-Richtlinie hinzu. Geben Sie die Aktion in der Richtlinie an.
-
Binden Sie die Richtlinie an einen virtuellen SSL-Server. Geben Sie den Bindungspunkt als CLIENTHELLO_REQ an.
Konfiguration mit der CLI
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
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_certkey2sh 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 Sentadd ssl action pick_ca_group -cacertGrpName ca_cert_groupsh 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: 1add 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 10sh 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: 10set ssl vserver v_SSL -clientauth ENABLED -SNIEnable ENABLED
bind ssl vserver v_SSL -certkeyName snicert -sniCertsh 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 mit der GUI
-
Navigieren Sie zu Verkehrsmanagement > SSL > CA Certificates Group.
-
Klicken Sie auf Hinzufügen und geben Sie einen Namen für die Gruppe ein.
-
Klicken Sie auf Erstellen.
-
Wählen Sie die CA-Zertifikatsgruppe aus und klicken Sie dann auf Bindungen anzeigen.
-
Klicken Sie auf Bind.
-
Wählen Sie auf der Seite CA Certificate Binding ein vorhandenes Zertifikat aus oder klicken Sie auf Hinzufügen, um ein neues Zertifikat hinzuzufügen.
-
Klicken Sie auf Auswählen und dann auf Binden.
-
Um ein weiteres Zertifikat zu binden, wiederholen Sie die Schritte 5 bis 7.
-
Klicken Sie auf Schließen.
-
Klicken Sie unter SSL-Aktionenauf Hinzufügen.
-
Geben Sie unter SSL-Aktion erstelleneinen Namen für die Aktion an.
-
Wählen Sie unter Forward Action Virtual Servereinen vorhandenen virtuellen Server aus oder fügen Sie einen virtuellen Server hinzu, an den der Datenverkehr weitergeleitet werden soll.
-
Stellen Sie optional weitere Parameter ein.
-
Klicken Sie auf Erstellen.
-
Klicken Sie unter SSL-Richtlinienauf Hinzufügen.
-
Geben Sie unter SSL-Richtlinie erstelleneinen Namen für die Richtlinie an.
-
Wählen Sie unter Aktiondie zuvor erstellte Aktion aus.
-
Geben Sie im Ausdruckseditordie auszuwertende Regel ein.
-
Klicken Sie auf Erstellen.
-
Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server.
-
Fügen Sie einen virtuellen Server hinzu oder wählen Sie ihn aus.
-
Klicken Sie in Erweiterte Einstellungenauf SSL-Richtlinien.
-
Klicken Sie in den Abschnitt SSL-Richtlinie.
-
Wählen Sie unter Richtlinieauswählen die Richtlinie aus, die Sie zuvor erstellt haben.
-
Geben Sie unter Richtlinienbindungeine Priorität für die Richtlinie an.
-
Wählen Sie unter Typdie Option CLIENTHELLO_REQaus.
-
Klicken Sie auf Bind.
-
Klicken Sie auf Fertig.
Entbinden Sie eine CA-Zertifikatsgruppe mithilfe der GUI
-
Navigieren Sie zu Verkehrsmanagement > SSL > CA Certificates Group.
-
Wählen Sie eine Zertifikatsgruppe aus und klicken Sie auf Bindungen anzeigen.
-
Wählen Sie das Zertifikat aus, das Sie aus der Gruppe entfernen möchten, und klicken Sie auf Binden aufheben.
-
Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf **Ja••.
-
Klicken Sie auf Schließen.
Entfernen Sie eine CA-Zertifikatsgruppe mithilfe der GUI
-
Navigieren Sie zu Verkehrsmanagement > SSL > CA Certificates Group.
-
Wählen Sie eine Zertifikatsgruppe aus und klicken Sie auf Löschen.
-
Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Ja.