Udostępnij za pośrednictwem


Omówienie zmian w głównym urzędzie certyfikacji dla usługi Azure SQL Database i wystąpienia zarządzanego SQL

Usługa Azure SQL Database i wystąpienie zarządzane SQL zmieni certyfikat główny aplikacji/sterownika klienta z włączonym protokołem Secure Sockets Layer (SSL) lub Transport Layer Security (TLS), używanym do nawiązywania bezpiecznego połączenia TDS. Bieżący certyfikat główny ma wygasnąć 26 października 2020 r. w ramach standardowych najlepszych rozwiązań dotyczących konserwacji i zabezpieczeń. Ten artykuł zawiera więcej szczegółowych informacji na temat nadchodzących zmian, zasobów, których dotyczy problem, oraz kroków niezbędnych do zapewnienia, że aplikacja utrzymuje łączność z serwerem bazy danych.

Jaka aktualizacja będzie miała miejsce?

Forum przeglądarki urzędu certyfikacji (CA) niedawno opublikowało raporty o wielu certyfikatach wystawionych przez dostawców urzędu certyfikacji jako niezgodne.

Zgodnie z wymaganiami dotyczącymi zgodności w branży dostawcy urzędu certyfikacji zaczęli odwoływać certyfikaty urzędu certyfikacji dla niezgodnych urzędów certyfikacji, wymagając od serwerów używania certyfikatów wystawionych przez zgodne urzędy certyfikacji i podpisane przez certyfikaty urzędu certyfikacji z tych zgodnych urzędów certyfikacji. Ponieważ usługa Azure SQL Database i wystąpienie zarządzane SQL używają obecnie jednego z tych niezgodnych certyfikatów, których aplikacje klienckie używają do sprawdzania poprawności połączeń TLS, musimy upewnić się, że odpowiednie działania są podejmowane (opisane poniżej), aby zminimalizować potencjalny wpływ na serwery Azure SQL.

Nowy certyfikat będzie używany od 26 października 2020 r. Jeśli używasz pełnej weryfikacji certyfikatu serwera podczas nawiązywania połączenia z klienta SQL (TrustServerCertificate=false), musisz upewnić się, że klient SQL będzie mógł zweryfikować nowy certyfikat główny przed 26 października 2020 r.

Jak mogę wiedzieć, czy moja aplikacja może mieć wpływ?

Wszystkie aplikacje korzystające z protokołu SSL/TLS i weryfikują, czy certyfikat główny musi zaktualizować certyfikat główny w celu nawiązania połączenia z usługą Azure SQL Database i usługą Azure SQL Managed Instance.

Jeśli obecnie nie używasz protokołu SSL/TLS, nie ma to wpływu na dostępność aplikacji. Możesz sprawdzić, czy aplikacja kliencka próbuje zweryfikować certyfikat główny, sprawdzając parametry połączenia. Jeśli właściwość TrustServerCertificate jest jawnie ustawiona na wartość true, nie ma to wpływu.

Jeśli sterownik klienta korzysta z magazynu certyfikatów systemu operacyjnego, ponieważ większość sterowników, a system operacyjny jest regularnie utrzymywany, ta zmiana prawdopodobnie nie wpłynie na Ciebie, ponieważ przełączany certyfikat główny powinien być już dostępny w magazynie zaufanych certyfikatów głównych. Sprawdź folder Baltimore CyberTrust Root i DigiCert GlobalRoot G2 Root i sprawdź, czy jest obecny.

Jeśli sterownik klienta korzysta z lokalnego magazynu certyfikatów plików, aby uniknąć przerwania dostępności aplikacji z powodu nieoczekiwanego odwołania certyfikatów lub zaktualizowania certyfikatu, który został odwołany, zapoznaj się z sekcją Co należy zrobić, aby zachować łączność.

Co muszę zrobić, aby zachować łączność

Aby uniknąć przerwania dostępności aplikacji z powodu nieoczekiwanego odwołania certyfikatów lub zaktualizowania certyfikatu, który został odwołany, wykonaj następujące kroki:

Jaki może mieć wpływ?

Jeśli walidujesz certyfikaty serwera zgodnie z dokumentacją w tym miejscu, dostępność aplikacji może zostać przerwana, ponieważ baza danych nie będzie osiągalna. W zależności od aplikacji można odbierać różne komunikaty o błędach, w tym między innymi:

  • Nieprawidłowy certyfikat/odwołany certyfikat
  • Przekroczono limit czasu połączenia
  • Błąd, jeśli ma to zastosowanie

Często zadawane pytania

Jeśli nie używam protokołu SSL/TLS, czy nadal muszę zaktualizować główny urząd certyfikacji?

Jeśli nie używasz protokołu SSL/TLS, żadne akcje dotyczące tej zmiany nie są wymagane. Mimo to należy ustawić plan rozpoczęcia korzystania z najnowszej wersji protokołu TLS, ponieważ planujemy wymuszanie protokołu TLS w najbliższej przyszłości.

Co się stanie, jeśli nie zaktualizuję certyfikatu głównego przed 26 października 2020 r.?

Jeśli certyfikat główny nie zostanie zaktualizowany przed 30 listopada 2020 r., aplikacje, które łączą się za pośrednictwem protokołu SSL/TLS i nie będą mogły zweryfikować certyfikatu głównego, nie będą mogły komunikować się z usługą Azure SQL Database i wystąpieniem zarządzanym SQL, a aplikacja będzie napotykać problemy z łącznością z usługą Azure SQL Database i wystąpieniem zarządzanym SQL.

Czy muszę zaplanować przestój konserwacji dla tej zmiany?

L.p. Ponieważ zmiana jest tylko po stronie klienta, aby nawiązać połączenie z serwerem, nie trzeba w tym miejscu przestój konserwacji.

Co zrobić, jeśli nie mogę uzyskać zaplanowanego przestoju dla tej zmiany przed 26 października 2020 r.?

Ponieważ klienci używany do nawiązywania połączenia z serwerem muszą aktualizować informacje o certyfikacie zgodnie z opisem w sekcji poprawki tutaj, nie musimy w tym przypadku przestój serwera.

Czy w przypadku utworzenia nowego serwera po 30 listopada 2020 r. będzie miało to wpływ?

W przypadku serwerów utworzonych po 26 października 2020 r. można użyć nowo wystawionego certyfikatu dla aplikacji, aby nawiązać połączenie przy użyciu protokołu SSL/TLS.

Jak często firma Microsoft aktualizuje swoje certyfikaty lub jakie są zasady wygasania?

Te certyfikaty używane przez usługę Azure SQL Database i wystąpienie zarządzane SQL są udostępniane przez zaufane urzędy certyfikacji. Dlatego obsługa tych certyfikatów w usłudze Azure SQL Database i sql Managed Instance jest powiązana z obsługą tych certyfikatów przez urząd certyfikacji. Jednak tak jak w tym przypadku w tych wstępnie zdefiniowanych certyfikatach mogą występować nieprzewidziane usterki, które należy naprawić najwcześniej.

Jeśli używam replik do odczytu, czy muszę wykonać tę aktualizację tylko na serwerze podstawowym, czy na wszystkich replikach do odczytu?

Ponieważ ta aktualizacja jest zmianą po stronie klienta, jeśli klient używany do odczytywania danych z serwera repliki, musimy również zastosować zmiany dla tych klientów.

Czy mamy zapytanie po stronie serwera, aby sprawdzić, czy jest używany protokół SSL/TLS?

Ponieważ ta konfiguracja jest po stronie klienta, informacje nie są dostępne po stronie serwera.

Co zrobić, jeśli mam dalsze pytania?

Jeśli masz plan pomocy technicznej i potrzebujesz pomocy technicznej, utwórz żądanie pomoc techniczna platformy Azure, zobacz Jak utworzyć żądanie pomoc techniczna platformy Azure.