Cyberprzywracanie: Pobieranie certyfikatu nie powiodło się przy użyciu protokołu TLS

Summary: Po uaktualnieniu do wersji Cyber Recovery 19.17 dostępna jest nowa opcja weryfikacji certyfikatu podczas włączania protokołu TLS (Transport Layer Security). W tym artykule omówiono sytuacje, w których pobieranie certyfikatu nie powiodło się przy użyciu protokołu TLS. ...

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

Po uaktualnieniu do wersji Cyber Recovery 19.17 dostępna jest nowa opcja weryfikacji certyfikatu podczas włączania protokołu TLS (Transport Layer Security). Podczas weryfikowania certyfikatu w interfejsie użytkownika Cyber Recovery wyświetlany jest następujący błąd:

"Certyfikat serwera poczty jest wymagany podczas włączania TLS".

Błąd certyfikatu TLS Cyber Recovery

Cause

Z dzienników Cyber Recovery drukowane są następujące wpisy.

W dniu 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

Na 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

Na 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

Od wersji 19.17 funkcja Cyber Recovery rozpoczęła weryfikację certyfikatu serwera poczty podczas korzystania z protokołu TLS. 
W środowiskach innych niż DNS (Domain Name System) wprowadzenie serwera poczty jako nazwy DNS nie powiedzie się, ponieważ Cyber Recovery nie ma skonfigurowanego DNS. 
Gdy adres IP jest używany jako serwer poczty, a certyfikat nie ma adresu IP w certyfikacie, weryfikacja kończy się niepowodzeniem, ponieważ certyfikat jest weryfikowany pod kątem adresu IP.

Istnieje kilka obejść, które pozwalają to zrobić: 
1) Dodaj adres IP do certyfikatu, aby weryfikacja mogła działać.
2) Dodaj wpis dla serwera pocztowego i adresu IP w /etc/hosts w kontenerze powiadomień do komunikacji z serwerem poczty za pomocą DNS i weryfikacji certyfikatu.

Resolution

Istnieją dwie opcje rozwiązania tego problemu:

  1. Serwer poczty używa w pełni kwalifikowanej nazwy domeny (FQDN), a funkcja Cyber Recovery nie może uzyskać certyfikatu.
    • Sprawdź, czy używasz serwera DNS w środowisku magazynu i czy działa on prawidłowo.
    • Jeśli w magazynie nie ma serwera DNS, wykonaj następujące czynności:
      • Wprowadź szczegóły serwera SMTP (Simple Mail Transfer Protocol) w plikach hosts okna dokowanego powiadomień.
        1. Połącz się z Cyber Recovery przy użyciu SSH.
        2. Uruchom następujące polecenie: 
           docker exec -it cr_notifications_1 bash
        3. Otwórz plik za pomocą edytora tekstu:
          /etc/hosts
        4. Dodaj wpisy serwera SMTP jako adres IP, nazwę FQDN i krótką nazwę.
        5. Zapisz plik.
        6. Uruchom to polecenie, aby zamknąć kontener platformy Docker:
          exit
      • Aby dokonać wpisu w polu /etc/hosts trwałe po ponownym uruchomieniu komputera, wykonaj następujące czynności:
        • Dodaj wiersz w cr-install-path>/etc/docker-compose-prod-<current-version>.yml dla adresu IP, do którego chcesz dodać /etc/hosts Powiadomienia:
                          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}
                                  - <mailserver>:IP <<<<<<<<<<<<<<<<<<<<<<<<
        • Następnie uruchom 'crsetup.sh – forcerecreate' JEŚLI NIE SĄ URUCHOMIONE ŻADNE ZADANIA.
  2. Użycie adresu IP dla SMTP i Cyber Recovery nie może uzyskać certyfikatu.
    • W takim przypadku należy wygenerować nowy certyfikat, który będzie zawierał używany adres IP.

Lub

    • W przypadku, gdy certyfikat został utworzony przy użyciu nazwy FQDN, zamiast używać adresu IP do łączenia się z SMTP, użyj nazwy FQDN w interfejsie użytkownika Cyber Recovery.

Affected Products

PowerProtect Cyber Recovery, Cyber Recovery Series
Article Properties
Article Number: 000242079
Article Type: Solution
Last Modified: 18 Jun 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.