Udostępnij przez


Rozwiązywanie problemów z błędami połączeń TLS

Ważne

Rozpoczęliśmy rotację certyfikatów TLS dla usługi Azure Database for PostgreSQL , aby zaktualizować nowe certyfikaty pośredniego urzędu certyfikacji i wynikowy łańcuch certyfikatów. Nadrzędne urzędy certyfikacji pozostają takie same.

Nie jest wymagana żadna akcja, jeśli konfiguracja klienta implementuje zalecane konfiguracje protokołu TLS.

Harmonogram rotacji certyfikatów

  • Regiony Azure Zachodnio-centralne USA, Azja Wschodnia i Południowa Wielka Brytania rozpoczęły wymianę certyfikatów TLS 11 listopada 2025 r.
  • Od 19 stycznia 2026 r. ta rotacja certyfikatów ma zostać rozszerzona do pozostałych (z wyjątkiem Chin) regionów, w tym platformy Azure Government.
  • Po Festiwalu Wiosny (Chiński Nowy Rok) 2026 regiony Chin również zostaną poddane rotacji certyfikatów, która obejmuje zmianę jednego z głównych urzędów certyfikacji.

Weryfikowanie konfiguracji klienta

Aby zweryfikować konfigurację klienta przed planowaną rotacją, upewnij się, że zaimplementowane są zalecane konfiguracje dla protokołu TLS.

Sprawdzanie głównego magazynu certyfikatów

Należy mieć minimalne wymagane certyfikaty główne lub pełny zestaw certyfikatów głównych zainstalowanych w magazynie certyfikatów głównych klienta.

Ostrzeżenie

Ufaj tylko certyfikatom głównego urzędu certyfikacji Azure w głównym magazynie certyfikatów klientów. Unikaj zaufania pośrednich urzędów certyfikacji lub poszczególnych certyfikatów serwera, ponieważ te rozwiązania mogą prowadzić do nieoczekiwanych problemów z połączeniem, gdy firma Microsoft aktualizuje łańcuch certyfikatów lub wymienia poszczególne certyfikaty serwera.

Określanie stanu połączenia TLS

Aby określić bieżący stan połączenia TLS, możesz załadować rozszerzenie sslinfo , a następnie wywołać ssl_is_used() funkcję w celu określenia, czy protokół TLS jest używany. Funkcja zwraca t wartość , jeśli połączenie korzysta z protokołu TLS. W przeciwnym razie zwraca f. Możesz również zebrać wszystkie informacje o użyciu protokołu TLS wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL przy użyciu procesu, klienta i aplikacji, korzystając z następującego zapytania:

SELECT datname as "Database name", usename as "User name", ssl, client_addr, application_name, backend_type
   FROM pg_stat_ssl
   JOIN pg_stat_activity
   ON pg_stat_ssl.pid = pg_stat_activity.pid
   ORDER BY ssl;

Testowanie połączenia TLS za pomocą protokołu OpenSSL

Do testowania możesz użyć polecenia openssl, aby nawiązać połączenie z bazą danych Azure Database for PostgreSQL i wyświetlić certyfikaty TLS.

openssl s_client -starttls postgres -showcerts -connect <your-postgresql-server-name>:5432

To polecenie wyświetla informacje o protokole niskiego poziomu, takie jak wersja protokołu TLS i szyfrowanie. Należy użyć opcji -starttls postgres. W przeciwnym razie to polecenie zgłasza, że żaden protokół TLS nie jest używany. Użycie tego polecenia wymaga co najmniej biblioteki OpenSSL 1.1.1.

Repliki do odczytu

W przypadku migracji głównego urzędu certyfikacji do głównego urzędu certyfikacji microsoft RSA 2017 możliwe jest, aby nowo utworzone repliki znajdowały się na nowszym certyfikacie głównego urzędu certyfikacji niż wcześniej utworzony serwer podstawowy. W przypadku klientów korzystających z ustawień konfiguracji sslmode=verify-ca i sslmode=verify-full, należy zaakceptować nowe i poprzednie certyfikaty głównego urzędu certyfikacji do momentu ukończenia rotacji certyfikatów na nowych i istniejących serwerach.

Troubleshoot

  1. Zacznij od odtworzenia problemu
  2. Zbieranie danych diagnostycznych (komunikaty o błędach po stronie klienta, dane wyjściowe psql, dane wyjściowe protokołu OpenSSL s_client i dzienniki serwera).
  3. Weryfikowanie parametrów serwera (require_secure_transport, ssl_min_protocol_version, ssl_max_protocol_version)
  4. Sprawdź łańcuch certyfikatów i ustawienia sslmode/sslrootcert klienta, aby wskazać niezgodność w wersjach protokołów, zestawach szyfrowania lub brakujących/obróconych certyfikatach.

