Bundesamt für Sicherheit in der Informationstechnik

B 5.7 Datenbanken

Logo Datenbanken

Beschreibung

Datenbanksysteme ( DBS ) sind ein weithin genutztes Hilfsmittel zur rechnergestützten Organisation, Erzeugung, Veränderung und Verwaltung großer Datensammlungen und stellen in vielen Unternehmen und Organisationen die zentrale Informationsbasis zu ihrer Aufgabenerfüllung bereit. Ein DBS besteht aus dem so genannten Datenbankmanagement-System ( DBMS ) und einer oder mehrerer Datenbanken.

Eine Datenbank ist eine Zusammenstellung von Daten samt ihrer Beschreibung (Metadaten), die persistent im DBS abgelegt werden.

Das DBMS bildet die Schnittstelle zwischen den Datenbanken und dient den Benutzern zur Daten-Verwaltung und Veränderung. Die zentralen Aufgaben eines DBMS sind im Wesentlichen die Bereitstellung verschiedener Sichten auf die Daten (Views), die Konsistenzprüfung der Daten (Integritätssicherung), die Autorisationsprüfung, die Behandlung gleichzeitiger Zugriffe verschiedener Benutzer (Synchronisation) und das Bereitstellen einer Datensicherungsmöglichkeit, um im Falle eines Systemausfalls zeitnah Daten wiederherstellen zu können.

Moderne Datenbanksysteme sind überwiegend Bestandteil einer 3-Tier-Architektur. Als Erweiterung der 2-Tier-Architektur (Client-/Server-Architektur) wird hier zwischen Client und Server als dritte Ebene ein Applikationsserver zur Bereitstellung der Datenbank-Anwendungen eingeführt. Durch diese Architektur kann eine Kosteneinsparung aufgrund einer verringerten Client-Ausstattung und einer vereinfachten Datenbankadministration insbesondere bei der Software-Verteilung erreicht werden. Den Anwendern können auf diese Art mit geringem Aufwand neue Software-Versionen zur Verfügung gestellt werden, die durch den Anwender automatisch vom Datenbanksystem über den Applikations-Server bezogen werden.

Ein Datenbanksystem muss die parallele Verarbeitung verschiedener Benutzeraufträge (so genannte Transaktionen) ermöglichen. Wesentlich dafür ist die Einhaltung der folgenden vier Eigenschaften, die unter dem ACID-Prinzip bekannt sind:

  • Atomarität (Atomicity)
    Eine Transaktion ist die kleinste, nicht mehr zerlegbare Einheit von Verarbeitungsschritten und wird nur vollständig oder gar nicht ausgeführt. Sollte es bei der Ausführung zu einem Fehler bzw. Abbruch kommen, werden alle innerhalb der Transaktion bereits getätigten Änderungen an der Datenbank wieder zurückgenommen.
  • Konsistenz (Consistency)
    Eine Transaktion überführt eine Datenbank immer von einem konsistenten Zustand in einen anderen konsistenten Zustand, d.h. alle Integritätsbedingungen der Datenbank werden eingehalten.
  • Isolation (Isolation)
    Jede Transaktion läuft isoliert und in jeder Hinsicht unabhängig von anderen Transaktionen ab. Dazu gehört auch, dass jeder Transaktion nur diejenigen Daten aus der Datenbank zur Verfügung gestellt werden, die Teil eines konsistenten Zustands sind. Sollten parallele Transaktionen um Ressourcen konkurrieren, so müssen die Transaktionen serialisiert werden.
  • Persistenz (Durability)
    Die Ergebnisse einer erfolgreich beendeten Transaktion bleiben in der Datenbank persistent.

Datenbanksysteme sind Standardsoftware und werden von den unterschiedlichsten Herstellern auf dem Markt angeboten. Soll eine Datenbank zur Verarbeitung von Daten eingesetzt werden, so ist im ersten Schritt ein geeignetes DBS auszuwählen. Die zugehörigen Gefährdungen und Maßnahmen aus dem Baustein B 1.10 Standardsoftware sind deshalb zu beachten.

Datenbanken können nicht losgelöst von der Umgebung betrachtet werden, in der sie eingesetzt werden. Ein Einzelplatz-PC ist ebenso denkbar wie ein Großrechnerumfeld oder vernetzte Unix- bzw. Windows-Systeme. Dementsprechend sind in Abhängigkeit des Einsatzumfeldes die Bausteine der entsprechenden Schichten 3 bis 5 zu berücksichtigen.

Gefährdungslage

Neben den grundlegenden Gefährdungen, die prinzipiell für IT -Systeme gelten, existieren Gefährdungen, die speziell die Verfügbarkeit von Datenbanken sowie die Vertraulichkeit oder die Integrität der gespeicherten Daten bedrohen.

Generell steht die Gefährdungslage in Abhängigkeit vom Einsatzszenario und berechtigten Benutzerkreis. Beispielsweise ergibt sich eine erhöhte Gefährdungslage, wenn, anders als gegenüber identifizierbaren Benutzerkreisen innerhalb einer Behörde oder eines Unternehmens, Zugriffe anonymer Benutzern ( z. B. Internet-Zugriffe) erlaubt werden.

