Cyber Recovery: Fehler beim Abrufen des Zertifikats mit TLS-Protokoll

Summary: Nach dem Upgrade auf Cyber Recovery 19.17 gibt es eine neue Option zur Überprüfung des Zertifikats, wenn das TLS-Protokoll (Transport Layer Security) aktiviert wird. In diesem Artikel werden Situationen behandelt, in denen das Abrufen des Zertifikats mit dem TLS-Protokoll fehlgeschlagen ist. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Nach dem Upgrade auf Cyber Recovery 19.17 gibt es eine neue Option zur Überprüfung des Zertifikats, wenn das TLS-Protokoll (Transport Layer Security) aktiviert wird. Bei der Überprüfung des Zertifikats wird der folgende Fehler in der Cyber Recovery-Benutzeroberfläche angezeigt:

Mail server certificate is required when enabling TLS.

Cyber Recovery TLS-Zertifikatfehler

Cause

In den Cyber Recovery-Protokollen werden die folgenden Einträge gedruckt.

Am crcli.log:

[2024-10-03 11:49:03.273] [DEBUG] [crcli] [restapi_client.go:384 HandleRESTAPIResponse()] : Entering
[2024-10-03 11:49:03.273] [DEBUG] [crcli] [restapi_client.go:392 HandleRESTAPIResponse()] : REST status code :500
[2024-10-03 11:49:03.273] [ERROR] [crcli] [restapi_client.go:401 HandleRESTAPIResponse()] : Failed to retrieve mail server certificate : Failed to connect to mail server: dial tcp: lookup smtp-mail.com: i/o timeout
[2024-10-03 11:49:03.273] [DEBUG] [crcli] [restapi_client.go:402 HandleRESTAPIResponse()] : Exiting
[2024-10-03 11:49:03.273] [ERROR] [crcli] [libcli.go:150 CliErrorExit()] : Failed to retrieve mail server certificate : Failed to connect to mail server: dial tcp: lookup smtp-mail.com: i/o timeout

Am edge.log:

[2024-10-03 11:48:53.268] [DEBUG] [edge] [restapi_client.go:200 callRestApi()] : Perform request.Post path=https://notifications:9096/irapi/v8/notifications/retrieveEmailCert
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:209 callRestApi()] : status = 500 Internal Server Error
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:410 GetCRResponse()] : Entering
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:417 GetCRResponse()] : Exiting
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:210 callRestApi()] : Exiting
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:116 CallCRRESTAPI()] : Exiting
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:57 CallRESTAPIHeader()] : Exiting
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:384 HandleRESTAPIResponse()] : Entering
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:392 HandleRESTAPIResponse()] : REST status code :500
[2024-10-03 11:49:03.272] [ERROR] [edge] [restapi_client.go:401 HandleRESTAPIResponse()] : Failed to connect to mail server: dial tcp: lookup smtp-mail.com: i/o timeout
[2024-10-03 11:49:03.272] [DEBUG] [edge] [restapi_client.go:402 HandleRESTAPIResponse()] : Exiting
[2024-10-03 11:49:03.272] [DEBUG] [edge] [jsonerr.go:27 JSONError()] : Entering
[2024-10-03 11:49:03.272] [ERROR] [edge] [jsonerr.go:40 JSONError()] : 500 : Failed to connect to mail server: dial tcp: lookup smtp-mail.com: i/o timeout
[2024-10-03 11:49:03.272] [DEBUG] [edge] [jsonerr.go:44 JSONError()] : Exiting
[2024-10-03 11:49:03.272] [DEBUG] [edge] [notifications.go:560 RetrieveEmailCert()] : Exiting
[2024-10-03 11:49:03.272] [INFO] [edge] [restauth.go:111 func1()] : POST /cr/v8/notifications/retrieveEmailCert End RetrieveEmailCert Elapsed=10.005125439s

Am notifications.log:

