Udostępnij za pomocą


Podsumowanie szyfrowania programu SQL Server i klienta

Ten artykuł zawiera podsumowanie różnych scenariuszy i skojarzonych procedur umożliwiających szyfrowanie w programie SQL Server, a także sposób weryfikowania działania szyfrowania.

Szyfrowanie wszystkich połączeń z serwerem (szyfrowanie po stronie serwera)

Typ certyfikatu Wymuszanie szyfrowania we właściwościach serwera Importowanie certyfikatu serwera na każdym kliencie Ustawienie certyfikatu serwera zaufania Szyfrowanie właściwości w parametrach połączenia Komentarze
Certyfikat z podpisem własnym — automatycznie utworzony przez program SQL Server Tak Nie można wykonać Tak Ignorowane Program SQL Server 2016 (13.x) i starsze wersje używają algorytmu SHA1. Program SQL Server 2017 (14.x) i nowsze wersje używają algorytmu SHA256. Aby uzyskać więcej informacji, zobacz Zmiany algorytmu tworzenia skrótów dla certyfikatu z podpisem własnym w programie SQL Server 2017. Nie zalecamy tego podejścia do użycia w środowisku produkcyjnym.
Certyfikat z podpisem własnym utworzony przy użyciu New-SelfSignedCertificate lub narzędzia makecert — opcja 1 Tak Nie. Tak Ignorowane Nie zalecamy tego podejścia do użycia w środowisku produkcyjnym.
Certyfikat z podpisem własnym utworzony przy użyciu New-SelfSignedCertificate lub makecert — opcja 2 Tak Tak Opcjonalnie Ignorowane Nie zalecamy tego podejścia do użycia w środowisku produkcyjnym.
Serwer certyfikatów firmy lub urząd certyfikacji, który nie znajduje się na liście uczestników — Zaufany program główny firmy Microsoft — opcja 1 Tak Nie. Tak Ignorowane
Serwer certyfikatów firmy lub urząd certyfikacji, który nie znajduje się na liście uczestników — Zaufany program główny firmy Microsoft — opcja 2 Tak Tak Opcjonalnie Ignorowane
Zaufane urzędy główne Tak Nie. Opcjonalnie Ignorowane Zalecamy takie podejście.

Szyfrowanie połączeń z określonego klienta

Typ certyfikatu Wymuszanie szyfrowania we właściwościach serwera Importowanie certyfikatu serwera na każdym kliencie Określanie ustawienia certyfikatu serwera zaufania na kliencie Ręcznie określ właściwość szyfrowania na Wartość Tak/Prawda po stronie klienta Komentarze
Certyfikat z podpisem własnym — automatycznie utworzony przez program SQL Server Tak Nie można wykonać Tak Ignorowane Program SQL Server 2016 (13.x) i starsze wersje używają algorytmu SHA1. Program SQL Server 2017 (14.x) i nowsze wersje używają algorytmu SHA256. Aby uzyskać więcej informacji, zobacz Zmiany algorytmu tworzenia skrótów dla certyfikatu z podpisem własnym w programie SQL Server 2017. Nie zalecamy tego podejścia do użycia w środowisku produkcyjnym.
Certyfikat z podpisem własnym utworzony przy użyciu New-SelfSignedCertificate lub narzędzia makecert — opcja 1 Nie. Nie. Tak Tak Nie zalecamy tego podejścia do użycia w środowisku produkcyjnym.
Certyfikat z podpisem własnym utworzony przy użyciu New-SelfSignedCertificate lub makecert — opcja 2 Nie. Tak Opcjonalnie Tak Nie zalecamy tego podejścia do użycia w środowisku produkcyjnym.
Serwer certyfikatów firmy lub urząd certyfikacji, który nie znajduje się na liście uczestników — Zaufany program główny firmy Microsoft — opcja 1 Nie. Nie. Tak Tak
Serwer certyfikatów firmy lub urząd certyfikacji, który nie znajduje się na liście uczestników — Zaufany program główny firmy Microsoft — opcja 2 Nie. Tak Opcjonalnie Tak
Zaufane urzędy główne Nie. Nie. Opcjonalnie Tak Zalecamy takie podejście.

Jak sprawdzić, czy szyfrowanie działa?

Komunikację można monitorować za pomocą narzędzia, takiego jak Microsoft Network Monitor lub sniffer sieci, i sprawdzić szczegóły pakietów przechwyconych w narzędziu, aby potwierdzić, że ruch jest zaszyfrowany.

Alternatywnie możesz sprawdzić stan szyfrowania połączeń programu SQL Server przy użyciu poleceń Transact-SQL (T-SQL). Aby to zrobić, wykonaj następujące kroki:

  1. Otwórz nowe okno zapytania w programie SQL Server Management Studio (SSMS) i połącz się z wystąpieniem programu SQL Server.
  2. Wykonaj następujące polecenie języka T-SQL, aby sprawdzić wartość kolumny encrypt_option . W przypadku szyfrowanych połączeń wartość to TRUE.
SELECT *
FROM sys.dm_exec_connections;