Citrix ADC Ingress Controller

Unterstützung der TLS-Clientauthentifizierung in Citrix ADC

Bei der TLS-Clientauthentifizierung fordert ein Server vom Client ein gültiges Zertifikat für die Authentifizierung an und stellt sicher, dass nur autorisierte Computer und Benutzer darauf zugreifen können.

Sie können die TLS-Clientauthentifizierung mithilfe von Citrix ADC SSL-basierten virtuellen Servern aktivieren. Wenn die Clientauthentifizierung auf einem virtuellen Citrix ADC SSL-Server aktiviert ist, fragt Citrix ADC 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.

Das folgende Diagramm erklärt die TLS-Clientauthentifizierungsfunktion in Citrix ADC.

TLS-Clientauthentifizierung

Die TLS-Clientauthentifizierung kann auf obligatorisch oder optional festgelegt werden. Wenn die SSL-Clientauthentifizierung als obligatorisch festgelegt ist und der SSL-Client kein gültiges Clientzertifikat bereitstellt, wird die Verbindung getrennt. Ein gültiges Clientzertifikat bedeutet, dass es von einer bestimmten Zertifizierungsstelle signiert oder ausgestellt wurde und nicht abgelaufen oder gesperrt ist. Wenn es als optional gekennzeichnet ist, fordert der Citrix ADC das Clientzertifikat an, aber die Verbindung wird nicht getrennt. Der Citrix ADC fährt mit der SSL-Transaktion fort, auch wenn der Client kein Zertifikat vorlegt oder das Zertifikat ungültig ist. Die optionale Konfiguration ist für Authentifizierungsszenarien wie die Zwei-Faktor-Authentifizierung nützlich.

Konfigurieren der TLS-Clientauthentifizierung

Führen Sie zum Konfigurieren der TLS-Clientauthentifizierung die folgenden Schritte aus.

  1. Aktivieren Sie die TLS-Unterstützung in Citrix ADC.

    Der Citrix Ingress Controller verwendet den TLS-Abschnitt in der Ingress-Definition als Enabler für die TLS-Unterstützung mit Citrix ADC. Das Folgende ist ein Beispielausschnitt der Ingress-Definition:

    spec:
      tls:
       - secretName:
    
  2. Wenden Sie ein CA-Zertifikat auf die Kubernetes-Umgebung an.

    Um einen Kubernetes-Schlüssel für ein vorhandenes Zertifikat zu generieren, verwenden Sie den folgenden kubectl-Befehl:

        kubectl create secret generic tls-ca --from-file=tls.crt=cacerts.pem
    

    Hinweis:

    Sie müssen ‘tls.crt=’ angeben, während Sie ein Geheimnis erstellen. Diese Datei wird vom Citrix Ingress Controller beim Analysieren eines CA-Geheimnisses verwendet.

  3. Konfigurieren Sie Ingress für die Clientauthentifizierung.

    Sie müssen die folgende Anmerkung angeben, um den generierten CA-Schlüssel anzuhängen, der für die Clientzertifikatauthentifizierung für einen in Kubernetes bereitgestellten Dienst verwendet wird.

    ingress.citrix.com/ca-secret: '{"frontend-hotdrinks": "hotdrink-ca-secret"}' 
    

    Standardmäßig ist die Clientzertifikatauthentifizierung auf festgelegt, Sie können sie mandatory jedoch so konfigurieren, dass die frontend_sslprofile Anmerkung in der Front-End-Konfiguration optional verwendet wird.

    ingress.citrix.com/frontend_sslprofile: '{"clientauth":"ENABLED", “clientcert”: “optional”}'
    

    Hinweis:

    Das unterstützt frontend_sslprofile nur die Front-End-Ingress-Konfiguration. Weitere Informationen finden Sie unter Front-End-Konfiguration.

Unterstützung der TLS-Clientauthentifizierung in Citrix ADC