Kerberos-Authentifizierung und SQL Server

Kerberos ist ein Netzwerkauthentifizierungsprotokoll, mit dem eine äußerst sichere Methode zum Authentifizieren von Client- und Serverentitäten (Sicherheitsprinzipale) über ein Netzwerk bereitgestellt wird. Diese Sicherheitsprinzipale verwenden eine Authentifizierung, die auf Hauptschlüsseln und verschlüsselten Tickets basiert.

Im Kerberos-Protokollmodell beginnt jede Client/Server-Verbindung mit der Authentifizierung. Client und Server wiederum durchlaufen schrittweise eine Reihenfolge von Aktionen, um für die Teilnehmer auf beiden Seiten der Verbindung die Echtheit des anderen Teilnehmers zu überprüfen. Wenn die Authentifizierung erfolgreich war, wird das Setup für die Sitzung abgeschlossen, und es wird eine sichere Client-/Serversitzung erstellt.

Zu den Hauptvorteilen der Kerberos-Authentifizierung zählen:

  • Gegenseitige Authentifizierung. Der Client kann die Identität des Serverprinzipals überprüfen, und der Server kann den Client überprüfen. In dieser Dokumentation werden die beiden Entitäten als "Client" und "Server" bezeichnet, obwohl sichere Netzwerkverbindungen auch zwischen Servern hergestellt werden können.

  • Sichere Authentifizierungstickets. Es werden nur verschlüsselte Tickets verwendet, und Tickets enthalten niemals Kennwörter.

  • Integrierte Authentifizierung. Wenn sich ein Benutzer angemeldet hat, muss er sich nicht erneut anmelden, um auf einen Dienst zuzugreifen, der die Kerberos-Authentifierung unterstützt, sofern das Clientticket nicht abgelaufen ist. Jedes Ticket hat eine Lebensdauer. Diese wird durch die Richtlinien des Kerberos-Bereichs bestimmt, in dem das Ticket generiert wird.

Kerberos stellt einen Mechanismus zur gegenseitigen Authentifizierung zwischen Entitäten bereit, bevor eine sichere Netzwerkverbindung hergestellt wird. Kerberos verwendet einen vertrauenswürdigen Dritten, das Schlüsselverteilungscenter (KDC), um die Generierung und die sichere Verteilung von Authentifizierungstickets und symmetrischen Sitzungsschlüsseln zu vereinfachen. Das KDC wird als Dienst auf einem sicheren Server ausgeführt. Es verwaltet eine Datenbank für alle Sicherheitsprinzipale im zugehörigen Bereich. Im Kerberos-Kontext entspricht ein Bereich einer Windows-Domäne.

HinweisHinweis

Für die Sicherheit der Hauptschlüssel sind Client und Server verantwortlich; das KDC stellt lediglich den Ticketdienst bereit.

In einer Windows-Umgebung wird der Betrieb des KDC von einem Domänencontroller übernommen. In der Regel wird dazu Active Directory verwendet. Alle Windows-Domänenbenutzer sind gewissermaßen Kerberos-Prinzipale und können die Kerberos-Authentifizierung verwenden.

Kerberos mit SQL Server

SQL Server unterstützt Kerberos indirekt über die Security Support Provider Interface (SSPI) von Windows, wenn SQL Server die Windows-Authentifizierung verwendet. Mithilfe der SSPI kann eine Anwendung verschiedene auf einem Computer oder in einem Netzwerk verfügbare Sicherheitsmodelle verwenden, ohne dazu die Schnittstelle des Sicherheitssystems ändern zu müssen.

In SQL Server kann die SSPI das zu verwendende Authentifizierungsprotokoll aushandeln; wenn Kerberos nicht verwendet werden kann, greift Windows auf die Windows NT-Abfrage/Rückmeldung-Authentifizierung (NTML - Windows NT Challenge/Response) zurück.

SQL Server 2008 unterstützt die Kerberos-Authentifizierung für die folgenden Protokolle:

  • TCP/IP

  • Named Pipes

  • Shared Memory

Weitere Informationen zu den zuvor genannten Protokollen finden Sie unter Netzwerkprotokolle und TDS-Endpunkte.

Es hat sich bewährt, die Kerberos-Authentifizierung möglichst immer zum Herstellen von Verbindungen mit einer Instanz von SQL Server zu verwenden.