Teilen über


Verbindung zum Datenbankmodul mit erweitertem Schutz herstellen

Gilt für:SQL Server

Der erweiterte Schutz trägt dazu bei, Authentifizierungsrelayangriffe zu verhindern, indem sichergestellt wird, dass der Client den Dienst kennt, mit dem er eine Verbindung herstellt.

Erweiterter Schutz ist eine Funktion der vom Betriebssystem implementierten Netzwerkkomponenten. Erweiterter Schutz wird in Windows unterstützt.

SQL Server ist sicherer, wenn Verbindungen mit dem Feature Erweiterter Schutz hergestellt werden.

Beschreibung von "Erweiterter Schutz"

Erweiterter Schutz nutzt die Dienstbindung und die Kanalbindung, um Relayangriffe während der Authentifizierung zu verhindern. Bei einem Relayangriff während der Authentifizierung stellt ein Client, der NTLM-Authentifizierungen durchführen kann (z. B. für Windows-Explorer, Microsoft Outlook, eine .NET SqlClient-Anwendung usw.), eine Verbindung mit einem Angreifer her (z. B. mit einem bösartigen CIFS-Dateiserver). Der Angreifer verwendet die Anmeldeinformationen des Clients, um sich als Client zu maskieren und sich bei einem Dienst zu authentifizieren (z. B. eine Instanz des Datenbankmoduls).

Der Angriff kann auf zwei Arten erfolgen:

  • In einem lockenden Angriff wird der Client dazu gelockt, sich freiwillig mit dem Angreifer zu verbinden.

  • Bei einem Spoofingangriff beabsichtigt der Client, eine Verbindung mit einem gültigen Dienst herzustellen, ist jedoch nicht bewusst, dass ein oder beide DNS- und IP-Routing vergiftet sind, um die Verbindung stattdessen an den Angreifer umzuleiten.

SQL Server unterstützt Dienst- und Kanalbindungen, um die Angriffe auf SQL Server-Instanzen zu verringern.

Dienstbindung

Bei der Dienstbindung werden Lockangriffe dadurch verhindert, dass 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 dazu verleitet wird, eine Verbindung mit einem Angreifer herzustellen, enthält der Client den signierten SPN des Angreifers. Der Angreifer kann das Paket nicht weiterleiten, um sich beim echten SQL Server-Dienst als Client zu authentifizieren, da es den SPN des Angreifers enthalten würde. Die Dienstbindung verursacht einmalige, vernachlässigbare Kosten, behebt jedoch keine Spoofingangriffe. Dienstbindung tritt auf, wenn eine Clientanwendung keine Verschlüsselung zum Herstellen einer Verbindung mit SQL Server verwendet.

Kanalbindung

Bei der Kanalbindung wird zwischen einem Client und einer Instanz des SQL Server-Diensts ein sicherer Kanal (Schannel) eingerichtet. Der Dienst überprüft die Authentizität des Clients, indem das Kanalbindungstoken (CBT) des Clients mit seinem eigenen CBT verglichen wird. Durch die Kanalbindung werden sowohl Lock- als auch Spoofingangriffe unterbunden. Es verursacht jedoch eine größere Laufzeitkosten, da sie die TLS-Verschlüsselung (Transport Layer Security) des gesamten Sitzungsdatenverkehrs erfordert. Eine Kanalbindung tritt auf, wenn eine Clientanwendung Verschlüsselungen verwendet, um eine Verbindung mit SQL Server herzustellen – unabhängig davon, ob Verschlüsselungen vom Client oder dem Server erzwungen werden.

Warnung

SQL Server und Microsoft-Datenanbieter für SQL unterstützen TLS 1.0 und SSL 3.0. Wenn Sie ein anderes Protokoll (beispielsweise TLS 1.1 oder TLS 1.2) erzwingen, indem Sie Änderungen an der Schannel-Betriebssystemebene vornehmen, können Sie möglicherweise keine Verbindung mit SQL Server herstellen. 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 TLS 1.2-Unterstützung für Microsoft SQL Server.

Betriebssystemunterstützung

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

Einstellungen

Es gibt drei SQL Server-Verbindungseinstellungen, die sich auf die Dienstbindung und die Kanalbindung auswirken. Die Einstellungen können mithilfe des SQL Server Configuration Manager oder WMI konfiguriert und mithilfe des Facets " Serverprotokolleinstellungen " der richtlinienbasierten Verwaltung angezeigt werden.

Erzwingen der Verschlüsselung

Mögliche Werte sind Ein und Aus. Um die Kanalbindung zu verwenden, muss die Erzwingungsverschlüsselung auf "Ein" festgelegt sein, und alle Clients müssen verschlüsseln. Wenn sie deaktiviert ist, wird nur die Dienstbindung garantiert. Das Feature Verschlüsselung erzwingen befindet sich im SQL Server-Konfigurations-Manager unter Protocols for MSSQLSERVER Properties (Flags Tab) (Protokolle für MSSQLSERVER-Eigenschaften [Registerkarte „Flags“]).

