Sicherheitsfunktionen in Microsoft SQL Server richtig einsetzen

Microsoft bietet seit SQL Server 2012 mit dem Standardschema für Windows-Gruppen und benutzerdefinierte Serverrollen wichtige Sicherheitsfunktionen.

Dieser Artikel behandelt

DBMS

Die Sicherheit der Datenbankinfrastruktur ist für jedes Unternehmen wichtig. Daher hat Microsoft in den letzten...

Jahren viel in die Sicherheitsfunktionen des SQL Servers investiert. Mit SQL Server 2005 überarbeitete Microsoft die Security Engine seiner Datenbank von Grund auf. Seitdem hat sich die Sicherheit des SQL Servers mit jedem Update und jeder neuen Version der Datenbank verbessert.

Microsoft SQL Server 2012 und 2014 setzen diesen Trend mit verschiedenen nützlichen Sicherheitsfunktionen fort. So können Unternehmen nicht nur die Zugriffskontrolle auf ihre Daten verbessern, sondern erhalten auch ein Höchstmaß an Datenschutz und Compliance. Die Funktionen tragen zudem dazu bei, dass SQL Server aus Security-Sicht eine der robustesten klassische Datenbanken darstellt, da sie weniger Schwachstellen besitzt und daher weniger Sicherheits-Patches für den Betrieb des Systems  erfordert.

Sicherheits-Management in Microsoft SQL Server

Microsoft SQL Server bietet zwei kleine, aber äußerst wertvolle Funktionen für ein besseres Sicherheits-Management im Vergleich zu älteren Versionen: das Standardschema für Windows-Gruppen und benutzerdefinierte Serverrollen.

Standardschema für Windows-Gruppen

Vor SQL Server 2012 war es nicht möglich, ein Standardschema für einzelne Windows-Gruppen zu definieren. Dadurch erstellte SQL Server in der Datenbank automatisch einen separaten Benutzer (auf dem Account des Administrators abgebildet) und ein Schema mit demselben Namen, wenn der Benutzer sich als Mitglied einer Windows-Gruppe anmeldete und in der Datenbank ein Objekt wie eine Tabelle oder eine View (logische Relation) erzeugte. 

Als Folge dieser Praxis existierten in einer Datenbank letztendlich Hunderte von Benutzern und Schemata – eine große Herausforderung und ein Albtraum für Administratoren. Daher forderten Mitglieder der SQL Server Community hier über die Microsoft Connect-Website ein Update und Verbesserungen.

Seit Microsoft SQL Server 2012 wurde diese Schwachstelle behoben. Zum Beispiel ist es möglich, verschiedenen Gruppen in Windows ein Standardschema zuzuweisen. Das erleichtert die Verwaltung der Datenbanken in Unternehmen erheblich.

Das folgende Transact SQL (T-SQL) Code-Beispiel zeigt, wie man das Standardschema bestimmten Windows-Gruppen zuweist:

Erstellen des Standardschemas „ProdAdmins“ für die Windows-Gruppe „mydomain \ ProdDBAs“:

CREATE SCHEMA [ProdAdmins] AUTHORIZATION

[MyDomain\ProdDBAs]

GO

Festlegen des Standardschemas für die Windows-Gruppe „mydomain \ ProdDBAs“

ALTER USER [mydomain \ ProdDBAs] mit DEFAULT_SCHEMA =

[ProdAdmins]

GO

Benutzerdefinierte Serverrollen

Die benutzerdefinierten Rollen ähneln den vorgegebenen festen Serverrollen. Der einzige Unterschied ist, dass sie von SQL-Server-Administratoren erstellt und verwaltet werden. Damit ist es nicht mehr notwendig, jedem Benutzer Berechtigungen einzeln zuzuweisen. Der Administrator definiert die Serverrolle, weist ihr die entsprechenden Rechte zu und ordnet schließlich die Mitglieder zu, die diese Rolle einnehmen. Die folgende T-SQL Anweisung gibt die Liste dieser serverweiten Berechtigungen aus:

USE [master]

GO

SELECT * FROM sys.fn_builtin_permissions(DEFAULT)

WHERE [class_desc] IN ('ENDPOINT'

                       ,'LOGIN'

                       ,'SERVER'

                       ,'AVAILABILITY GROUP'

                       ,'SERVER ROLE')

ORDER BY [class_desc], [permission_name]

GO

Benutzerdefinierte Rollen vereinfachen die Verwaltung erheblich, indem sie den Zugriff von autorisierten Benutzern beschränken und nicht erwünschte Berechtigungen weitestgehend vermeiden.

Sie können eine benutzerdefinierte Serverrolle auf verschiedene Arten erstellen und verwalten, etwa mit T-SQL oder über SQL Server Management Studio (SSMS). 

Benutzerdefinierte Serverrollen mit SSMS

Um in SQL Server Management Studie benutzerdefinierte Serverrollen zu erstellen, erweitern Sie im Objekt-Explorer zunächst per Mausklick die Instanz von SQL Server und anschließend den Ordner Sicherheit. Klicken Sie nun mit der rechten Maustaste auf den Ordner Serverrollen und wählen Sie im Menü den Eintrag Neue Serverrolle, um den Assistenten zu starten.

Geben Sie auf der Seite Allgemein einen Namen, den Verantwortlichen und das passende Securable Object für die neue benutzerdefinierte Serverrolle an.

Aktivieren Sie die Mitglieder-Seite und ergänzen Sie die Mitglieder der benutzerdefinierten Serverrolle. Abschließend fügen Sie über einen Klick auf die Seite Mitgliedschaft die benutzerdefinierte Serverrolle den festen Serverrollen hinzu.

Benutzerdefinierte Serverrollen mit T-SQL

Wir verwenden Transact-SQL-Anweisungen wie CREATE SERVER ROLE, ALTER SERVER ROLE und DROP SERVER ROLE, um benutzerdefinierte Serverrollen zu erstellen, ändern und löschen. Dies funktioniert folgendermaßen:

Erstellen von benutzerdefinierten Rollen:

CREATE SERVER ROLE [JuniorDBA]

Zuweisung serverweiter Berechtigungen:

GRANT CREATE ANY DATABASE TO [JuniorDBA]

Hinzufügen von Mitgliedern zu benutzerdefinierten Rollen:

ALTER SERVER ROLE [JuniorDBA]

ADD MEMBER [Domain\JuniorDBA_Group1]

ALTER SERVER ROLE [JuniorDBA]

ADD MEMBER [Domain\JuniorDBA_Group1]

Benutzerdefinierte Rolle wird einer festen Serverrolle hinzugefügt:

ALTER SERVER ROLE [processadmin]

ADD MEMBER [JuniorDBA]

Ablegen von benutzerdefinierten Rollen:

DROP SERVER ROLE [JuniorDBA]

Verbesserungen bei SQL Server Audits

SQL Server 2008 und SQL Server 2008 R2 enthielten Objekte für die Spezifikation von Audits von Server und Datenbank. 

Mehr zum Thema Microsoft SQL Server:

Wann Sie die Enterprise Edition von Microsoft SQL Server kaufen sollten.

Datenbank-Constraints mit SQL Server Management Studio Table Designer erstellen.

Warum sich die Ausgaben für die Microsoft SQL Server Standard Edition lohnen.

SQL Server im Überblick: Ist Microsoft SQL Server Express die richtige Wahl?

Die Kapazität einer SQL-Server-Datenbank richtig planen.

Dank dieser nützlichen Funktionen können Unternehmen verschiedene Compliance-Anforderungen einfacher erfüllen. Diese Überwachungsfunktionen waren aber bis dato nur Teil der SQL Server Enterprise Edition.

Mittlerweile unterstützen alle Versionen von Microsoft SQL Server diese Audit-Funktionen. Die Funktionen, die SQL Server seit Version 2012 für die Audit-Spezifikation bietet, sind weniger anfällig für Ausfälle beim Schreiben in das Überwachungsprotokoll (Audit Log). 

Zudem ist es möglich, die Anzahl der Audit Log Dateien zu begrenzen, um Speicherengpässe zu verhindern. Da die Audit-Funktionen von Microsoft SQL Server auch benutzerdefinierte Gruppen unterstützen, lassen sich bereits geprüfte Ereignisse über die Transact-SQL Prozedur sp_audit_write in das Audit Log eintragen. Zudem ermöglicht SQL Server das Filtern der Audit Events und die Überwachung der Datenbanknutzer über neu auditierte Gruppen.

Erweiterung bei der Datenbank-Authentifizierung

Bis zu Version SQL Server 2012 musste sich der Anwender entweder über einen Windows- oder SQL-Login an der SQL Server Datenbank-Engine anmelden, um sich für die Datenbank zu authentifizieren. Diese Abhängigkeit verursachte offensichtlich Probleme bei der Authentifizierung, wenn Datenbanken von einer SQL Server-Instanz auf eine andere migriert wurden. Datenbank-Administratoren mussten dabei sicherstellen, dass alle Logins für den ursprünglichen SQL Server auch auf dem migrierten SQL Server existierten. Wenn das Login – aus welchem Grund auch immer – nicht auf dem Ziel-SQL Server vorhanden war, konnte sich der Benutzer nicht für die Datenbank authentifizieren.

Seit SQL Server 2012 wurde dieses Problem mit der gekapselten Datenbank-Authentifizierung behoben. Damit können sich die Benutzer ohne Login am SQL Server für ihre Datenbank authentifizieren. Alle Metadaten für die Datenbank-Authentifizierung sind auf der gekapselten Datenbank selbst gespeichert. Ein weiterer Vorteil: Mit dieser Art der Authentifizierung lassen sich verwaiste oder ungenutzte Logins auf der Datenbank-Engine des SQL Servers größtenteils vermeiden.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im Juli 2015 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Datenbank-Management-Systeme (DBMS)

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close