Encrypting Connections to SQL Server

SQL Server obsługuje Secure Sockets Layer (SSL) i jest zgodny z zabezpieczenia protokół internetowego (IPSec).

Secure Sockets Layer (SSL)

Microsoft SQL Server Służy do szyfrowania danych, które są przesyłane w sieci między wystąpienie Secure Sockets Layer (SSL) SQL Server i aplikacji klient. Szyfrowanie SSL jest wykonywane w warstwie protokół i jest dostępny dla wszystkich SQL Server Klienci z wyjątkiem klienci biblioteki DB i 2,53 składników MDAC.

Może być używany do sprawdzania poprawności serwera podczas klient połączenia o szyfrowanie żądania.Jeśli wystąpienie SQL Server na komputerze, która została przypisana certyfikat od urzędu certyfikacji publiczne, tożsamość komputera i wystąpienie SQL Server jest vouched dla przez łańcuch certyfikat, które mogą prowadzić do zaufanego głównego urzędu certyfikacji. Takie sprawdzania poprawności serwera wymaga, aby komputer, na którym uruchomiona jest aplikacja kliencka był skonfigurowany zaufania głównego urzędu certyfikacji certyfikat, który jest używany przez serwer.Szyfrowanie z podpisem własnym certyfikatem jest możliwe i jest opisany w następnej sekcji, ale certyfikat z podpisem własnym oferuje tylko ograniczoną ochronę.

Poziom szyfrowanie używany przez protokół SSL 40-bitowe lub 128-bitowe, zależy od wersja Microsoft System operacyjny Windows, na którym działa na komputerach, aplikacji i bazy danych.

Włączanie protokołu SSL szyfrowanie zwiększa bezpieczeństwo danych przesyłanych w sieciach pomiędzy wystąpieniami SQL Server i aplikacji. Włączanie szyfrowanie jednak zmniejszyć wydajność.Gdy wszystkie ruchu między SQL Server Aplikacja klient są szyfrowane przy użyciu protokołu SSL, wymagany jest następujący dodatkowego przetwarzania:

  • Obie strony dodatkowych sieci jest wymagana w czasie połączenia.

  • Pakiety wysyłane z aplikacji do wystąpienie SQL Server musi być szyfrowane za pomocą Net-Library klient i odszyfrować za pomocą Net-Library serwera.

  • Pakiety wysyłane z programu SQL Server Aby aplikacja musi być szyfrowane za pomocą Net-Library serwera i odszyfrować za pomocą Net-Library klient.

Konfigurowanie protokołu SSL dla programu SQL Server

Poniższa procedura opisuje sposób konfigurowania protokołu SSL dla SQL Server.

Aby skonfigurować protokół SSL

  1. Zainstaluj certyfikat w magazynie certyfikatów systemu Windows z komputera serwera.

  2. Kliknij przycisk Rozpocznij, in the Microsoft SQL Server grupie wskaż programówNarzędzia konfiguracja, a następnie kliknij przycisk Program SQL Server Menedżer konfiguracja.

  3. Rozwiń węzeł Konfiguracja sieciowa serwera SQL, kliknij prawym przyciskiem myszy protokołów dla serwera, z którym chcesz, a następnie kliknij przycisk Właściwości.

    Uwaga

    This is the Protocols for<instance_name> section in the left pane of the tool, not a specific protocol in the right pane.

  4. Na Certyfikat zakładkę, skonfiguruj Database Engine Aby użyć certyfikatu.

  5. Na Flagi karcie służy do wyświetlania lub określania opcji szyfrowanie protokół.Pakiet logowania zawsze będą szyfrowane.

    • Gdy ForceEncryption Opcja Database Engine jest zestaw do Tak, cała komunikacja z klient a serwerem są szyfrowane i klientów, którzy nie obsługują szyfrowanie nie będą mieli dostępu.

    • Gdy ForceEncryption Opcja Database Engine jest ustawiona na Nr, szyfrowanie mogą być wymagane przez aplikację klient, ale nie jest wymagane.

    • SQL Server musi być ponownie uruchomiony po zmianie ForceEncryption ustawienie.

    Credentials (in the login packet) that are transmitted when a client application connects to SQL Server are always encrypted.SQL Server will use a certificate from a trusted certification authority if available.Jeśli nie zainstalowano zaufanego certyfikatu, SQL Server będzie generować certyfikat z podpisem własnym, podczas uruchamiania wystąpienie, a następnie użyj jest podpisany certyfikat do szyfrowania poświadczenia. Ten certyfikat z podpisem własnym pomaga zwiększyć bezpieczeństwo, ale nie zapewnia ochronę tożsamości fałszowania przez serwer.Jeśli używany jest podpisany certyfikat, a wartością ForceEncryption ustawiona opcja Tak, wszystkie dane przesyłane przez sieć między SQL Server i aplikacja klient zostanie zaszyfrowana przy użyciu certyfikat z podpisem własnym

    Ostrzeżenie

    Połączenia SSL, które są szyfrowane przy użyciu samopodpisujący się certyfikat nie zapewniają silne zabezpieczenia.Są one podatny na ataki typu man-in--middle.Nie gwarantuje, nie będą SSL przy użyciu certyfikaty z podpisem własnym w środowisku produkcyjnym lub na serwerach, które są połączone z Internetem.

Wymagania dotyczące certyfikat

Dla SQL Server Aby załadować certyfikatu SSL, certyfikat musi spełniać następujące warunki:

  • Certyfikat musi być w magazynie certyfikatów komputera lokalnego lub w bieżącym magazynie certyfikatów użytkownika.

  • Bieżący czas systemowy musi być późniejszy Ważne od właściwość certyfikat, a przed Ważny do właściwość certyfikat.

  • Certyfikat musi być przeznaczone do uwierzytelnianie serwera.Wymaga to Użycie klucz rozszerzonego właściwość certyfikat, aby określić Uwierzytelnianie serwera (1.3.6.1.5.5.7.3.1).

  • Certyfikat musi zostać utworzony przy użyciu KeySpec Opcja AT_KEYEXCHANGE.Na ogół certyfikat (właściwość użycia kluczKEY_USAGE) będzie również zawierać szyfrowanie klucz (CERT_KEY_ENCIPHERMENT_KEY_USAGE).

  • The Subject właściwość of the certyfikat must indicate that the common name (CN) is the same as the host name or fully qualified domena name (FQDN) of the server computer.Jeśli SQL Server jest uruchomiony klaster pracy awaryjnej, nazwę pospolitą musi być zgodna z nazwą hosta lub nazwę FQDN serwera wirtualnego i certyfikaty muszą być zaopatrzona we wszystkich węzłach klastra pracy awaryjnej.

Szyfrowanie w klastrze

Jeśli użytkownik chce użyć szyfrowanie z klaster pracy awaryjnej, należy zainstalować certyfikat serwera z pełną nazwą DNS wystąpienie klaster pracy awaryjnej we wszystkich węzłach klaster pracy awaryjnej.Na przykład, jeśli masz dwuwęzłowym klastrem z węzłów o nazwie Test1. swoją firmę .com a **Test2. Firma.com i pracy awaryjnej klastrowanego wystąpienie SQL Server o nazwie fcisql, należy uzyskać certyfikat dla fcisql. firmy.com i zainstalować certyfikat na obu węzłach.**Aby skonfigurować klaster pracy awaryjnej dla szyfrowanie, można wybrać ForceEncryptionpole wyboru Protokoły dla <Serwer> właściwość pola Konfiguracja sieciowa serwera SQL.

Protokół zabezpieczenia protokołu internetowego (IPSec)

SQL Server dane można zaszyfrować podczas przesyłania przy użyciu protokołu IPSec.Protokół IPSec jest oferowana przez systemy operacyjne klientów i serwerów i nie wymaga SQL Server Konfiguracja. Aby uzyskać informacje na temat protokołu IPSec skontaktuj się z systemu Windows lub dokumentacji sieci.