Eine weiterer Aspekt ergibt sich aus der steigenden Komplexität des DBMS, der sich unter anderem auch in örtlich weit voneinander getrennter Datenhaltung begründet und den damit einhergehenden Anforderungen an sichere Kommunikationswege und konsistente Daten-Synchronisation.

Für den IT-Grundschutz von Datenbanken werden die folgenden Gefährdungen angenommen:

Organisatorische Mängel

G 2.22 Fehlende oder unzureichende Auswertung von Protokolldaten
G 2.26 Fehlendes oder unzureichendes Test- und Freigabeverfahren
G 2.38 Fehlende oder unzureichende Aktivierung von Datenbank-Sicherheitsmechanismen
G 2.39 Mangelhafte Konzeption eines DBMS
G 2.40 Mangelhafte Konzeption des Datenbankzugriffs
G 2.41 Mangelhafte Organisation des Wechsels von Datenbank-Benutzern
G 2.57 Nicht ausreichende Speichermedien für den Notfall
G 2.110 Mangelhafte Organisation bei Versionswechsel und Migration von Datenbanken

Menschliche Fehlhandlungen

G 3.6 Gefährdung durch Reinigungs- oder Fremdpersonal
G 3.16 Fehlerhafte Administration von Zugangs- und Zugriffsrechten
G 3.23 Fehlerhafte Administration eines DBMS
G 3.24 Unbeabsichtigte Datenmanipulation
G 3.80 Fehler bei der Synchronisation von Datenbanken

Technisches Versagen

G 4.26 Ausfall einer Datenbank
G 4.27 Unterlaufen von Zugriffskontrollen über ODBC
G 4.28 Verlust von Daten einer Datenbank
G 4.30 Verlust der Datenbankintegrität/-konsistenz

Vorsätzliche Handlungen

G 5.9 Unberechtigte IT-Nutzung
G 5.10 Missbrauch von Fernwartungszugängen
G 5.18 Systematisches Ausprobieren von Passwörtern
G 5.64 Manipulation an Daten oder Software bei Datenbanksystemen
G 5.65 Verhinderung der Dienste eines Datenbanksystems
G 5.131 SQL-Injection

Maßnahmenempfehlungen

Um den betrachteten Informationsverbund abzusichern, müssen zusätzlich zu diesem Baustein noch weitere Bausteine umgesetzt werden, gemäß den Ergebnissen der Modellierung nach IT-Grundschutz.

Als zentraler Informationsspeicher einer Behörde oder eines Unternehmens empfiehlt es sich, den Datenbank-Server in einem separaten Serverraum aufzustellen oder in einem zentralen Rechenzentrum unterzubringen. Zu realisierende Maßnahmen sind in den Bausteinen B 2.4 Serverraum und B 2.9 Rechenzentrum beschrieben.

Wird der Datenbank-Server in einem Schutzschrank aufgestellt, ist der Baustein B 2.7 Schutzschränke bei der Maßnahmenumsetzung zu berücksichtigen.

Sollen für den Zugriff auf eine Datenbank mobile Endgeräte wie beispielsweise entsprechend ausgestattete Mobiltelefone oder PDAs eingesetzt werden, sind die Bausteine B 3.404 Mobiltelefon beziehungsweise B 3.405 Smartphones, Tablets und PDAs zu berücksichtigen.

Die Gliederung der Sicherheitsmaßnahmen dieses Bausteins orientiert sich an dem Lebenszyklus eines Datenbanksystems. Für den sicheren Einsatz von Datenbanksystemen sollten unter anderem folgende Schritte durchlaufen werden:

1. Planung

Datenbanksysteme sind komplexe Produkte, deren Einsatz und Betrieb systematisch geplant werden muss. Dies mündet unter anderem in einen Anforderungskatalog an die zu beschaffende Software (siehe M 2.80 Erstellung eines Anforderungskatalogs für Standardsoftware ) sowie in ein Datenbanksicherheitskonzept (siehe M 2.126 Erstellung eines Datenbanksicherheitskonzeptes ).

2. Schulung der Administratoren und Beschaffung der Software

Bevor die Datenbank-Software produktiv eingesetzt werden kann, müssen die zuständigen Administratoren für den sicheren Betrieb des Datenbanksystems geschult werden (siehe M 3.11 Schulung des Wartungs- und Administrationspersonals ). Diese Schulungsmaßnahme sollte nach Möglichkeit bereits vor der Beschaffung des Datenbanksystems (siehe M 2.124 Geeignete Auswahl einer Datenbank-Software ) erfolgen, damit die zuständigen Administratoren frühzeitig effektiv in die Konzeption und den Aufbau einbezogen werden können.

3. Erstellung eines Datenbankkonzeptes / Datenbankmodells

