Konfiguration der gegenseitigen Authentifizierung nach dem „ TLS “-Prinzip auf Pool-Ebene
Konfigurieren Sie die gegenseitige Authentifizierung nach dem „ TLS “-Prinzip ( mTLS ) auf Pool-Ebene, um die Zertifikate der Backend-Server zu überprüfen und bei der Verbindung zu den Backend-Servern Client-Zertifikate vorzulegen.
Vorbereitende Schritte
Bevor Sie die Authentifizierung auf Pool-Ebene konfigurieren, stellen Sie sicher, dass Folgendes vorhanden ist:
- Ein Anwendungs-Load-Balancer mit einem Profil, das „ mTLS “ unterstützt (überprüfen Sie die Eigenschaft „
mtls_supported“) - Ein Pool, der mit dem „ HTTPS “-Protokoll konfiguriert ist
- (Optional) Ein gültiges CA-Zertifikat im Format „ PEM “, das unter „ Secrets Manager “ gespeichert ist, zur Überprüfung der Zertifikate der Backend-Server
- (Optional) Ein gültiges Client-Zertifikat mit privatem Schlüssel im Format „ PEM “, das unter „ Secrets Manager “ gespeichert ist und den Backend-Servern vorgelegt werden soll
- Die entsprechenden IAM-Berechtigungen zur Verwaltung von Load Balancern und Zugriffszertifikaten in Secrets Manager
mTLS-Authentifizierung auf Pool-Ebene verstehen
Die Authentifizierung auf Pool-Ebene bietet zwei unterschiedliche Funktionen zur Sicherung der Verbindungen zwischen dem Load Balancer und den Backend-Servern:
- Serverauthentifizierung
- Überprüfen Sie die Identität der Backend-Server, indem Sie deren Zertifikate anhand eines konfigurierten CA-Zertifikats validieren. Dadurch wird sichergestellt, dass der Load Balancer nur eine Verbindung zu vertrauenswürdigen Backend-Servern herstellt.
- Clientauthentifizierung
- Legen Sie den Backend-Servern ein Client-Zertifikat vom Load Balancer vor, wenn die Backend-Infrastruktur „ mTLS “ erfordert. Auf diese Weise können die Backend-Server die Identität des Load Balancers überprüfen.
Diese Funktionen können je nach Ihren Sicherheitsanforderungen einzeln oder gemeinsam konfiguriert werden.
Konfiguration der Server- mTLS-Authentifizierung
Die Serverauthentifizierung besteht aus zwei Komponenten:
- Zertifikat verifizieren
- Ein boolescher Schalter, der die Überprüfung von Backend-Serverzertifikaten aktiviert oder deaktiviert. Wenn diese Option aktiviert ist, überprüft der Load Balancer die Zertifikate der Backend-Server während des „ TLS “-Handshakes.
- Zertifikat der Zertifizierungsstelle (CA)
- Ein optionales CA-Zertifikat, das zur Überprüfung der Zertifikate der Backend-Server verwendet wird. Wenn die Serverüberprüfung aktiviert ist, aber kein CA-Zertifikat bereitgestellt wird, verwendet der Load Balancer den System-Vertrauensspeicher, um die Zertifikate der Backend-Server zu validieren.
Konfiguration der Client- mTLS-Authentifizierung
Für die Client-Authentifizierung ist Folgendes erforderlich:
- Clientzertifikat
- Ein Zertifikat mit privatem Schlüssel, das der Load Balancer den Backend-Servern vorlegt, wenn diese während des „ TLS “-Handshakes eine Client-Authentifizierung anfordern. Das Zertifikat muss unter „ Secrets Manager “ gespeichert werden.
Konfigurieren der „ mTLS “-Pool-Authentifizierung in der Konsole
So konfigurieren Sie die Authentifizierung für einen Pool in der „ IBM Cloud “-Konsole:
- Rufen Sie die Seite „Lastenausgleichsmodule für VPC“ auf.
- Klicken Sie auf den Namen Ihres Application Load Balancers.
- Klicken Sie auf die Registerkarte „ Backend-Pools “.
- Klicken Sie bei einem bestehenden Pool auf das Menü „Aktionen“
, und wählen Sie „Bearbeiten“ aus. Um einen neuen Pool zu erstellen, klicken Sie auf „ Erstellen “.
- In der Pool-Konfiguration:
- Stellen Sie sicher, dass „Protokoll“ auf HTTPS.
- Im Abschnitt „ Serverauthentifizierung “:
- Wählen Sie „Serverzertifikat überprüfen“, um die Überprüfung des Backend-Serverzertifikats zu aktivieren.
- (Optional) Wählen Sie unter „Zertifizierungsstelle“ das CA-Zertifikat von Secrets Manager aus, das zur Überprüfung der Zertifikate der Backend-Server verwendet werden soll. Sofern nicht anders angegeben, wird der System-Trust-Store verwendet.
- Im Abschnitt „ Client-Authentifizierung “:
- Wählen Sie unter „Client-Zertifikat“ das Zertifikat unter Secrets Manager aus, das der Load Balancer den Backend-Servern vorlegen soll.
- Klicken Sie auf „ Speichern “ oder „ Erstellen “.
Konfiguration der „ mTLS “-Pool-Authentifizierung über die CLI
Erstellen eines Pools mit der Serverauthentifizierung v mTLS
Um einen Pool zu erstellen, bei dem die Zertifikatsüberprüfung auf dem Backend-Server aktiviert ist, verwenden Sie den Befehl „ ibmcloud is load-balancer-pool-create “:
ibmcloud is load-balancer-pool-create POOL_NAME LOAD_BALANCER ALGORITHM PROTOCOL \
HEALTH_DELAY HEALTH_RETRIES HEALTH_TIMEOUT HEALTH_TYPE \
--server-auth-verify-cert true \
[--server-auth-ca-crn CA_CERT_CRN]
Dabei gilt:
POOL_NAMEist der Name Ihres Pools.LOAD_BALANCERist die ID oder der Name Ihres Load Balancers.ALGORITHMist der Lastverteilungsalgorithmus (round_robin, weighted_round_robin oder least_connections).PROTOCOLFür die Unterstützung von „ mTLS “ muss „https“ eingestellt sein.CA_CERT_CRNist die optionale CRN des CA-Zertifikats, das zur Überprüfung der Zertifikate der Backend-Server verwendet wird.
Beispiel:
ibmcloud is load-balancer-pool-create my-pool my-load-balancer round_robin https \
20 2 5 http \
--server-auth-verify-cert true \
--server-auth-ca-crn crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f511
Erstellen eines Pools mit der Client-Authentifizierung „ mTLS “
So erstellen Sie einen Pool, bei dem die Vorlage von Client-Zertifikaten aktiviert ist:
ibmcloud is load-balancer-pool-create POOL_NAME LOAD_BALANCER ALGORITHM PROTOCOL \
HEALTH_DELAY HEALTH_RETRIES HEALTH_TIMEOUT HEALTH_TYPE \
--client-auth-cert-crn CLIENT_CERT_CRN
Beispiel:
ibmcloud is load-balancer-pool-create my-pool my-load-balancer round_robin https \
20 2 5 http \
--client-auth-cert-crn crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f512
Erstellen eines Pools mit Server- und Client- mTLS-Authentifizierung
So erstellen Sie einen Pool, der sowohl eine Serverüberprüfung als auch die Vorlage eines Client-Zertifikats unterstützt:
ibmcloud is load-balancer-pool-create my-pool my-load-balancer round_robin https \
20 2 5 http \
--server-auth-verify-cert true \
--server-auth-ca-crn crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f511 \
--client-auth-cert-crn crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f512
Aktualisieren eines Pools zur Aktivierung der Serverauthentifizierung über „ mTLS “
So aktualisieren Sie einen bestehenden Pool, um die Serverauthentifizierung zu aktivieren:
ibmcloud is load-balancer-pool-update LOAD_BALANCER POOL \
--server-auth-verify-cert true \
[--server-auth-ca-crn CA_CERT_CRN]
Beispiel:
ibmcloud is load-balancer-pool-update my-load-balancer my-pool \
--server-auth-verify-cert true \
--server-auth-ca-crn crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f511
Aktualisierung eines Pools zur Aktivierung der Client-Authentifizierung über „ mTLS “
So aktualisieren Sie einen bestehenden Pool, um die Client-Authentifizierung zu aktivieren:
ibmcloud is load-balancer-pool-update LOAD_BALANCER POOL \
--client-auth-cert-crn CLIENT_CERT_CRN
Deaktivieren der Serverauthentifizierung für „ mTLS “
So deaktivieren Sie die Serverauthentifizierung für einen Pool:
ibmcloud is load-balancer-pool-update LOAD_BALANCER POOL --reset-server-auth
Deaktivieren der Client-Authentifizierung über „ mTLS “
So deaktivieren Sie die Client-Authentifizierung für einen Pool:
ibmcloud is load-balancer-pool-update LOAD_BALANCER POOL --reset-client-auth
Konfiguration der Pool-Authentifizierung über die API
Erstellen eines Pools mit Server- und Client-Authentifizierung v mTLS
Um einen Pool zu erstellen, bei dem sowohl die Server- als auch die Client-Authentifizierung aktiviert ist, rufen Sie die Methode „ POST /load_balancers/{load_balancer_id}/pools “ auf:
curl -X POST \
"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools?version=2026-05-06&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"name": "my-pool",
"algorithm": "round_robin",
"protocol": "https",
"health_monitor": {
"delay": 20,
"max_retries": 2,
"timeout": 5,
"type": "http"
},
"server_authentication": {
"verify_certificate": true,
"certificate_authority": {
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f511"
}
},
"client_authentication": {
"certificate_instance": {
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f512"
}
}
}'
Aktualisieren eines Pools zur Aktivierung der Serverauthentifizierung über „ mTLS “
Um einen bestehenden Pool so zu aktualisieren, dass die Serverauthentifizierung aktiviert wird, rufen Sie die Methode „ PATCH /load_balancers/{load_balancer_id}/pools/{id} “ auf:
curl -X PATCH \
"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id?version=2026-05-06&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"server_authentication": {
"verify_certificate": true,
"certificate_authority": {
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f511"
}
}
}'
Aktualisierung eines Pools zur Aktivierung der Client-Authentifizierung über „ mTLS “
So aktualisieren Sie einen bestehenden Pool, um die Client-Authentifizierung zu aktivieren:
curl -X PATCH \
"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id?version=2026-05-06&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"client_authentication": {
"certificate_instance": {
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f512"
}
}
}'
Deaktivieren der Serverauthentifizierung für „ mTLS “
Um die Serverauthentifizierung zu deaktivieren, setzen Sie die Eigenschaft „ server_authentication “ auf „ null “:
curl -X PATCH \
"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id?version=2026-05-06&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"server_authentication": null
}'
Deaktivieren der Client-Authentifizierung über „ mTLS “
Um die Client-Authentifizierung zu deaktivieren, setzen Sie die Eigenschaft „ client_authentication “ auf „ null “:
curl -X PATCH \
"$vpc_api_endpoint/v1/load_balancers/$load_balancer_id/pools/$pool_id?version=2026-05-06&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"client_authentication": null
}'
Konfiguration der Authentifizierung für den „ mTLS “-Pool mit Terraform
Um die Authentifizierung für einen Pool mit Terraform zu konfigurieren, verwenden Sie die Ressource „ ibm_is_lb_pool “ zusammen mit den Blöcken „ server_authentication “ und „ client_authentication “:
resource "ibm_is_lb_pool" "example" {
lb = ibm_is_lb.example.id
name = "my-pool"
algorithm = "round_robin"
protocol = "https"
health_delay = 20
health_retries = 2
health_timeout = 5
health_type = "http"
server_authentication {
verify_certificate = true
certificate_authority_crn = "crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f511"
}
client_authentication {
certificate_instance_crn = "crn:v1:bluemix:public:secrets-manager:us-south:a/aa5a471f75bc456fac416bf02c4ba6de:aace9348-39da-4498-b132-e5ab918237f4:secret:e3bd96ce-1e4c-f642-d1f2-0d0ab025f512"
}
}
Überprüfung der Authentifizierungskonfiguration für den „ mTLS “-Pool
Nachdem Sie die Pool-Authentifizierung konfiguriert haben, überprüfen Sie, ob sie ordnungsgemäß funktioniert:
-
Überprüfen Sie den Pool-Status, um sicherzustellen, dass die Backend-Server einwandfrei funktionieren:
ibmcloud is load-balancer-pool LOAD_BALANCER POOL -
Wenn die Serverüberprüfung aktiviert ist, stellen Sie sicher, dass die Backend-Server gültige Zertifikate vorweisen, die von der konfigurierten Zertifizierungsstelle signiert wurden.
-
Wenn die Client-Authentifizierung aktiviert ist, stellen Sie sicher, dass die Backend-Server das vom Load Balancer vorgelegte Client-Zertifikat validieren können.
-
Überwachen Sie die Protokolle des Load Balancers auf etwaige „ TLS “-Handshake-Fehler, die auf Probleme bei der Zertifikatsvalidierung hindeuten könnten.
Wichtige Hinweise zur Authentifizierung auf Pool-Ebene bei „ mTLS “
- Die Konfiguration auf Pool-Ebene gilt für alle Backend-Server
- Sowohl die Server-Authentifizierung als auch die Client-Authentifizierung werden auf Pool-Ebene konfiguriert. Alle Backend-Server innerhalb des Pools verwenden dieselben Authentifizierungseinstellungen. Wenn Sie für verschiedene Backend-Server unterschiedliche Zertifikatsrichtlinien benötigen, erstellen Sie separate Pools.
- Mehrere Zertifizierungsstellen für Backend-Server
- Wenn Backend-Server im selben Pool von verschiedenen Zertifizierungsstellen signiert sind, können Sie eine gebündelte CA-Datei bereitstellen, die alle relevanten Stamm- und Zwischenzertifikate enthält. Alle Backend-Server gelten als vertrauenswürdig, wenn ihre Zertifikatsketten zu einer der im Bundle enthaltenen Zertifizierungsstellen führen.
- System-Vertrauensspeicher
- Wenn die Serverüberprüfung aktiviert ist, aber kein CA-Zertifikat bereitgestellt wird, verwendet der Load Balancer den System-Trust-Store ( Ubuntu Linux ), um die Zertifikate der Backend-Server zu validieren. Dies funktioniert bei Zertifikaten, die von bekannten öffentlichen Zertifizierungsstellen signiert wurden, jedoch nicht bei selbstsignierten Zertifikaten oder Zertifikaten privater Zertifizierungsstellen.
- Zertifikatsaktualisierungen
- Wenn Sie Zertifikate unter Secrets Manager aktualisieren, ruft der Load Balancer die aktualisierten Zertifikate automatisch ab. Möglicherweise müssen jedoch aktive Verbindungen neu aufgebaut werden, um die neuen Zertifikate nutzen zu können.