Bundesamt für Sicherheit in der Informationstechnik

M 2.124 Geeignete Auswahl einer Datenbank-Software

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator, IT-Sicherheitsbeauftragter

Bei der Beschaffung neuer Datenbank-Software besteht die Möglichkeit, diese von vornherein so auszuwählen, dass im späteren Betrieb mit nur geringem personellen und organisatorischen Zusatzaufwand ein hohes Maß an Sicherheit erreicht werden kann.

Zu Beginn muss der Einsatzbereich und Verwendungszweck des Datenbanksystems geklärt werden, um die Anforderungen bezüglich der Verfügbarkeit, der Integrität und der Vertraulichkeit formulieren zu können. Weiterhin sind die Anforderungen hinsichtlich der zu verarbeitenden Datenmengen, der Verarbeitungsgeschwindigkeit und des Durchsatzes zu quantifizieren. Daraus leiten sich die zu erfüllenden Eigenschaften für die zu beschaffende Datenbank-Software ab, wie z. B. Verfügbarkeit für bestimmte Hardware-Plattformen bzw. Betriebssysteme oder Umfang von notwendigen Sicherheitsmechanismen. In diesem Planungsstadium kann bereits erkannt werden, ob und in welchem Maße für den späteren Betrieb des Datenbanksystems Hardware nach- bzw. umgerüstet werden muss. Anhand der Verfügbarkeitsanforderungen sind auch die benötigten Überwachungsmöglichkeiten zu definieren, d. h. es muss festgelegt werden, welche Datenbankzustände in welcher Form erkennbar sein sollen (z. B. durch eine Protokollierung in einer Datei), sowie die Art der Benachrichtigung verantwortlicher Personen bzw. Personengruppen über kritische Zustände der Datenbank (z. B. durch eine Meldung an der Konsole).

Für die Beschaffung einer Datenbank-Software sollten insbesondere die folgenden Punkte berücksichtigt werden:

  • Die Datenbank-Software muss über eigene geeignete Mechanismen zur Identifikation und Authentisierung der Benutzer verfügen (siehe M 2.128 Zugangskontrolle einer Datenbank ).
  • Die Datenbank-Software muss über geeignete Mechanismen zur Ressourcenbeschränkung verfügen (siehe M 4.73 Festlegung von Obergrenzen für selektierbare Datensätze ).
  • Falls in der Datenbank vertrauliche Daten verwaltet werden sollen, so muss einem unberechtigten Zugriff vorgebeugt werden können. Die zu beschaffende Datenbank-Software muss in diesem Fall entsprechende Zugriffskontrollmechanismen zur Verfügung stellen (siehe M 2.129 Zugriffskontrolle einer Datenbank ).
    Es sollte auch die Zusammenfassung mehrerer Benutzer mit gleichen Zugriffsrechten zu Gruppen möglich sein. Eine Unterscheidung zwischen der Gruppe der Administratoren und der Gruppe der Benutzer ist dabei obligatorisch. Weiterhin sollte eine Trennung von verschiedenen Administrator-Rollen unterstützt werden (siehe M 2.131 Aufteilung von Administrationstätigkeiten bei Datenbanksystemen ).
  • Es gibt Datenbanken mit unterschiedlich starken Zugriffsschutzmechanismen. Ähnliche Sicherheitsmechanismen können dabei auch in unterschied-
    licher Granularität angeboten werden. Im Vorfeld ist zu klären, welcher Zugriffsschutz erforderlich ist und welche Datenbank-Software den definierten Sicherheitsanforderungen entspricht. Maßgeblich hierfür sind die Möglichkeiten, Zugriffsrechte auf Datenbankobjekte und die Daten selbst einzuschränken.
    Beispiele:
    • Den Anwendern kann das Recht entzogen werden, Datenbankobjekte (z. B. Tabellen) anzulegen oder zu modifizieren.
    • Die Anwender können zwar eine lesende Zugriffsberechtigung auf eine Tabelle erhalten, gleichzeitig können aber modifizierende Zugriffsrechte ausgeschlossen werden.
    • Für bestimmte Tabellen oder bestimmte Felder einer Tabelle kann der Zugriff je nach Anwender verboten werden.
    • Anwender erhalten keinerlei Zugriffsberechtigungen auf Datensätze mit bestimmten Merkmalen (z. B. ein Sachbearbeiter aus Bonn hat keinen Zugriff auf die Daten eines Sachbearbeiters aus Köln).
  • Einige Hersteller bieten sowohl die Möglichkeit der Definition von Gruppen als auch die von Rollen an. Dadurch kann eine differenziertere Zugriffskontrolle auf die Datenbankobjekte realisiert werden. Im Vorfeld sind die diesbezüglichen Anforderungen zu klären und mit den zur Auswahl stehenden Datenbank-Softwareprodukten abzugleichen.
  • Die Datenbank-Software muss ebenfalls hinsichtlich ihrer Überwachungs- und Kontrollmechanismen überprüft werden. Die diesbezüglichen Anforderungen müssen definiert und mit den Leistungsprofilen der Produkte abgeglichen werden (Beispiele siehe M 2.133 Kontrolle der Protokolldateien eines Datenbanksystems bzw. M 2.126 Erstellung eines Datenbanksicherheitskonzeptes ).
  • Es muss geprüft werden, ob die Datenbank-Software eine Rollentrennung zwischen Administrator und Revisor unterstützt. Es muss möglich sein, die Rolle eines Revisors einzurichten, der als einziger in der Lage ist, die Protokolldateien auszuwerten und zu löschen. Dies verhindert potentielle Manipulationen durch den Datenbank-Administrator.
  • Zum Schutz der Datenbankintegrität muss die Datenbank-Software über ein vollständiges Transaktionssystem verfügen, welches dem ACID-Prinzip genügt. Diese Anforderung wird heutzutage von allen wesentlichen relationalen Datenbankmanagementsystemen erfüllt.
  • Es müssen Mechanismen zur Datensicherung der Datenbank vorhanden sein (siehe M 6.49 Datensicherung einer Datenbank ).
    Im Vorfeld muss in diesem Zusammenhang geklärt werden, welche Möglichkeiten hinsichtlich der Datensicherung die Datenbank-Software zur Verfügung stellen muss. So wird beispielsweise eine partielle Datenbanksicherung nicht für alle am Markt erhältlichen Produkte angeboten. Im konkreten Fall gilt es also zu prüfen, ob das erstellte Datensicherungskonzept mit den zur Verfügung stehenden Mechanismen auch umgesetzt werden kann.

