Szyfrowania połączeńSQL Server

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

Secure Sockets Layer (SSL)

Microsoft SQL Server can use Secure Sockets Layer (SSL) to encrypt data that is transmitted across a network between an instance of SQL Server and a client application.Szyfrowanie SSL jest wykonywana w warstwie protokół i jest dostępna dla wszystkich SQL Server z wyjątkiem klientów Biblioteka DB i 2,53 MDAC klientów.

SSLSłuży do sprawdzania poprawności serwera podczas szyfrowanie żądania połączenia klient.Jeśli wystąpienie SQL Server jest uruchomiona na komputerze, który został przypisany certyfikat od urzędu certyfikacji publicznych, tożsamość komputera i wystąpienie SQL Server jest vouched dla przez łańcuch certyfikat, które prowadzą do zaufanego głównego urzędu.Takie sprawdzania poprawności serwera wymaga komputera, na którym klient jest uruchomiona aplikacja skonfigurowana zaufania do głównego urzędu certyfikacji certyfikat, który jest używany przez serwer.Szyfrowanie za pomocą certyfikatu z podpisem własnym jest możliwe i opisane w poniższej sekcji, ale tylko ograniczoną ochronę oferuje certyfikat z podpisem własnym.

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

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

  • Roundtrip dodatkowe sieci jest wymagane połączenie czas.

  • Pakiety wysyłane z aplikacji do wystąpienie SQL Server musi być zaszyfrowane przez klient Net-Library i odszyfrowywane przez serwer sieci-Biblioteka.

  • Pakiety wysyłane z wystąpienie SQL Server do aplikacji musi być zaszyfrowane przez serwer biblioteki sieciowej i odszyfrowywane przez klient Net-Library.

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. Zainstalować certyfikat w magazynie certyfikatów systemu Windows komputera serwera.

  2. Kliknij Start, Microsoft SQL Server program grupę, wskaż polecenie Narzędzia konfiguracji, a następnie kliknij przycisk SQL Server Menedżer konfiguracji.

  3. Rozwiń Konfiguracja sieci programu SQL Server, kliknij prawym przyciskiem myszy protokołów dla serwera, a następnie kliknij Właściwości.

    Ostrzeżenie

    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 karta, skonfigurować Aparat baz danych do używania certyfikatu.

  5. Na flagi karta, wyświetlanie lub określanie opcji szyfrowanie protokół.Pakiet logowania zawsze będą szyfrowane.

    • Gdy ForceEncryption opcja dla Aparat baz danych jest zestaw do Tak, cała komunikacja klient i serwera są szyfrowane i klient, które nie obsługują szyfrowanie odmowa dostępu.

    • Gdy ForceEncryption opcja dla Aparat baz danych jest zestaw do nr, szyfrowanie mogą być żądane przez klient aplikacji, ale nie jest wymagane.

    • SQL Servermusi zostać uruchomiony ponownie 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 certyfikat, SQL Server będą generować certyfikat z podpisem własnym uruchomienia wystąpienie i Użyj certyfikat z podpisem własnym 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 jest używany certyfikat z podpisem własnym i wartość ForceEncryption jest opcja zestaw do Tak, wszystkie dane przesyłane przez sieć między SQL Server i aplikacji klient będą szyfrowane przy użyciu certyfikatu z podpisem własnym

    PrzestrogaPrzestroga

    Nie zapewniają silne zabezpieczenia połączeń SSL, które są szyfrowane przy użyciu certyfikat z podpisem własnym.Są one podatny na ataki typu man-in--middle.Nie można polegać na SSL za pomocą certyfikatów z podpisem własnym w środowisku produkcyjnym lub na serwerach, które są połączone z Internetem.

Wymagania certyfikatów

Dla SQL Server 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ć po Ważny od właściwość certyfikat i przed ważny do właściwość certyfikat.

  • certyfikat Musi być przeznaczony do uwierzytelnianie serwera.Wymaga to Użycie klucza rozszerzonego właściwość certyfikat, aby określić Uwierzytelniania serwera (1.3.6.1.5.5.7.3.1).

  • certyfikat Musi zostać utworzony za pomocą KeySpec z opcją AT_KEYEXCHANGE.Zazwyczaj właściwość użycia klucz certyfikat (KEY_USAGE) obejmuje również szyfrowanie klucz (CERT_KEY_ENCIPHERMENT_KEY_USAGE).

  • Przedmiotem właściwość certyfikat musi wskazywać, że nazwa wspólna (CN) jest taka sama jak nazwa hosta lub w pełni kwalifikowanej nazwy domena (FQDN) komputera serwera.Jeśli SQL Server działa w klastrze pracy awaryjnej pospolita nazwa musi odpowiadać nazwie hosta lub nazwę FQDN serwera wirtualnego i świadectw musi zostać zastrzeżona we wszystkich węzłach klaster pracy awaryjnej.

  • SQL Server 2008 R2i SQL Server 2008 R2 Native Client obsługuje certyfikaty symboli wieloznacznych.Innych klientów, w tym obiektów ADO.NET SqlClient, wykonaj dotychczas obsługę symboli wieloznacznych certyfikaty.Obsługę symboli wieloznacznych certyfikaty dla obiektów ADO.SqlClient netto jest rozważane w przyszłości.Aby uzyskać więcej informacji, zobacz KB258858.

Wymagania macierzystym certyfikatu klienta SQL Server

Aplikacje używające "SERVER=shortname; FORCE ENCRYPTION=true" z certyfikat, którego podmioty określić w pełni kwalifikowane nazwy domen (FQDN) w połączeniu w przeszłości wynika z obniżone sprawdzania poprawności.SQL Server 2008 R2zwiększa bezpieczeństwo, wymuszając dokładny odpowiednik podmioty certyfikatów.Aplikacje, które opierają się na obniżone sprawdzania poprawności, należy wykonać jedną z następujących czynności:

  • Użyj nazwy FQDN w połączeniu z ciąg.

    • Ta opcja nie wymaga ponownego kompilowania aplikacji, jeśli SERVER słowa kluczowego połączenia ciąg skonfigurowane poza aplikacji.

    • Ta opcja nie działa dla aplikacji, które mają ich ustalony ciągów połączenia.

    • Ta opcja nie działa dla aplikacji używających dublowania bazy danych od odpowiedzi serwera dublowanego prostą nazwą.

  • Dodaj alias skróconą do mapowania nazwy FQDN.

    • Ta opcja działa nawet dla aplikacji, które mają ich ustalony ciągów połączenia.

    • Ta opcja nie działa dla aplikacji korzystających z dublowania bazy danych od dostawców wyszukiwania nie aliasy dla nazw partner odebranych pracy awaryjnej.

  • Mają certyfikat wystawiony dla skróconą.

    • Ta opcja działa dla wszystkich aplikacji.

Szyfrowanie w klastrze

Jeśli chcesz używać szyfrowanie z klaster pracy awaryjnej, należy zainstalować certyfikat serwera z pełną nazwą DNS wystąpienie klaster pracy awaryjnej na wszystkich węzłach klaster pracy awaryjnej.Na przykład, jeśli masz dwa węzły klastra, z węzłów o nazwie test1.firmy.com i **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.**Do konfigurowania klaster pracy awaryjnej dla szyfrowanie, możesz wybrać ForceEncryption pole wyboru na protokołów dla <server> w polu właściwość SQL Server konfiguracji sieci.

Zabezpieczenia protokołu internetowego (IPSec)

SQL Server można szyfrować dane podczas transmisji przy użyciu protokołu IPSec.IPSec dostarczone przez klient i serwera systemów operacyjnych i nie wymaga SQL Server konfiguracja.Aby uzyskać informacje dotyczące protokołu IPSec Zobacz Windows lub w dokumentacji sieci.