IBM Cloud Docs
Gegenseitiges TLS verwenden

Gegenseitiges TLS verwenden

Die mTLS-Authentifizierung (mutual Transport Layer Security) stellt sicher, dass der Datenverkehr zwischen Client und Server in beiden Richtungen sicher und vertrauenswürdig ist. Diese Option ist nur für Kunden mit Enterprise- oder Security-Plan verfügbar.

Wenn mTLS konfiguriert ist, wird der Zugriff nur für Anforderungen mit entsprechendem Clientzertifikat gewährt. Wenn eine Anforderung die Anwendung erreicht, reagiert CIS darauf mit der Anforderung des Clientzertifikats. Kann der Client kein Zertifikat vorlegen, darf die Anforderung nicht fortgesetzt werden. Andernfalls erfolgt der Schlüsselaustausch.

Diagram of mTLS handshake
Diagram of an mTLS handshake

Gegenseitige TLS konfigurieren

Das gegenseitige TLS ist standardmäßig nicht aktiviert. Es handelt sich um einen zusätzlichen Service, der vorab genehmigt und aktiviert werden muss.

Um eine Genehmigung zu erhalten, müssen Sie einen IBM Support-Fall einreichen.

Wenn mTLS für Ihr Konto eingeschaltet ist, müssen Sie die folgenden Aktivierungsschritte ausführen.

  1. Navigieren Sie auf der CIS-Benutzerschnittstelle zur Seite Sicherheit.
  2. Wählen Sie die Registerkarte Gegenseitiges TLS aus.
  3. Klicken Sie auf Aktivieren, um das Feature zu aktivieren.

Nachdem mTLS aktiviert wurde, kann es nicht mehr deaktiviert werden.

Gehen Sie wie folgt vor, um auf der Benutzerschnittstelle von IBM Cloud Internet Services die mTLS-Authentifizierung für einen bestimmten Endpunkt einzurichten:

  1. Klicken Sie in der Tabelle mit den Stammzertifikaten auf Hinzufügen, um ein neues Stammzertifikat zu definieren.

  2. Fügen Sie den Zertifikatinhalt in das Inhaltsfeld ein, geben Sie einen Namen für die Stammzertifizierungsstelle an und fügen Sie mindestens einen vollständig qualifizierten Domänennamen (FQDN) für einen Endpunkt hinzu, der dieses Zertifikat verwenden soll. Dieser FQDN ist der Hostname, der für die durch die Anwendungsrichtlinie zu schützenden Ressourcen verwendet wird. Sie müssen die Stammzertifizierungsstelle dem FQDN zuordnen, den die zu schützende Anwendung nutzt.

  3. Klicken Sie auf Speichern.

    Falls in Ihrer Zone neben dem Stammzertifikat ein Zwischenzertifikat verwendet wird, laden Sie die gesamte Kette hoch.

  4. Erstellen Sie in der Tabelle der MTLS-Zugriffsrichtlinien eine neue Zugriffsanwendung, die die mTLS-Authentifizierung durchsetzt. Die Anwendung muss mit einem Hostnamen erstellt werden, der im Modaldialog für das Hochladen des Zertifikats zugeordnet wurde. Der Richtlinienabschnitt ist voreingestellt, um die Entscheidung non_identity zu erzwingen und die include durchzusetzen, der jedes gültige Zertifikat entspricht.

Tests mit curl

  1. Testen Sie, ob eine Site mTLS verwendet, indem Sie mit curl versuchen, die Site ohne ein Clientzertifikat zu erreichen. der folgende curl-Beispielbefehl bezieht sich auf die Site example.com. Die Zugriffsrichtlinie ist für https://auth.example.com definiert.

    curl -sv https://auth.example.com
    

    Wenn in der Anfrage kein Client-Zertifikat enthalten ist, wird die Antwort "403 forbidden" angezeigt und die Website kann nicht aufgerufen werden.

  2. Fügen Sie die Informationen Ihres Clientzertifikats zu der Anforderung hinzu:

    curl -sv https://auth.example.com --cert example.pem --key key.pem
    

    Wenn der Authentifizierungsprozess erfolgreich abgeschlossen ist, wird in der Antwort ein Header 'CF_Authorization Set-Cookie' zurückgegeben.

Gegenseitiges TLS validieren

Folgen Sie diesem Validierungsablauf, wenn Sie die Zugriffsrichtlinie aktivieren:

  1. Alle an den Ursprung gerichteten Anforderungen werden auf ein gültiges Clientzertifikat überprüft. Die Clientgerät sendet dem Client ein „Hello“. Die Zugriffsanwendung antwortet mit einem „Hello“ und einer Anforderung für das Clientzertifikat.
  2. Der Client gibt ein gültiges Zertifikat zurück.
  3. Der Handshake für die Clientauthentifizierung wird anhand der Stammzertifizierungsstelle geprüft und durchgeführt.
  4. Bei Ketten gibt es eine Überprüfung auf abgelaufene Zertifikate. Die Kettenprüfung findet im Rahmen der Zertifikatvalidierung statt.
  5. Wenn das Clientzertifikat vom Stammzertifikat anerkannt wird, wird ein signiertes JSON-Webtoken (JWT) für den Client generiert, das die Fortsetzung der Anforderung und nachfolgende Anforderungen zulässt. Wenn eine Anforderung kein gültiges Clientzertifikat enthält, wird in der Antwort 403 Forbidden zurückgegeben.