Anhand dieser Kriterien müssen die zur Auswahl stehenden Datenbanksysteme geprüft und bewertet werden. Es ist dann diejenige Software auszuwählen, die die spezifischen Anforderungen am besten erfüllt. Weitergehende Anforderungen müssen entweder durch Zusatzprodukte oder durch Eigenentwicklung abgedeckt werden. Es sollte jedoch schon vor der Beschaffung abgeklärt werden, zu welcher Datenbank-Software welche Zusatzprodukte verfügbar sind, um nicht auf teure Eigenentwicklungen zurückgreifen zu müssen.

Von den meisten Datenbankmanagementsystemen sind in der Regel mehrere unterschiedliche Versionen auf dem Markt erhältlich. Dabei unterscheiden sich auch die einzelnen Versionen desselben Datenbankmanagementsystems in ihrer Funktionalität, unter anderem auch in sicherheitsrelevanten Bereichen. Der starke Wettbewerb führt dazu, dass einige Hersteller auch noch nicht vollausgereifte Software ausliefern, bei der dann mit Fehlern und eingeschränkter Funktionalität gerechnet werden muss.

In einer Testphase sollte deshalb überprüft werden, ob die ausgewählte Datenbank-Software die erforderlichen Funktionen in der vorgegebenen Einsatzumgebung auch erfüllt. Dies gilt insbesondere für die Anforderungen an die Performance und die benötigten Mechanismen zur Notfallvorsorge.

Vor der Beschaffung sollten auch Erfahrungen aus vergleichbaren Installationen herangezogen werden.

Prüffragen:

  • Wurden die Anforderungen an die Datenbank-Software festgelegt und dokumentiert?

  • Erfolgte anhand der festgelegten Anforderungen die Auswahl zwischen verschiedenen Datenbank-Software-Produkten?

Stand: 13. EL Stand 2013