wird von

Mögliche Werte sind Aus, Zulässigund Erforderlich. Mit der Variablen Erweiterter Schutz können Benutzer*innen die Ebene für Erweiterter Schutz für jede SQL Server-Instanz konfigurieren. Erweiterter Schutz befindet sich im SQL Server-Konfigurations-Manager unter Protocols for MSSQLSERVER Properties (Advanced Tab) (Protokolle für MSSQLSERVER-Eigenschaften [Registerkarte „Erweitert“]).

Bei der Einstellung Ausist Erweiterter Schutz deaktiviert. Die SQL Server-Instanz akzeptiert Verbindungen von jedem beliebigen Client, unabhängig davon, ob er geschützt ist oder nicht. "Aus" ist mit älteren und nicht gepatchten Betriebssystemen kompatibel, ist jedoch weniger sicher. Verwenden Sie diese Einstellung, wenn 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. Erweiterter Schutz wird für Verbindungen von Betriebssystemen ignoriert, die erweiterten Schutz nicht unterstützen. Verbindungen von nicht geschützten Clientanwendungen, die auf geschützten Clientbetriebssystemen ausgeführt werden, werden abgelehnt. Diese Einstellung ist sicherer als aus, ist aber nicht die sicherste. Verwenden Sie diese Einstellung in gemischten Umgebungen; einige Betriebssysteme unterstützen erweiterten Schutz, andere nicht.

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

Akzeptierte NTLM-SPNs

Die Variable "Akzeptierte NTLM SPNs" wird benötigt, wenn mehrere SPN einen Server kennen. Wenn ein Client versucht, eine Verbindung mit dem Server mithilfe eines gültigen SPN herzustellen, den der Server nicht kennt, schlägt die Dienstbindung fehl. Um dieses Problem zu vermeiden, können Benutzer mehrere SPNs angeben, die den Server mithilfe der akzeptierten NTLM-SPNs darstellen. Akzeptierte NTLM-SPNs ist eine Reihe von SPNs, die durch Semikolons getrennt sind. 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 befindet sich im SQL Server-Konfigurations-Manager unter Protocols for MSSQLSERVER Properties (Advanced Tab).

Aktivieren des erweiterten Schutzes für das Datenbankmodul

Um erweiterten Schutz zu verwenden, muss sowohl der Server als auch der Client über ein Betriebssystem verfügen, das erweiterten Schutz unterstützt und auf dem Betriebssystem aktiviert sein muss. Weitere Informationen zum Aktivieren von Erweiterter Schutz für das Betriebssystem finden Sie unter Erweiterter Schutz für die Authentifizierung.

Während der erweiterte Schutz und NTLMv2 in allen unterstützten Versionen von Windows standardmäßig aktiviert sind, ist der erweiterte Schutz für SQL Server-Verbindungen nicht standardmäßig aktiviert. Benutzer müssen sie manuell in SQL Server Configuration Manager aktivieren.

Um den erweiterten Schutz für SQL Server-Verbindungen zu aktivieren, müssen Administratoren die Einstellungen in SQL Server Configuration Manager konfigurieren. Dies umfasst Optionen für die Servicebindung und Kanalbindung, um verschiedene Arten von Relay-Angriffen auf die Authentifizierung zu mindern. Ausführliche Anweisungen finden Sie in der SQL Server-Dokumentation zum Konfigurieren des erweiterten Schutzes.

Nachdem Sie Erweiterter Schutz auf dem Servercomputer aktiviert haben, führen Sie die folgenden Schritte aus, um Erweiterter Schutzzu aktivieren:

  1. Wählen Sie im Startmenü"Alle Programme" aus, zeigen Sie auf Microsoft SQL Server , und wählen Sie dann SQL Server Configuration Manager aus.

  2. Erweitern Sie die SQL Server-Netzwerkkonfiguration, und klicken Sie dann mit der rechten Maustaste auf Protokolle für _<_InstanceName**>, und wählen Sie dann Eigenschaften aus.

  3. legen Sie auf der Registerkarte "Erweitert" den erweiterten Schutz auf die entsprechende Einstellung für Kanalbindung und Dienstbindung fest.

  4. Wenn mehrere SPN einen Server kennen, wird optional auf der Registerkarte "Erweitert" das Feld "Akzeptierte NTLM SPNs " wie im Abschnitt "Einstellungen" beschrieben konfiguriert.

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

  6. Starten Sie den Datenbank-Engine-Dienst 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 Sie IIS für den Zugriff auf Analysis Services-Daten mithilfe einer HTTP- oder HTTPS-Verbindung verwenden, kann Analysis Services den erweiterten Schutz nutzen, der von IIS bereitgestellt wird. 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).