Vulnerability Assessment

Mit dem SQL Server Management Studio 17.4 liefert Microsoft das neue Tool Vulnerability Assessment aus. Diese neue Funktion soll es ermöglichen den SQL Server auf mögliche Schwachstellen und Sicherheitslücken zu prüfen. Allerdings kann diese neue Funktionalität anfangs auch recht verwirrend sein, da nach einem Scan bei einer neuen Installation offenbar zig Schwachstellen existieren.

Dazu kommt noch, dass das Befolgen der Hinweise zur Absicherung des SQL Servers dazu führen kann, dass manche Applikationen nicht mehr laufen oder der SQL Server nicht mehr wie gewohnt administriert werden kann. Manche der Hinweise stellen derzeit auch nur eine geringe Sicherheitsverbesserung dar. Wieder andere Hinweise wird man immer zu Gesicht bekommen, so lange man keine Baseline definiert hat, was bedeutet, dass man hier erst einmal einstellen muss, welche Konfiguration überhaupt erwartet (und als sicher angesehen) wird.

Daher keine Panik, wenn hier jede Menge in Rot erscheint und das Vulnerability Assessment geöffnet wird. Das heißt noch nicht, dass konkrete Einfallstore existieren. Auch muss und kann man nicht jeden der Hinweise befolgen. Mit diesem Wissen stellt das neue Tool aber sehr interessante Informationen bereit und kann dabei helfen, einen SQL Server weiter abzuhärten.

Um einen Scan auf Schwachstellen für eine Datenbank durchzuführen, kann man das Vulnerability Assessment auf einer einzelnen Datenbank öffnen. Besonders interessant ist hierbei die master Datenbank zu scannen. So findet man auch Schwachstellen, die sich auf den gesamten SQL Server beziehen.

Die Schwachstellen sind dabei unterteilt in die Risikostufen High, Medium und Low. Bei jeder Schwachstelle sieht man jeweils rechts unter Additional Information ob hierfür eine Baseline gesetzt sein muss. Ohne Baseline wird die entsprechende Schwachstelle immer als Risiko erscheinen. Auf den ersten Blick sieht man hier allerdings auch bereits Schwachstellen, die man beheben sollte, in diesem Fall beispielsweise war der sa Account noch aktiviert und dieser sollte deaktiviert werden.

Bei manchen Schwachstellen wird eine Baseline gefordert, sonst gelten diese Security Checks immer als fehlgeschlagen. In diesem konkreten Fall muss man einfach nur prüfen ob die Database Owner jenen entsprechen, die man auch beabsichtigt. Stimmt dies, klickt man einfach auf Approve as Baseline. Dieser Security Check wird dann nur noch fehlschlagen, wenn sich die Database Owner wieder ändern.

Manche der Schwachstellen lassen sich auch nur in der Enterprise Edition des SQL Servers abschalten, wie beispielsweise das Aktivieren des Common Criteria Compliance Mode. Diese kann man aber für Scans ebenfalls ausblenden, in dem man die aktuelle Einstellung als Baseline definiert.

Bei jedem Security Check der fehlschlägt findet man weiterhin ein Remediation Script, mit welchem man die entsprechende Schwachstelle beim SQL Server schließen kann. Doch VORSICHT: Das ist nicht immer sinnvoll, da dies dazu führen kann, dass Applikationen nicht mehr funktionieren. Man sollte hier also vor jeder Änderung genau prüfen, ob die Änderung Sinn bringt und auf dem aktuellen System nicht zu Problemen führt.

Fazit

Das neue Vulnerability Assessment ist ein sehr praktisches Tool um die Konfiguration des SQL Servers auf Sicherheitslücken zu prüfen. Dabei wird nicht jede Einstellung für einen selbst wichtig sein, man lernt aber viel über den SQL Server und mögliche Sicherheitsprobleme, die sich durch die aktuelle Konfiguration ergeben können. Das Vulnerability Assessment wird in Zukunft von Microsoft noch weiterentwickelt und steht erst am Anfang.