Grundlegende Best Practices für die Security von SQL Servern

Eine der wichtigsten Aufgaben von Datenbank-Administratoren ist die Absicherung der SQL Server. Acht Best Practices für die SQL-Server-Sicherheit.

Eine der Hauptaufgaben eines Datenbank-Administrators ist es, dass alle SQL-Server-Instanzen unter seiner Aufsicht so sicher wie möglich sind. Die Security von SQL Servern ist ein breites Themengebiet. Dieser Beitrag ist lediglich eine Einführung zu meinen acht Best Practices, die Sie befolgen können, um SQL Server unter Ihrer Administration abzusichern.

Verschlüsselte Datenbank-Backups

Backups von Datenbanken sind für ein Unternehmen immer kritisch. Sind die Backup-Dateien nicht verschlüsselt, kann man diese sehr einfach kopieren und auf einem anderen SQL Server wiederherstellen. Das Resultat ist Datendiebstahl und eine Datensicherheitsverletzung. 

Ein Datenbank-Administrator kann dieses unerwünschte Szenario vermeiden, indem er Datenbank-Backups mit der integrierten Funktion MEDIAPASSWORD verschlüsselt. Folgendes Beispiel-Skript können Sie verwenden, um das Datenbank-Backup des SQL Servers zu verschlüsseln:

BACKUP DATABASE AdventureWorks
TO DISK='C:\AdventureWorks.BAK'
WITH MEDIAPASSWORD='k0mplexesP@ssW0rd'
GO

Datenbank-Backup-Ordner vor unautorisierten Anwendern absichern

Ein Datenbank-Administrator sollte sicherstellen, dass der Zugriff auf den Ordner mit den Datenbank-Backups streng eingeschränkt ist. 

Berechtigungen erhalten im besten Fall nur diejenigen, die diese auch unbedingt benötigen. Unautorisierte Zugriffe ermöglichen es, dass man die Backup-Dateien auf Remote-Server kopieren kann. 

Außerdem ist es denkbar, dass wichtige Backup-Dateien einfach oder aus Versehen gelöscht werden. Somit würde die Wiederherstellungssequenz der Datenbank unterbrochen. 

Es ist aus diesem Grund sehr wichtig, dass Datenbank-Administratoren nur relevanten Nutzern Zugriff auf die Backup-Ordner der Datenbank gewähren.

Windows-Authentifizierung statt SQL Server Authentication Mode verwenden

Zu den Best Practices gehört auch, dass Sie die Windows-Authentifizierung verwenden sollten, um sich mit dem SQL Server zu verbinden. Windows Authentication Mode in SQL Server kann das Unternehmens-weite Active Directory (AD) nutzen. Somit gelten die Richtlinien für Anwender, Gruppen und Passwörter. 

Müssen Sie unbedingt SQL Server Authentication Mode verwenden, um sich mit dem SQL Server zu verbinden, sollten Sie allerdings nicht das Konto des Systemadministrators (SA) verwenden. Selbst wenn Sie SQL Server Authentication verwenden, können Sie immer noch die Vorteile der Windows-Passwort-Richtlinien nutzen, wenn Sie die Passwörter für Anwenderkonten einrichten.

Passwort für Administrator-Konto kompliziert gestalten

Verwenden Sie gemischte Authentifizierung bei SQL Server, sollten Sie ein komplexes Passwort für das SA-Konto vergeben. Zu den Best Practices gehört, dass man das SA-Konto niemals verwenden sollte, um Web-Applikationen mit dem SQL Server zu verbinden. 

Weiterhin sollte man das SA-Konto niemals einsetzen, um damit tägliche Routine-Aufgaben zu erledigen. Für das Tagesgeschäft setzen Sie besser auf Windows-Konten mit entsprechenden Berechtigungen. Schließlich sollte das Passwort für den System-Administrator regelmäßig geändert werden.

Login-Versuche beobachten

Als Best Practice für SQL-Server-Security gilt, dass Sie immer fehlgeschlagenen Anmeldeversuche untersuchen sollten. Sobald die Audit-Login-Funktion in SQL Server aktiviert ist, können Sie in den SQL-Server-Logs die erfolgreichen und fehlgeschlagenen Anmeldeversuche überprüfen. Sehen Sie sich von Zeit zu Zeit die Fehler-Logs des Servers an und monitoren Sie sie auf verdächtige Aktivitäten.

Browser-Service in SQL Server deaktivieren

Ebenfalls zu den Security-Best-Practices für SQL Server gehört, dass der Datenbank-Administrator den Browser-Service beim Betrieb einer Standard-Instanz deaktivieren sollte. Selbst wenn Sie eine benannte Instanz betreiben, können Sie explizit einen Port definieren. Diesen Port hinterlegen Sie dann bei den entsprechenden Applikationen, damit sie sich mit der benannten Instanz des SQL Servers verbinden können.

Ungenutzte Funktionen in SQL Server deaktivieren

Deaktivieren Sie Funktionen wie zum Beispiel XP_CMDSHELL, OLE AUTOMATION, OPENROWSET und OPENDATASE, wenn Sie diese nicht verwenden. Damit verringern Sie die potenzielle Angriffs-Oberfläche. Bei SQL Server 2005 können Sie diese Funktionen mithilfe des Tools SQL Server Configuration Manager aktivieren oder deaktivieren. Setzen Sie SQL Server 2008 oder höher ein, verwalten Sie den Status der oben genannten Funktionen mithilfe einer Policy-basierten Management-Funktion.

Berechtigungen für das Service-Konto in SQL Server reduzieren

Die letzte Best Practice in diesem Beitrag ist, dass Datenbank-Administratoren die SQL-Server-Dienste immer mithilfe eines lokalen Domänen-Kontos betreiben sollten. Dieses ist im Idealfall mit so wenig Rechten wie notwendig ausgestattet. Vermeiden Sie es, die SQL-Server-Dienste im Rahmen des lokalen Systems, des lokalen Administrators oder des Domänen-Administrators zu betreiben. 

Stellen Sie allerdings sicher, dass das für die  SQL-Server-Dienste zuständige Konto „vollständige Kontrolle“-Berechtigungen für die Verzeichnisse der Daten, Logs und Backups hat. An dieser Stelle sind Lese- und Schreibrechte gemeint.

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

Erfahren Sie mehr über Datenbanken

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close