Błędy łączności TLS

  1. Pierwszym krokiem w rozwiązywaniu problemów ze zgodnością wersji protokołu TLS jest zidentyfikowanie komunikatów o błędach, które Ty lub Twoi użytkownicy widzą podczas próby dostępu do wystąpienia elastycznego serwera usługi Azure Database for PostgreSQL z poziomu klienta w ramach szyfrowania TLS. W zależności od aplikacji i platformy komunikaty o błędach mogą się różnić. W wielu przypadkach wskazują one na podstawowy problem.
  2. Aby mieć pewność zgodności wersji protokołu TLS, sprawdź konfigurację protokołu TLS serwera bazy danych i klienta aplikacji, aby upewnić się, że obsługują one zgodne wersje i zestawy szyfrowania.
  3. Przeanalizuj wszelkie rozbieżności lub luki między serwerem bazy danych a wersjami protokołu TLS klienta i zestawami szyfrowania. Spróbuj je rozwiązać, włączając lub wyłączając niektóre opcje, uaktualnianie lub obniżanie poziomu oprogramowania albo zmienianie certyfikatów lub kluczy. Na przykład może być konieczne włączenie lub wyłączenie określonych wersji protokołu TLS na serwerze lub kliencie, w zależności od wymagań dotyczących zabezpieczeń i zgodności. Na przykład może być konieczne wyłączenie protokołów TLS 1.0 i TLS 1.1, które są uznawane za niezabezpieczone i przestarzałe, oraz włączenie protokołów TLS 1.2 i TLS 1.3, które są bezpieczniejsze i nowoczesne.
  4. Najnowszy certyfikat wystawiony przez główny urząd certyfikacji RSA firmy Microsoft 2017 ma pośrednictwa w łańcuchu podpisanym krzyżowo przez globalny główny urząd certyfikacji G2 firmy Digicert. Niektóre biblioteki klienta Postgres, podczas używania sslmode=verify-full lub sslmode=verify-ca ustawień, mogą wystąpić błędy połączeń z certyfikatami głównego urzędu certyfikacji, które są podpisane krzyżowo z certyfikatami pośrednimi. Wynikiem są alternatywne ścieżki zaufania.

Aby obejść te problemy, dodaj wszystkie niezbędne certyfikaty do magazynu certyfikatów klienta lub jawnie określ sslrootcert parametr . Możesz też ustawić zmienną PGSSLROOTCERT środowiskową na ścieżkę lokalną, w której znajduje się certyfikat głównego urzędu certyfikacji 2017 urzędu certyfikacji firmy Microsoft RSA z wartością %APPDATA%\postgresql\root.crtdomyślną .

Problemy z urzędem certyfikacji

Uwaga / Notatka

Jeśli nie używasz ustawień sslmode=verify-full ani sslmode=verify-ca w łańcuchu połączenia aplikacji klienckiej, rotacja certyfikatów nie ma wpływu na Ciebie. W związku z tym nie musisz wykonywać kroków opisanych w tej sekcji.

  1. Utwórz listę certyfikatów znajdujących się w zaufanym magazynie głównym
    1. Możesz na przykład programowo uzyskać listę zaufanych certyfikatów w magazynie kluczy Java.
    2. Możesz na przykład sprawdzić magazyn kluczy java cacerts, aby sprawdzić, czy zawiera już wymagane certyfikaty.
  2. Używasz przypinania certyfikatu, jeśli masz indywidualne certyfikaty pośrednie lub indywidualne certyfikaty serwera PostgreSQL. Jest to nieobsługiwana konfiguracja.
  3. Aby usunąć przypinanie certyfikatu, usuń wszystkie certyfikaty z zaufanego magazynu głównego i dodaj tylko certyfikaty głównego urzędu certyfikacji.

Jeśli występują problemy nawet po wykonaniu tych kroków, skontaktuj się z pomocą techniczną firmy Microsoft. Dołącz do tytułu ICA Rotation 2026.

Problemy z przypinaniem certyfikatu

Jeśli nie używasz ustawień sslmode=verify-full lub sslmode=verify-ca w parametrach połączenia aplikacji klienckiej, rotacje certyfikatów nie mają wpływu na Ciebie. W związku z tym nie musisz wykonywać kroków opisanych w tej sekcji.

  1. Sprawdź, czy używasz przypinania certyfikatu w aplikacji.
  2. Sporządź listę certyfikatów znajdujących się w zaufanym magazynie głównym. Przykład:
    1. Programistyczne uzyskiwanie listy zaufanych certyfikatów w Java Key Store.
    2. Sprawdź magazyn kluczy java cacerts, aby sprawdzić, czy zawiera już wymagane certyfikaty.
  3. Używasz przypinania certyfikatu, jeśli masz indywidualne certyfikaty pośrednie lub indywidualne certyfikaty serwera PostgreSQL.
  4. Aby usunąć przypinanie certyfikatów, usuń wszystkie certyfikaty z zaufanego magazynu certyfikatów root i dodaj nowe certyfikaty.
  5. Zaktualizowane certyfikaty można pobrać z oficjalnego repozytorium firmy Microsoft: szczegóły urzędu certyfikacji platformy Azure.

Jeśli występują problemy nawet po wykonaniu tych kroków, skontaktuj się z pomocą techniczną firmy Microsoft. Uwzględnij w tytule ICA Rotation 2026.

Weryfikowanie łańcucha certyfikatów

Stary łańcuch

  • Globalny Certyfikat Root G2 firmy DigiCert
    • Microsoft Azure RSA TLS Issuing CA 03/04/07/08
    • Certyfikat serwera

Nowy łańcuch

  • Globalny Urząd Certyfikacji G2 DigiCert
    • Microsoft TLS RSA Root G2
    • Microsoft TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16
    • Certyfikat serwera