Vor dem Produktivbetrieb des Datenbanksystems ist ein Datenbankkonzept zu erstellen, das sowohl die Installation und Konfiguration der Datenbank-Komponenten, als auch die Struktur der anwendungsspezifischen Datenbank beschreibt. Darüber hinaus ist ein praxisorientiertes Benutzerkonzept zu erstellen. Je nach Volumen und Einsatzbereich der Datenbank sowie der gewählten Datenbank-Standardsoftware kann ein solches Konzept sehr umfangreich sein (M 2.125 Installation und Konfiguration einer Datenbank , M 2.126 Erstellung eines Datenbanksicherheitskonzeptes , M 2.128 Zugangskontrolle einer Datenbank und M 2.129 Zugriffskontrolle einer Datenbank ).

4. Betrieb des Datenbanksystems

Die Inbetriebnahme und der Betrieb des Datenbanksystems erfordern neben der Umsetzung des Datenbankkonzeptes eine kontinuierliche Überwachung, um die Verfügbarkeit, die Integrität sowie die Vertraulichkeit der Daten sicherzustellen. Die hierfür wichtigsten Maßnahmen betreffen die Aspekte Dokumentation (M 2.31 Dokumentation der zugelassenen Benutzer und Rechteprofile , M 2.34 Dokumentation der Veränderungen an einem bestehenden System ), Administration (M 2.130 Gewährleistung der Datenbankintegrität , M 2.133 Kontrolle der Protokolldateien eines Datenbanksystems ) sowie die Nutzung der Datenbank (M 2.65 Kontrolle der Wirksamkeit der Benutzer-Trennung am IT-System , M 3.18 Verpflichtung der Benutzer zum Abmelden nach Aufgabenerfüllung ).

5. Notfallvorsorge

Neben der Umsetzung der Maßnahmen zur Einführung und zum störungsfreien Betrieb eines Datenbanksystems gilt es, Ausfällen unterschiedlicher Art vorzubeugen und deren Auswirkungen möglichst gering zu halten. Hierzu sind die datenbankspezifischen Gegebenheiten zu berücksichtigen, um nach einem System- bzw. Datenbankausfall den gestellten Anforderungen hinsichtlich eines zeitnahen Wiederanlaufs des DBS gerecht zu werden und das Risiko eines Datenverlustes zu minimieren (M 6.49 Datensicherung einer Datenbank , M 6.50 Archivierung von Datenbeständen ).

Nachfolgend wird das Maßnahmenbündel für den Baustein "Datenbanken" vorgestellt:

Planung und Konzeption

M 2.80 (A) Erstellung eines Anforderungskatalogs für Standardsoftware
M 2.126 (A) Erstellung eines Datenbanksicherheitskonzeptes
M 2.132 (A) Regelung für die Einrichtung von Datenbankbenutzern/-benutzergruppen
M 2.134 (B) Richtlinien für Datenbank-Anfragen
M 2.363 (B) Schutz gegen SQL-Injection
M 5.58 (B) Auswahl und Installation von Datenbankschnittstellen-Treibern

Beschaffung

M 2.124 (B) Geeignete Auswahl einer Datenbank-Software

Umsetzung

M 2.125 (A) Installation und Konfiguration einer Datenbank
M 2.135 (C) Gesicherte Datenübernahme in eine Datenbank
M 4.7 (A) Änderung voreingestellter Passwörter
M 4.71 (C) Restriktive Handhabung von Datenbank-Links
M 4.73 (C) Festlegung von Obergrenzen für selektierbare Datensätze

Betrieb

M 2.31 (A) Dokumentation der zugelassenen Benutzer und Rechteprofile
M 2.65 (C) Kontrolle der Wirksamkeit der Benutzer-Trennung am IT-System
M 2.127 (B) Inferenzprävention
M 2.128 (A) Zugangskontrolle einer Datenbank
M 2.129 (A) Zugriffskontrolle einer Datenbank
M 2.130 (A) Gewährleistung der Datenbankintegrität
M 2.131 (C) Aufteilung von Administrationstätigkeiten bei Datenbanksystemen
M 2.133 (A) Kontrolle der Protokolldateien eines Datenbanksystems
M 3.18 (A) Verpflichtung der Benutzer zum Abmelden nach Aufgabenerfüllung
M 4.67 (B) Sperren und Löschen nicht benötigter Datenbank-Accounts
M 4.68 (A) Sicherstellung einer konsistenten Datenbankverwaltung
M 4.69 (B) Regelmäßiger Sicherheitscheck der Datenbank
M 4.70 (C) Durchführung einer Datenbanküberwachung
M 4.72 (Z) Datenbank-Verschlüsselung
M 5.117 (Z) Integration eines Datenbank-Servers in ein Sicherheitsgateway

Notfallvorsorge

M 6.48 (A) Verhaltensregeln nach Verlust der Datenbankintegrität
M 6.49 (A) Datensicherung einer Datenbank
M 6.50 (Z) Archivierung von Datenbeständen
M 6.51 (B) Wiederherstellung einer Datenbank

Stand: 10. EL Stand 2008

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK