Herstellen einer Verbindung mit der Datenbank-Engine unter Verwendung von Erweiterter Schutz

Gilt für:yes SQL Server (alle unterstützten Versionen)

SQL Server unterstützt erweiterten Schutz ab SQL Server 2008 R2. Erweiterter Schutz für die Authentifizierung ist eine Funktion der vom Betriebssystem implementierten Netzwerkkomponenten. Erweiterter Schutz wird in Windows 7 und Windows Server 2008 R2 unterstützt. Erweiterter Schutz ist in Service Packs für ältere Microsoft-Betriebssysteme enthalten. SQL Server ist sicherer, wenn Verbindungen mithilfe des erweiterten Schutzes hergestellt werden.

Wichtig

Erweiterter Schutz ist in Windows standardmäßig nicht aktiviert. Informationen zum Aktivieren von Erweiterter Schutz in Windows finden Sie unter Erweiterter Schutz für die Authentifizierung.

Beschreibung von "Erweiterter Schutz"

Erweiterter Schutz nutzt die Dienstbindung und die Kanalbindung, um Relayangriffe während der Authentifizierung zu verhindern. Bei einem Authentifizierungs relay-Angriff stellt ein Client, der die NTLM-Authentifizierung durchführen kann (z. B. Windows Explorer, Microsoft Outlook, eine .NET SqlClient-Anwendung usw.), eine Verbindung mit einem Angreifer (z. B. einem schädlichen CIFS-Dateiserver) herstellen. Der Angreifer verwendet die Anmeldeinformationen des Clients, um sich als Client zu maskieren und sich bei einem Dienst zu authentifizieren (z. B. einer Instanz des Datenbank-Engine Diensts).

Der Angriff kann auf zwei Arten erfolgen:

  • Bei einem "Lockangriff" wird der Client dazu verleitet, freiwillig eine Verbindung mit dem Angreifer herzustellen.

  • Bei einem Spoofingangriff beabsichtigt der Client, eine Verbindung mit einem gültigen Dienst herzustellen, bemerkt jedoch nicht, dass DNS und/oder IP-Routing manipuliert wurden, um die Verbindung an den Angreifer umzuleiten.

SQL Server unterstützt Dienstbindung und Kanalbindung, um diese Angriffe auf SQL Server zu reduzieren.

Dienstbindung

Die Dienstbindung löst Lockangriffe, indem ein Client einen signierten Dienstprinzipalnamen (Service Principal Name, SPN) des SQL Server-Diensts senden muss, mit dem der Client eine Verbindung herstellen möchte. Der Dienst überprüft als Teil der Authentifizierungsantwort, ob der im Paket empfangene SPN mit seinem eigenen SPN übereinstimmt. Wenn ein Client verleitet wird, eine Verbindung mit einem Angreifer herzustellen, sendet der Client den signierten SPN des Angreifers. Der Angreifer kann das Paket nicht zur Authentifizierung an den echten SQL Server-Dienst als Client weiterleiten, da er den SPN des Angreifers enthalten würde. Bei der Dienstbindung fallen einmalig unwesentliche Kosten an, allerdings bietet sie keinen Schutz vor Spoofingangriffen. Die Dienstbindung tritt auf, wenn eine Clientanwendung keine Verschlüsselung verwendet, um eine Verbindung mit dem SQL Server.

Kanalbindung

Die Kanalbindung richtet einen sicheren Kanal (Schannel) zwischen einem Client und einer Instanz des SQL Server ein. Der Dienst überprüft die Echtheit des Clients, indem er das für den jeweiligen Kanal spezifische Kanalbindungsbindungstoken (Channel Binding Token, CBT) des Clients mit dem eigenen CBT vergleicht. Durch die Kanalbindung werden sowohl Lock- als auch Spoofingangriffe unterbunden. Diese Methode verursacht jedoch höhere Laufzeitkosten, da TLS (Transport Layer Security)-Verschlüsselung für den gesamten Sitzungsdatenverkehr erforderlich ist. Die Kanalbindung tritt auf, wenn eine Clientanwendung die Verschlüsselung verwendet, um eine Verbindung mit dem SQL Server herzustellen, unabhängig davon, ob die Verschlüsselung vom Client oder vom Server erzwungen wird.

Warnung

SQL Server und Microsoft-Datenanbieter für SQL Server TLS 1.0 und SSL 3.0. Wenn Sie ein anderes Protokoll erzwingen (z. B. TLS 1.1 oder TLS 1.2), indem Sie Änderungen an der SChannel-Ebene des Betriebssystems vornehmen, können Ihre Verbindungen mit SQL Server fehlschlagen. Stellen Sie sicher, dass Sie die neueste Version von SQL Server haben, um TLS 1.1 oder TLS 1.2 zu unterstützen. Weitere Informationen finden Sie unter https://support.microsoft.com/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe.

Betriebssystemunterstützung

Die folgenden Links enthalten weitere Informationen dazu, wie Erweiterter Schutzvon Windows unterstützt wird:

Einstellungen

Es gibt drei SQL Server, die sich auf die Dienstbindung und kanalbindung auswirken. Die Einstellungen können mithilfe der SQL Server-Konfigurations-Manager oder WMI konfiguriert und mithilfe des Facets Serverprotokoll Einstellungen der richtlinienbasierten Verwaltung angezeigt werden.

  • Erzwingen der Verschlüsselung

    Mögliche Werte sind Ein und Aus. Zur Verwendung der Kanalbindung muss Verschlüsselung erzwingen auf Einfestgelegt werden, sodass die Verschlüsselung auf allen Clients erzwungen wird. Bei der Einstellung Auswird nur die Dienstbindung gewährleistet. Verschlüsselung erzwingen befindet sich auf der Registerkarte Protokolle für MSSQLSERVER-Eigenschaften (Registerkarte Flags) SQL Server-Konfigurations-Manager.

  • Erweiterter Schutz

    Mögliche Werte sind Aus, Zulässigund Erforderlich. Mit der Variablen Erweiterter Schutz können Benutzer die Erweiterte Schutzebene für jede SQL Server konfigurieren. Erweiterter Schutz befindet sich in der Registerkarte Protokolle für MSSQLSERVER-Eigenschaften (Registerkarte Erweitert) SQL Server-Konfigurations-Manager.

    • Bei der Einstellung Ausist Erweiterter Schutz deaktiviert. Die Instanz von SQL Server akzeptiert Verbindungen von jedem Client, unabhängig davon, ob der Client geschützt ist oder nicht. Aus ist mit älteren und nicht gepatchten Betriebssystemen kompatibel, bietet aber weniger Sicherheit. Verwenden Sie diese Einstellung, wenn Sie wissen, dass die Clientbetriebssysteme keinen erweiterten Schutz unterstützen.

    • Bei der Einstellung Zulässigwird Erweiterter Schutz für Verbindungen von Betriebssystemen vorausgesetzt, die die Funktion Erweiterter Schutzunterstützen. Bei Verbindungen von Betriebssystemen, dieErweiterter Schutz nicht unterstützen, wird die Funktion Erweiterter Schutzignoriert. Verbindungen von ungeschützten Clientanwendungen, die auf geschützten Clientbetriebssystemen ausgeführt werden, werden abgelehnt. Diese Einstellung ist sicherer als Aus, bietet jedoch nicht die höchste Sicherheit. Verwenden Sie diese Einstellung in gemischten Umgebungen, in denen einige Betriebssysteme die Funktion Erweiterter Schutz unterstützen, einige jedoch nicht.

    • Bei der Einstellung Erforderlichwerden nur Verbindungen von geschützten Anwendungen auf geschützten Betriebssystemen akzeptiert. Diese Einstellung ist die sicherste Einstellung, aber Verbindungen von Betriebssystemen oder Anwendungen, die erweiterten Schutz nicht unterstützen, können keine Verbindung mit SQL Server.

  • Akzeptierte NTLM-SPNs

    Die Variable Akzeptierte NTLM-SPNs wird benötigt, wenn ein Server durch mehr als einen SPN identifiziert wird. Wenn ein Client versucht, mithilfe eines gültigen, dem Server nicht bekannten SPNs eine Verbindung mit dem Server herzustellen, verursacht die Dienstbindung einen Fehler. Um dieses Problem zu vermeiden, können Benutzer mithilfe von Akzeptierte NTLM-SPNsmehrere SPNs für den Server angeben. Akzeptierte NTLM-SPNs umfasst eine Reihe durch Semikolons getrennter SPNs. Beispiel: Um die Verwendung der SPNs MSSQLSvc/ HostName1.Contoso.com und MSSQLSvc/ HostName2.Contoso.comzuzulassen, geben Sie im Feld Akzeptierte NTLM-SPNs die Zeichenfolge MSSQLSvc/HostName1.Contoso.com;MSSQLSvc/HostName2.Contoso.com ein. Die maximale Länge der Variablen beträgt 2.048 Zeichen. Akzeptierte NTLM-SPNs finden Sie unter Protokolle für MSSQLSERVER-Eigenschaften (Registerkarte Erweitert) in SQL Server-Konfigurations-Manager.

Aktivieren von "Erweiterter Schutz" für die Datenbank-Engine

Zur Verwendung von Erweiterter Schutzbenötigen sowohl der Server als auch der Client ein Betriebssystem, das Erweiterter Schutzunterstützt, und die Funktion Erweiterter Schutz muss für das Betriebssystem aktiviert sein. Weitere Informationen zum Aktivieren von Erweiterter Schutz für das Betriebssystem finden Sie unter Erweiterter Schutz für die Authentifizierung.

SQL Server unterstützt erweiterten Schutz ab SQL Server 2008 R2. Erweiterter Schutz für einige frühere Versionen von SQL Server werden in zukünftigen Updates verfügbar gemacht. Nachdem Sie Erweiterter Schutz auf dem Servercomputer aktiviert haben, führen Sie die folgenden Schritte aus, um Erweiterter Schutzzu aktivieren:

  1. Zeigen Sie im Menü Start auf Alle Programme, zeigen Sie auf Microsoft SQL Server , und klicken Sie dann auf SQL Server-Konfigurations-Manager.

  2. Erweitern SQL Server Netzwerkkonfiguration, klicken Sie mit der rechten Maustaste auf Protokolle für __InstanceName**, und klicken Sie dann auf Eigenschaften.

  3. Legen Sie sowohl für die Kanalbindung als auch für die Dienstbindung auf der Registerkarte Erweitert die geeignete Einstellung für die Funktion Erweiterter Schutz fest.

  4. Wenn ein Server durch mehr als einen SPN identifiziert wird, konfigurieren Sie auf der Registerkarte Erweitert optional das Feld Akzeptierte NTLM-SPNs , wie im Abschnitt "Einstellungen" beschrieben.

  5. Legen Sie für die Kanalbindung auf der Registerkarte Flags die Einstellung Verschlüsselung erzwingen auf Einfest.

  6. Starten Sie den Datenbank-Engine neu.

Konfigurieren anderer SQL Server-Komponenten

Weitere Informationen zum Konfigurieren von Reporting Services finden Sie unter Erweiterter Schutz für die Authentifizierung mit Reporting Services.

Wenn IiS für den Zugriff Analysis Services http- oder HTTPs-Verbindung verwendet wird, kann Analysis Services von IIS bereitgestellten erweiterten Schutz nutzen. Weitere Informationen dazu, wie IIS für die Verwendung des erweiterten Schutzes konfiguriert wird, finden Sie unter Konfigurieren von "Erweiterter Schutz" in IIS 7.5(möglicherweise auf Englisch).

Weitere Informationen

Server-Netzwerkkonfiguration
Client-Netzwerkkonfiguration
Erweiterter Schutz für die Authentifizierung
Integrierte Windows-Authentifizierung unter Verwendung von "Erweiterter Schutz" (möglicherweise auf Englisch)