[2024-10-03 11:48:53.270] [INFO] [notifications] [restauth.go:68 func1()] : POST /irapi/v8/notifications/retrieveEmailCert Start RetrieveEmailCert
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [restauth.go:210 validateToken()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [restauth.go:194 DecryptToken()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [encoding.go:48 DecodeString()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [encoding.go:56 DecodeString()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [crcrypto.go:558 DecryptCFB()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [crcrypto.go:579 DecryptCFB()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [encoding.go:48 DecodeString()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [encoding.go:56 DecodeString()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [crcrypto.go:112 GenHash()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [crcrypto.go:118 GenHash()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [restauth.go:206 DecryptToken()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [restauth.go:268 ValidateTokenTime()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [restauth.go:281 ValidateTokenTime()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [restauth.go:255 validateToken()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [notifications.go:283 RetrieveEmailCert()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [notifications.go:175 ValidateMailServer()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [notifications.go:201 ValidateMailServerURL()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [notifications.go:210 ValidateMailServerURL()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [notifications.go:215 ValidateMailServerPort()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [notifications.go:222 ValidateMailServerPort()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [notifications.go:196 ValidateMailServer()] : Exiting
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [email.go:227 RetrieveEmailCert()] : Entering
[2024-10-03 11:48:53.270] [DEBUG] [notifications] [email.go:272 GetTLSConn()] : Entering
[2024-10-03 11:49:03.271] [DEBUG] [notifications] [email.go:283 GetTLSConn()] : Exiting
[2024-10-03 11:49:03.272] [ERROR] [notifications] [email.go:235 RetrieveEmailCert()] : Failed to connect to mail server: dial tcp: lookup smtp-mail.com: i/o timeout
[2024-10-03 11:49:03.272] [DEBUG] [notifications] [email.go:236 RetrieveEmailCert()] : Exiting
[2024-10-03 11:49:03.272] [ERROR] [notifications] [notifications.go:321 RetrieveEmailCert()] : Failed to connect to mail server: dial tcp: lookup smtp-mail.com: i/o timeout
[2024-10-03 11:49:03.272] [DEBUG] [notifications] [jsonerr.go:27 JSONError()] : Entering
[2024-10-03 11:49:03.272] [ERROR] [notifications] [jsonerr.go:40 JSONError()] : 500 : Failed to connect to mail server: dial tcp: lookup smtp-mail.com: i/o timeout
[2024-10-03 11:49:03.272] [DEBUG] [notifications] [jsonerr.go:44 JSONError()] : Exiting
[2024-10-03 11:49:03.272] [DEBUG] [notifications] [notifications.go:323 RetrieveEmailCert()] : Exiting

Ab Version 19.17 begann Cyber Recovery mit der Überprüfung des Mailserverzertifikats bei Verwendung von TLS. 
In Nicht-DNS-Umgebungen (Domain Name System) schlägt die Eingabe des Mailservers als DNS-Name fehl, da Cyber Recovery den Hostnamen aufgrund des fehlenden DNS in der Umgebung nicht in eine IP-Adresse auflösen kann.
Wenn eine IP-Adresse als Feld für den Mail-/Relay-Server in CR verwendet wird und das vom Mailserver bereitgestellte Zertifikat die IP nicht im Zertifikat enthält, schlägt die Überprüfung fehl, da das Zertifikat anhand der IP überprüft wird. 

Es gibt ein paar Workarounds, um dies zum Laufen zu bringen: 

  1. Fügen Sie dem vom Mailserver bereitgestellten Zertifikat die IP-Adresse hinzu, damit die Überprüfung durchgeführt werden kann.
  2. Fügen Sie den Eintrag für Mailserver und IP in hinzu /etc/hosts im Benachrichtigungscontainer, damit CR den Mailserver erfolgreich auflösen kann und die Zertifikatsüberprüfung durchgeführt werden kann.

Resolution

Es gibt zwei Möglichkeiten, dieses Problem zu beheben:

  1. Der Mailserver verwendet einen vollständig qualifizierten Domänennamen (FQDN) und Cyber Recovery kann das Zertifikat nicht abrufen.
    • Überprüfen Sie, ob Sie einen DNS-Server in Ihrer Vault-Umgebung verwenden und ob er ordnungsgemäß funktioniert.
    • Wenn kein DNS-Server im Vault vorhanden ist, führen Sie die folgenden Schritte aus:
      • Geben Sie die SMTP-Serverdetails (Simple Mail Transfer Protocol) in die Hostdateien für den Benachrichtigungs-Docker ein.
        1. Stellen Sie über SSH eine Verbindung zu Cyber Recovery her.
        2. Führen Sie diesen Befehl aus: 
           docker exec -it cr_notifications_1 bash
        3. Öffnen Sie die Datei mit einem Texteditor:
          /etc/hosts
        4. Fügen Sie die Einträge für den SMTP-Server als IP, FQDN und Kurzname hinzu.
        5. Speichern Sie die Datei.
        6. Führen Sie diesen Befehl aus, um den Docker-Container zu beenden:
          exit
      • Um den Eintrag im Feld /etc/hosts Datei während Neustarts persistent ist, gehen Sie wie folgt vor:
        • Hinzufügen einer Zeile in cr-install-path>/etc/docker-compose-prod-<current-version>.yml für die IP-Adresse, die Sie zu /etc/hosts Benachrichtigungen:
        • Die neue Zeile, die fett gedruckt ist, sollte den SMTP-FQDN und dann die IP enthalten:

          SMTP.server.com:xxx.xxx.xxx.xxx

             
                          build: .
                          image: ${registryName}/cr_notifications:${notificationsVersion}
                          container_name: cr_notifications_1
                          security_opt:
                                  - no-new-privileges:true
                          hostname: notifications
                          expose:
                                  - "9096"
                          depends_on:
                                  - postgresql
                          cap_drop:
                                  - ALL
                          environment:
                                  - LD_LIBRARY_PATH=/cr/lockbox/lib
                                  - CRHOSTNAME=${dockerHostFQDN}
                                  - ENABLE_TLS=${enableTLS}
                                  - ENABLE_POSTFIX=${enablePostfix}
                                  - GODEBUG=tlskyber=0
                          extra_hosts:
                                  - dockerbridge:${dockerBridge}
                                  - ${dockerHostFQDN}:${dockerHost}
                                  - SMTP.server.com:xxx.xxx.xxx.xxx
        • Führen Sie dann folgende Schritte aus: 'crsetup.sh – forcerecreate' WENN KEINE JOBS AUSGEFÜHRT WERDEN.
  2. Wenn Sie eine IP-Adresse für SMTP verwenden, kann Cyber Recovery das Zertifikat nicht abrufen.
    • In diesem Fall muss ein neues Zertifikat erzeugt werden, das die verwendete IP-Adresse enthält.

Oder

    • Falls das Zertifikat mit einem FQDN erstellt wurde, anstatt die IP für die Verbindung mit dem SMTP zu verwenden, verwenden Sie den FQDN in der Cyber Recovery-Benutzeroberfläche.

Affected Products

PowerProtect Cyber Recovery, Cyber Recovery Series
Article Properties
Article Number: 000242079
Article Type: Solution
Last Modified: 07 يناير 2026
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.