Als PDF ausgeben

Werbung
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Name des Autors: Alexander Meister
Vergleich der Datenbankmanagementsysteme MySQL und Oracle unter der
Titel der Arbeit:
besonderen Berücksichtigung der gesetzlichen Anforderungen an den Datenschutz
Hochschule und
Fachhochschule für Oekonomie und Management Neuss
Studienort:
Inhaltsverzeichnis
• 1 Abkürzungsverzeichnis
• 2 Abbildungsverzeichnis
• 3 Tabellenverzeichnis
• 4 Einleitung
• 5 Gesetzliche Anforderungen
♦ 5.1 Bundesdatenschutzgesetz
♦ 5.2 Gesetz über die Errichtung des Bundesamtes für Sicherheit in der
Informationstechnik
• 6 Scoring-Modell
♦ 6.1 Allgemeine Vergleichskriterien
♦ 6.2 Datenschutzrechtliche Vergleichskriterien
♦ 6.3 Entwickelte Scorecard
• 7 Datenbankmanagementsysteme im Vergleich
♦ 7.1 MySQL
♦ 7.2 Oracle
♦ 7.3 Vergleich
• 8 Fazit
• 9 Fußnoten
• 10 Anhang A
• 11 Literaturverzeichnis
1 Abkürzungsverzeichnis
Abkürzung
BDSG
BSI
BSIG
DB
DBMS
FGAC
ODBC
RFID
SSL
TDE
UAC
XML
Bedeutung
Bundesdatenschutzgesetz
Bundesamt für Sicherheit in der Informationstechnik
Gesetz über die Errichtung des Bundesamtes für Sicherheit in der Informationstechnik
Datenbank
Datenbankmanagementsystem
Fine Grained Access Control
Open Database Connectivity
Radio Frequency Identification
Secure Socket Layer
Transparent Data Encryption
User Account Control
Extensible Markup Language
Inhaltsverzeichnis
1
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
2 Abbildungsverzeichnis
Abb.-Nr.
Abbildung
1
Cypherlock zur Zutrittskontrolle
2
Marktanteil Betriebssystemversionen
3
Schematische Darstellung der Kontrollen
3 Tabellenverzeichnis
Tab.-Nr.
1
2
3
4
5
Tabelle
Beispielvergabe von Berechtigungen
Entwickelte Scorecard
Privilegienvergabe in MySQL
Scorecard MySQL
Scorecard Oracle
4 Einleitung
Die Öffentlichkeit in der Bundesrepublik Deutschland stellt sich nach den Datenschutzskandalen der letzten
Monate die Frage, wie sicher personenbezogene Daten in Unternehmen wirklich sind. Nach der unrechtmäßigen
Überprüfung von Mitarbeitern der Deutschen Bahn oder dem Diebstahl von 17 Millionen Kundendaten bei
T-Mobile wird in der Öffentlichkeit der Ruf nach mehr Datenschutz laut. Oft wird jedoch in der Öffentlichkeit
vernachlässigt, dass bereits zahlreiche Gesetze und Regularien zum personenbezogenen Datenschutz existieren.
Ein Datenbankmanagementsystem (DBMS) unterstützt Unternehmen in der Verwaltung einer Datenbank (DB).
Im Rahmen dieser Hausarbeit sollen zunächst die gesetzlichen Anforderungen an ein DBMS, welches
personenbezogene Daten verwaltet, dargestellt werden. Aus den Ergebnissen soll dann ein Scoring-Modell
entwickelt werden, welches insbesondere diese gesetzlichen Anforderungen berücksichtigt. Um einen
Gesamtüberblick über das DBMS zu geben, werden auch allgemeine Vergleichskriterien für ein DBMS in das
Scoring-Modell mit einbezogen. Im weiteren Verlauf der Hausarbeit sollen das DBMS MySQL und das DBMS
Oracle mit Hilfe einer Scorecard bewertet und verglichen werden. Diese DBMS wurden vom Autor aufgrund der
häufigen Verwendung in der Praxis ausgewählt[1].
Die Darstellung der Gesetzeslage wird sich aufgrund des Umfangs der Hausarbeit im Wesentlichen auf das
Bundesdatenschutzgesetz (BDSG) und das Gesetz über die Errichtung des Bundesamtes für Sicherheit in der
Informationstechnik (BSIG) beschränken. Wird in der Hausarbeit von MySQL gesprochen, ist die Version
?MySQL 5.1 Community Server? inklusive der frei verfügbaren Tools (z.B. Workbench) gemeint[2]. Oracle
bezeichnet im Rahmen dieser Arbeit die Version ?Oracle Database 10g Release 2 (10.2.0.1)?[3]. Weiterhin wird in
der Hausarbeit nicht die Umsetzung der technischen Mechanismen in einem DBMS erläutert, diese werden
jeweils nur genannt.
5 Gesetzliche Anforderungen
?IT-Sicherheitsrecht ist kein ?eigenes? Gesetz, sondern die Summe aller Normen, die der Verwirklichung der
Ziele der IT-Sicherheit dienen.[4]? Auch für den Datenschutz, als Bestandteil der IT-Sicherheit, gibt es kein
2 Abbildungsverzeichnis
2
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
eigenes, einzelnes Gesetz. Eines haben jedoch alle Gesetze gemein: die Grundlage für den Datenschutz in der
Form der Verfassungsartikel:
• ?Die Würde des Menschen ist unantastbar. Sie zu achten und zu schützen ist Verpflichtung aller
staatlichen Gewalt.[5]?
• ?Jeder hat das Recht auf die freie Entfaltung seiner Persönlichkeit, soweit er nicht die Rechte anderer
verletzt und nicht gegen die verfassungsmäßige Ordnung oder das Sittengesetz verstößt.[6]?
Aus den Verfassungsartikeln lässt sich das so genannte Persönlichkeitsrecht ableiten[7]. Auf der Grundlage dieses
Persönlichkeitsrechts existieren das BDSG und das BSIG, welche nachfolgend näher mit ihren Anforderungen an
ein DBMS beschrieben werden.
5.1 Bundesdatenschutzgesetz
Das Ziel des BDSG wird in §1 Absatz 1 BDSG wie folgt beschrieben: ?Zweck dieses Gesetzes ist es, den
einzelnen davor zu schützen, dass er durch den Umgang mit seinen personenbezogenen Daten in seinem
Persönlichkeitsrecht beeinträchtigt wird.[8]?
Um dieses Ziel zu erreichen, verlangt der Gesetzgeber in §9 BDSG technische und organisatorische Maßnahmen
zu treffen, um die Ausführung des Gesetzes zu gewährleisten. Besonders genannt wird die Anlage zu § 9 Satz 1
BDSG, welche konkrete Vorschriften zur automatisierten Verarbeitung von personenbezogenen Daten gibt[9]. In
dieser Anlage werden verschiedene Kontrollverfahren vom Gesetzgeber verlangt[10]. Da ein DBMS
personenbezogene Daten automatisiert verarbeitet, sind diese Kontrollverfahren auch als gesetzliche
Anforderungen an ein DBMS zu verstehen.
Abbildung 1: Cypherlock zur Zutrittskontrolle
• Zutrittskontrolle
Die Zutrittskontrolle soll Unbefugten den Zutritt zu Datenverarbeitungsanlagen verwehren. In der Praxis
besteht diese Zutrittskontrolle meist aus physikalischen Hindernissen, welche nur Zutrittsberechtigte
passieren können. Als Zutrittskontrolle werden mechanische oder digitale Schließanlagen eingesetzt, in
den letzten Jahren aber auch Biometrie oder Radio Frequency Identification (RFID)[11]. Ein DBMS kann
naturgemäß keine Zutrittskontrolle gewährleisten.
• Zugangskontrolle
Die Zugangskontrolle muss sicherstellen, dass das DBMS nur von befugten Personen genutzt werden
5 Gesetzliche Anforderungen
3
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
kann. Die Zugangskontrolle wird in einem DBMS oft über Nutzeraccounts mit zugehörigem Passwort
realisiert.
• Zugriffskontrolle
In der Praxis wird auf die Daten einer DB von vielen Nutzern zugegriffen. Der Gesetzgeber fordert, dass
der einzelne Nutzer der DB nur den Ausschnitt der Daten sehen, kopieren, verändern und entfernen kann,
für die er eine Zugriffsberechtigung hat. Unzulässig ist es, dass alle Nutzer des DBMS Zugriff auf alle
Daten der DB haben. Der Datenbankadministrator ist hier teilweise als Ausnahme anzusehen. In einem
DBMS wird die Zugriffskontrolle über Nutzerberechtigungen umgesetzt.
Nutzer
Nutzer A
Nutzer B
Nutzer C
Berechtigung
alle Datensätze lesen
Datensätze, welche mit A beginnen lesen und verändern
Datensätze, welche mit B beginnen kopieren und entfernen
Tabelle 1: Beispielvergabe von Berechtigungen
• Weitergabekontrolle
Über die Einrichtung einer Weitergabekontrolle muss sichergestellt werden, dass bei der
Datenübertragung (bspw. vom Server zum Client) oder der Speicherung von Daten auf Datenträgern (z.B.
Festplatten, CDs, DVDs) personenbezogene Daten nicht unbefugt gelesen, kopiert, verändert oder
entfernt werden können. Hier kommt der Einsatz von Datenverschlüsselungen in Betracht. Weiter fordert
der Gesetzgeber, dass festgestellt werden kann, an welchen Stellen eine Übermittlung von
personenbezogenen Daten vorgesehen ist. Dies kann durch ein DBMS nicht realisiert werden, da es
lediglich Daten verwaltet, unabhängig von ihrem Typ. Es empfiehlt sich die Verwendung von
personenbezogenen Daten in einem DBMS extern gesondert zu dokumentieren.
• Eingabekontrolle
Bei der Verwendung von einem DBMS muss sichergestellt werden, dass nachträglich überprüft und
festgestellt werden kann, wie und von wem Daten eingegeben, verändert oder entfernt worden sind. Für
eine Eingabekontrolle ist es erforderlich, dass Zutritt, Zugangs- und Zugriffskontrolle bereits vorhanden
sind[12].
• Auftragskontrolle
Es muss gewährleistet werden, dass personenbezogene Daten, die in einem Auftrag verarbeitet werden,
nur entsprechend den Weisungen des Auftraggebers verarbeitet werden können.
• Verfügbarkeitskontrolle
Das BDSG fordert, dass personenbezogene Daten gegen zufällige Zerstörung oder Verlust geschützt
werden. Diese Anforderung kann z.B. über Backups erfüllt werden.
• Trennung des Zwecks
Es wird gefordert, dass zu unterschiedlichen Zwecken erhobene Daten getrennt verarbeitet werden
können. So sollten z.B. Daten die für Werbezwecke erhoben wurden und Daten für Aufträge getrennt
verarbeitet werden.
5.1 Bundesdatenschutzgesetz
4
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
5.2 Gesetz über die Errichtung des Bundesamtes für Sicherheit in der
Informationstechnik
Die Tatsache, dass es seit 1991 ein eigenes Bundesamt für Sicherheit in der Informationstechnik gibt, macht den
hohen Stellenwert der IT-Sicherheit in Deutschland klar. Aus §2 Absatz 2 BSIG lassen sich die Schutzziele für
die IT-Sicherheit ableiten, welche selbstverständlich auch für ein DBMS gelten.
?Sicherheit in der Informationstechnik im Sinne dieses Gesetzes bedeutet die Einhaltung bestimmter
Sicherheitsstandards, die die Verfügbarkeit, Unversehrtheit oder Vertraulichkeit von Informationen betreffen,
durch Sicherheitsvorkehrungen [...] [13]?
• Verfügbarkeit
Unter Datenverfüugbarkeit wird verstanden, dass die gespeicherten Daten grundsätzlich jederzeit für
Zugriffe verfügbar sind. Bei einem DBMS muss auch die Zeitspanne zwischen Anforderung und
Lieferung der Daten beachtet werden. Die Anforderung an die Verfügbarkeit ist ähnlich wie die
Anforderung der Verfügbarkeitskontrolle aus dem BDSG zu sehen.
• Unversehrtheit (Integrität)
Die Integrität in einer DB gilt dann als gewährleistet, wenn keine Änderungen an Daten durchgeführt
werden können, welche nicht nachvollziehbar sind. Auch hier sind Überschneidungen mit dem BDSG
(Eingabekontrollen) zu erkennen.
• Vertraulichkeit
Die Vertraulichkeit von Daten ist gewährleistet, wenn diese vor unbefugtem Zugang, Zugriff,
Manipulation und Nutzung geschützt sind. Auch hier sind Parallelen zum BDSG erkennbar.
Im Gegensatz zum BDSG werden im BSIG keine konkreten Kontrollmechanismen zur Umsetzung genannt. Das
Bundesamt für Sicherheit in der Informationstechnik (BSI) gibt jedoch den so genannten IT-Grundschutz-Katalog
heraus, welcher Maßnahmen zur IT-Sicherheit beinhaltet[14]. Aus den Maßnahmenkatalogen sollten bei der
Verwendung eines DBMS insbesondere die in Anhang A aufgeführten Maßnahmen beachtet werden[15].
6 Scoring-Modell
Um das DBMS MySQL mit dem DBMS Oracle objektiv vergleichen zu können, wird ein Scoring-Modell
entwickelt. Zunächst werden allgemein anerkannte Vergleichskriterien für ein DBMS definiert. Aus den
gesetzlichen Anforderungen an ein DBMS, die om vorherigen Kapitel herausgearbeitet wurden, werden Kriterien
für einen Vergleich abgeleitet und definiert. Für jedes Kriterium ist eine Ausprägung zwischen 1 (schwache
Ausprägung) und 9 (starke Ausprägung) möglich.
Jedes Kriterium wird in der Gesamtbewertung unterschiedlich gewichtet. Die Gewichtung der allgemeinen
Vergleichskriterien beträgt in der Summe 0,3. Um die gesetzlichen Anforderungen an den Datenschutz besonders
zu berücksichtigen, werden die datenschutzrechtlichen Vergleichskriterien in der Summe mit 0,7 gewichtet. Mit
der entwickelten Scorecard sollen die Ergebnisse der Untersuchung der DBMS messbar gemacht werden.
6.1 Allgemeine Vergleichskriterien
5.2 Gesetz über die Errichtung des Bundesamtes für Sicherheit in der Informationstechnik
5
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Abbildung 2: Marktanteil Betriebssystemversionen
• Unterstützte Betriebssysteme
Mit diesem Kriterium wird bewertet, ob das DBMS auf den 3 Betriebssystemen mit dem höchsten
Marktanteil betrieben werden kann[16]. Es wird nicht bewertet, wie performant der Einsatz auf den
einzelnen Betriebssystemen ist. Das Kriterium unterstützte Betriebssysteme wird in der Gesamtbewertung
mit 0,05 gewichtet.
• Support/Dokumentation
Über das Kriterium Support/Dokumentation wird bewertet, wie umfangreich frei verfügbare
Dokumentationen sind. Das Kriterium Support/Dokumentation wird in der Gesamtbewertung mit 0,05
gewichtet.
• Benutzerfreundlichkeit
Über dieses Kriterium werden die verfügbaren Administrationstools für das DBMS bewertet. Bewertet
werden Tools des DBMS zur Gestaltung der DB (Tabellen, Beziehungen, View, etc.). Auch graphische
Frontends des DBMS fließen in die Bewertung mit ein. Das Kriterium Administrationstools wird mit 0,10
in der Gesamtbewertung gewichtet.
• Skalierbarkeit
Das Kriterium Skalierbarkeit bewertet, welche Möglichkeiten das DBMS zur Anpassung an
Anwendungen bietet. Das Kriterium Skalierbarkeit wird in der Gesamtbewertung mit 0,10 gewichtet.
6.2 Datenschutzrechtliche Vergleichskriterien
6.1 Allgemeine Vergleichskriterien
6
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Abbildung 3: Schematische Darstellung der Kontrollen
• Zugangskontrolle
Anhand dieses Kriteriums wird bewertet, ob das DBMS Über Zugangskontrollen verfügt. Weiter wird
bewertet, wie die Zugangskontrollen umgesetzt sind. Dieses Kriterium wird fÜr die Gesamtbewertung
mit 0,10 gewichtet[17].
• Zugriffskontrolle
Bewertet wird, wie die Zugriffe von Anwendungen und Nutzern auf die DB reglementiert werden
kÖnnen und wie restriktiv die Rechtevergabe gestaltet werden kann. Da die im BDSG geforderte
Auftragskontrolle und die geforderte Zwecktrennung fÜr erhobene Daten Über Zugriffskontrollen
gestaltet werden können, fließen diese Aspekte in das Bewertungskriterium Zugriffskontrolle mit ein. Die
im BSIG geforderte Vertraulichkeit wird aufgrund der starken Parallelen zu der geforderten
Zugriffskontrolle aus dem BDSG ebenfalls mit diesem Kriterium bewertet. Das Kriterium
Zugriffskontrolle wird, aufgrund des Umfangs und der erhöhten Bedeutung für den Datenschutz, in der
Gesamtbewertung mit 0,20 gewichtet[18].
• Weitergabekontrolle
Das Kriterium Weitergabekontrolle bewertet, ob der Datenaustausch zwischen der DB und den
Anwendungen/Benutzern verschlüsselt werden kann. Weiter wird bewertet, ob die Speicherung der Daten
verschlüsselt werden kann. Dieses Kriterium wird für die Gesamtbewertung mit 0,10 gewichtet[19].
• Integrität
Über das Kriterium Integrität wird bewertet, ob Mechanismen im DBMS vorhanden sind, die die
Integrität der DB gewährleisten. Wichtig ist, dass nachvollziehbar ist wer wann welche Eingaben getätigt
hat und ob diese Eingaben gültig waren. Weiter werden Mechanismen bewertet, welche die
6.2 Datenschutzrechtliche Vergleichskriterien
7
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Datenbankkonsistenz sicherstellen sollen. Die geforderte Eingabekontrolle aus dem BDSG und die
Integrität aus dem BSIG werden in diesem Kriterium zusammengefasst. Das Kriterium Eingabekontrolle
wird in der Gesamtbewertung mit 0,15 gewichtet[20].
• Verfügbarkeit
Das Kriterium Verfügbarkeit bewertet, ob das DBMS über Tools verfügt, die Backups von einem
bestehenden Datenbestand erstellen können. Weiterhin werden über dieses Kriterium Mechanismen des
DBMS bewertet, welche zu einer Steigerung der Performance (Zugriffszeit) beitragen können. Nicht
bewertet wird die gesamte Performance des DBMS. Das Kriterium Verfügbarkeit wird in der
Gesamtbewertung mit 0,15 gewichtet[21].
6.3 Entwickelte Scorecard
Tabelle 2 zeigt die aufgrund der gewählten Kriterien entwickelte Scorecard. Eingetragen sind die maximal
möglichen Werte.
Scorecard
Gewichtung
Allgemeine Vergleichskriterien
Unterstützte Betriebssysteme 0,05
Support/Dokumentation
0,05
Benutzerfreundlichkeit
0,10
Skalierbarkeit
0,10
Datenschutzrechtliche Vergleichskriterien
Zugangskontrolle
0,10
Zugriffskontrolle
0,20
Weitergabekontrolle
0,10
Integrität
0,15
Verfügbarkeit
0,15
Ausprägung Gewichtete Ausprägung
9
9
9
9
0,45
0,45
0,90
0,90
9
9
9
9
9
0,90
1,80
0,90
1,35
1,35
Ergebnis 9
Ergebnis in % 100
Tabelle 2: Entwickelte Scorecard
7 Datenbankmanagementsysteme im Vergleich
7.1 MySQL
MySQL lässt sich unter Windows XP problemlos installieren und betreiben. Unter Windows Vista muss für die
Installation die User Account Control (UAC) deaktiviert werden[22]. MySQL lässt sich nach dem offiziellen
6.3 Entwickelte Scorecard
8
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Handbuch unter Mac OS X 10.5 betreiben[23].
Unter http://dev.mysql.com/doc/ befindet sich das Referenzhandbuch. Die Dokumentation steht unter der GNU
General Public License. Der Support für den Community Server beschränkt sich auf den Community Support[24].
Einige Features, wie z.B. Update-Benachrichtigung oder die automatisierte Zustellung von technischen
Warnhinweisen, sind mit dem Community Server nicht verfügbar[25].
Über die MySQL workbench[26] lässt sich die Datenmodellierung vornehmen. Die GUI-Tools[27] lassen eine
einfache Administration von MySQL zu. Grundsätzlich existieren aufgrund der GNU General Public License
zahlreiche frei verfügbare Administrations- und Modellierungstools für MySQL.
Unter anderem können Java, .NET und C++ Anwendungen MySQL über die entsprechenden "Connectors"
ansprechen. Auch Open Database Connectivity (ODBC) oder die Extensible Markup Language (XML) werden
von MySQL unterstützt. Die frei verfügbaren Treiber sorgen für die Skalierbarkeit von MySQL.
Bei MySQL wird bei jedem Versuch von Nutzern/Anwendungen, sich mit dem Server zu verbinden, zuerst
überprüft, ob eine Verbindung mit der DB gestattet ist. Dafür werden die Anmeldedaten mit der in MySQL
vorhandenen Tabelle user verglichen. Abgeglichen werden der Host, der User und das Passwort. Ist ein Host
oder ein User nicht in der Tabelle user eingetragen oder ist das Passwort falsch, wird die Verbindung zum
Server nicht gestattet.
MySQL sieht vor, dass jeder Nutzer/jede Anwendung eine eigene ID erhält, für die unterschiedliche Rechte
vergeben werden können. Für die Zugriffskontrolle in MySQL spielen die Tabellen user, db, host, tables
priv und columns priv aus der DB mysql die Hauptrolle. Über diese Tabellen werden
Nutzern/Anwendungen die in MySQL so genannten Privilegien gewährt[28]. Privilegien können u.A. für das
Auslesen, Ändern, Löschen und Hinzufügen von Daten gewährt werden. Ob ein Zugriff auf Daten gestattet wird,
hängt von den eingeräumten Privilegien ab. Ist ein Privileg nicht gewährt, wird von MySQL überprüft, ob in einer
untergeordneten Tabelle das spezifische Recht gewährt ist. Die Rechtevergabe kann also mit MySQL sehr
detailliert und restriktiv gestaltet werden. So lässt sich auch eine Auftragskontrolle oder eine Zwecktrennung von
Daten vornehmen. Die Gestaltung von Benutzerrollen lässt sich in MySQL nur über Umwege, namentlich
wildcards, realisieren[29] [30].
Tabelle
Privelegien
user
globale Privilegien, Anwendung auf alle DB auf dem Server
db, host
Privilegien auf DB-Ebene
tables priv, columns priv Privilegien auf Tabellen und Spaltenebene
Tabelle 3: Privilegienvergabe in MySQL
Grundsätzlich ist MySQL darauf ausgelegt, dass andere Komponenten in der Infrastruktur die Verschlüsselung
von Daten übernehmen, auch wenn es bestimmte Mechanismen bereits mit einer Standardinstallation mitliefert.
MySQL unterstützt verschiedene Secure Socket Layer (SSL) Verschlüusselungsmethoden zwischen Server und
angebundenen Clients. Ausdrücklich darauf hingewiesen wird im Referenzhandbuch, dass die Verschlüsselung
der Daten die Geschwindigkeit des Servers stark beeinträchtigen kann[31]. Explizit genannt werden im
Referenzhandbuch OpenSSL[32] und yaSSL[33] zur Anwendung am MySQL Server. Weiter kann MySQL so
konfiguriert werden, dass eine Authentifizierung mit X509-Zertifikat[34] vom Client verlangt wird.
7.1 MySQL
9
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
MySQL kann bei jeder Anfrage an die Datenbank überprüfen, ob die Konsistenz der Datenbank bei Ausführung
der Anfrage verletzt werden würde. Dazu betrachtet das DBMS jede Anfrage an die Datenbank als Transaktion.
Diese Transaktion wird mit timestamp, NutzerID und einigen weiteren Daten in Logfiles gespeichert. Über die
Logfiles lässt sich als Nebeneffekt auch nachvollziehen, wer wann welche Eingaben getätigt hat. Ist die
Transaktion nach den eingerichteten Regeln zulässig, so wird die Transaktion ausgeführt, ein so genanntes
commit. Würde diese Transaktion die Konsistenz der Datenbank verletzen, verweigert MySQL die Ausführung
der Transaktion, ein so genanntes rollback. Parallelen Schreibzugriff auf einen Datensatz, der die Konsistenz der
Datenbank gefährdet, verhindert MySQL über Locking. Demnach kann z.B. jeweils immer nur ein Nutzer
schreibenden Zugriff auf einen Datensatz haben.
MySQL bringt mit der Installation einige Möglichkeiten für Backups mit. Die erste ist der Konsolenbefehl
mysqldump. Über ihn können gesamte Datenbanken in eine eigene Datei gespeichert werden. Einzelne Tabellen
lassen sich über den Befehl backup table sichern. Auch der select into outfile Befehl kommt für
eine Datensicherung in Betracht[35]. MySQL unterstützt stored procedures, views und trigger. Die Verwendung
von diesen Techniken kann wesentlich zu einer Verringerung der Zugriffszeiten auf Daten führen.
Scorecard MySQL
Gewichtung
Allgemeine Vergleichskriterien
Unterstützte Betriebssysteme 0,05
Support/Dokumentation
0,05
Benutzerfreundlichkeit
0,10
Skalierbarkeit
0,10
Datenschutzrechtliche Vergleichskriterien
Zugangskontrolle
0,10
Zugriffskontrolle
0,20
Weitergabekontrolle
0,10
Integrität
0,15
Verfügbarkeit
0,15
Ausprägung Gewichtete Ausprägung
9
6
9
9
0,45
0,30
0,90
0,90
9
6
6
9
9
0,90
1,20
0,60
1,35
1,35
Ergebnis 7,95
Ergebnis in % 83,33
Tabelle 4: Scorecard MySQL
7.2 Oracle
Oracle lässt sich sowohl unter Windows XP als auch unter Windows Vista installieren und betreiben. Ein Betrieb
von Oracle 10g (Release 2) unter Mac OS X 10.5 ist offziell nicht möglich und es wird auch kein Support dafür
angeboten.
Die Dokumentation ist online unter http://www.oracle.com/pls/db102/homepage verfügbar, jedoch nur in
englischer Sprache. Weiter sind online noch zahlreiche Tutorials hinterlegt, welche den Einstieg in Oracle
erleichtern sollen. Um Support von Oracle zu beziehen, ist grundsätzlich der Abschluss eines Support-Vertrages
nötig.
7.2 Oracle
10
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Eine Installation von Oracle beinhaltet zahlreiche Tools zur Administration. Herzstück ist der so genannte
Enterprise Manager. Er bietet eine Web-Oberfläche, über die alle Einstellungen am DBMS vorgenommen werden
können. Besonders genannt werden sollten aber auch die zahlreichen Assistenten, welche den Nutzer komfortabel
durch einzelne Prozesse leiten.
Oracle kann an Java, .NET, C++ Anwendungen angebunden werden. Auch ODBC und XML werden von Oracle
standardmäßig unterstützt. Die Skalierbarkeit ist also, teilweise über nachträglich zu installierende Treiber,
ausreichend sichergestellt.
In Oracle bekommt jeder Nutzer/jede Anwendung eine User-ID zugewiesen. Über diese User-ID und das
zugehörige Passwort identifiziert sich der Nutzer/die Anwendung gegenüber dem Server. Die Zugangskontrolle
ist in Oracle also ausreichend umgesetzt.
Jeder Benutzer/jede Anwendung kann in Oracle objektbezogene Rechte und Systemrechte besitzen. Dem
Nutzer/der Anwendung werden, ähnlich wie in MySQL,Rechte zum Auslesen, Ändern, Löschen und Hinzufügen
von Daten gewährt. Oracle unterstützt die Rechtevergabe detailiert bis auf Spaltenebene über die Tabelle dba
col privs. Hier werden die einzelnen Berechtigungen gewährt. Zusätzlich zu der Rechtevergabe auf
User-Ebene unterstützt Oracle auch die Einrichtung von Rollen. Eine Rolle beinhaltet dann immer mehrere
Einzelrechte. Ein Nutzer oder eine Anwendung kann immer mehreren Rollen zugeordnet werden. Hierbei ist zu
beachten, dass für jede DB, die auf dem Server betrieben wird, eigene Rollen erstellt werden können[36]. Somit
lässt sich eine Auftragskontrolle oder eine Zwecktrennung von Daten umsetzen. Ein weiteres Feature bei Oracle
ist die so genannte Fine Grained Access Control (FGAC). Hier werden Policies definiert und Benutzern
zugeordnet. Über diese Policies lässt sich der Zugriff von einzelnen Nutzern bis auf Zeilen- und Spaltenebene
reglementieren. Da die Zugriffskontrolle über Policies in der Datenbank selbst geregelt wird und nicht in Tabellen
ausgelagert ist, gilt es als erschwert, die Zugriffskontrolle in Oracle zu umgehen[37].
Oracle ist klar darauf ausgelegt, schon über das DBMS umfangreiche Möglichkeiten zur Verschlüsselung von
Daten und zur verschlüsselten Übertragung von Daten zu bieten. Über den so genannten Wallet Manager
unterstützt Oracle die Verwendung von SSL-Übertragungen und die Authentifizierung via X509[38]. Mit dem
Release 2 hat Oracle die Transparent Data Encryption (TDE) eingeführt. Hiermit können Daten direkt
automatisch bei der Speicherung verschlüsselt werden. Beim Auslesen werden die Daten automatisch wieder
entschlüsselt. TDE lässt sich auch für Übertragungen im Netzwerk benutzen[39]. Die Schlüssel werden außerhalb
des DBMS abgelegt, was die Sicherheit zusätzlich erhöht. Eine weitere Möglichkeit, Daten zu verschlüsseln,
bietet Oracle mit dem Package dbms crypto. Hierüber lassen sich Hashes und die Algorithmen MD4, MD5
und SHA-1 zur Verschlüsselung nutzen[40].
Oracle arbeitet zur Sicherung der Konsistenz der DB mit Transaktionen. Abgeschlossene oder offene
Transaktionen werden in redo log Dateien gespeichert. Würde die Konsistenz der DB verletzt, wird die
verursachende Transaktion über die redo log Dateien identifiziert und rückgängig gemacht (rollback). In so
genannten Control Files speichert Oracle Informationen über die Struktur der Datenbank, die bei Bedarf wieder
hergestellt werden kann. Oracle unterstützt das Verfahren des Locking, welches den gleichzeitigen schreibenden
Zugriff auf Datensätze verhindert.
Für Backups bietet Oracle mehrere Methoden an. Eine Möglichkeit ist das Data Pump. Weitere Möglichkeiten
Backups einer bestehenden DB zu erstellen, bietet der Oracle Recovery Manager[41]. Oracle unterstützt stored
procedures, views und trigger.
Scorecard Oracle
7.2 Oracle
11
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Gewichtung
Allgemeine Vergleichskriterien
Unterstützte Betriebssysteme 0,05
Support/Dokumentation
0,05
Benutzerfreundlichkeit
0,10
Skalierbarkeit
0,10
Datenschutzrechtliche Vergleichskriterien
Zugangskontrolle
0,10
Zugriffskontrolle
0,20
Weitergabekontrolle
0,10
Integrität
0,15
Verfügbarkeit
0,15
Ausprägung Gewichtete Ausprägung
6
3
9
7
0,30
0,15
0,90
0,70
9
9
9
9
9
0,90
1,80
0,90
1,35
1,35
Ergebnis 8,35
Ergebnis in % 92,77
Tabelle 5: Scorecard Oracle
7.3 Vergleich
Die erreichten Scores von MySQL mit 7,95 und Oracle mit 8,35 sind in etwa gleich. Beide Systeme beinhalten
Maßnahmen, welche zur Erfüllung der gesetzlichen Anforderungen beitragen. Keines der beiden Systeme
vernachlässigt einen geforderten Teilaspekt der gesetzlichen Forderungen gänzlich. Kleine Unterschiede zwischen
MySQL und Oracle sind lediglich in der Umsetzung der Maßnahmen zu sehen. So ist z.B. die Zugriffskontrolle in
MySQL auf die Gewährung von Privilegien beschränkt, während Oracle auch rollenbasierte Privilegienvergabe
unterstützt. Im Ganzen kann gesagt werden, dass Oracle und MySQL aus datenschutzrechtlicher Sichtweise
durchaus vergleichbar sind.
8 Fazit
Das DBMS MySQL und das DBMS Oracle unterscheiden sich in den gewichteten Kriterien kaum. Beide DBMS
erfüllen die gesetzlichen Anforderungen an den Datenschutz und sind in dieser Hinsicht absolut vergleichbar.
Im Verlauf der Hausarbeit hat sich gezeigt, dass die DBMS selbst nicht an erster Stelle für die einleitend
genannten Datenschutzskandale verantwortlich sein können. Die Verletzungen der Persönlichkeitsrechte haben
offensichtlich andere Ursachen. Dies kann z.B. eine mangelnde Umsetzung der von den DBMS zur Verfügung
gestellten Kontrollen sein. Auch andere Aspekte, wie z.B. eine schlechte Zutrittskontrolle, welche über ein DBMS
nicht realisiert werden kann, kommen in Betracht. Auch bewusste Verletzungen der Persönlichkeitsrechte sind
denkbar. Diese Ursachen könnten das Thema einer weiteren Hausarbeit sein.
Abschließend ist festzustellen, dass MySQL und Oracle mit ihren Kontrollmöglichkeiten einen großen Anteil an
einem ganzheitlichen IT-Sicheheitskonzept für den Bereich Datenbankmanagement abdecken können. Ein
weiterer Teil eines IT-Sicherheitskonzeptes sollte sicherlich durch andere Maßnahmen abgedeckt werden.
7.3 Vergleich
12
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
9 Fußnoten
1. ? Vgl. Schauer(2009), o.S.
2. ? Download unter: http://dev.mysql.com/downloads/
3. ? Download unter: http://www.oracle.com/technology/software/products/database/index.html
4. ? Vgl. Hoffmann (2009), o.S.
5. ? Vgl. Art. 1(1) GG
6. ? Vgl. Art. 2 (1) GG
7. ? Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), S.11
8. ? Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), §1 Abs. 1 BDSG
9. ? Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), §9 BDSG
10. ? Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), Anlage zu §9 Satz
1 BDSG
11. ? Vgl. Haluschak (2009), o.S.
12. ? Vgl. Kron (o.J.), o.S.
13. ? Vgl. Regierung der Bundesrepublik Deutschland (o.J.), §2 Absatz 2 BSIG
14. ? Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. a), o.S.
15. ? Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), o.S.
16. ? Vgl. Net Applications (2009), o.S.
17. ? Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.128
18. ? Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.129, M 2.132, M 4.67
19. ? Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 4.72
20. ? Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.130, M 2.133, M 4.68
21. ? Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.134, M 2.138, M 6.49, M 6.51
22. ? Vgl. Kofler (2008), S.32f
23. ? Vgl. MySQL AB (2006), S.108ff
24. ? Verfügbar unter http://www.mysql.de/support/community_support.html
25. ? Vgl. Sun Microsystems, Inc (o.J. a), o.S.
26. ? Download unter: http://dev.mysql.com/downloads/workbench/5.1.html
27. ? Download unter: http://dev.mysql.com/downloads/gui-tools/5.0.html
28. ? Vgl. Kofler (2005), Kapitel 9
29. ? Vgl. Raymans (2002), S.413
30. ? Vgl. Reese (2002), S.109ff
31. ? Vgl. Sun Microsystems, Inc (o.J. b), o.S.
32. ? Vgl. Sun Microsystems, Inc (o.J. c), o.S.
33. ? Vgl. Sun Microsystems, Inc (o.J. d), o.S.
34. ? Vgl. C.H. Ostfeld SAS (o.J.), o.S.
35. ? Vgl. Zawodny (2004), Kapitel 9
36. ? Vgl. Raymans (2002), S.427
37. ? Vgl. Günther (2007), o.S.
38. ? Vgl. Ahrends (2005), S.399ff
39. ? Vgl. Deutsche Oracle-Anwendergruppe e.V. (2007), S.55ff
40. ? Vgl. Haas (2006), S.145ff
41. ? Vgl. Gschoßmann (2008), Kapitel 2
10 Anhang A
Auszug aus Maßnahmenkatalog BSI
9 Fußnoten
13
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
Maßnahmen Organisation
M 2.124
M 2.125
M 2.126
M 2.127
M 2.128
M 2.129
M 2.130
M 2.131
M 2.132
M 2.133
M 2.134
M 2.135
M 2.137
M 2.138
Maßnahmen Hardware / Software
M 4.67
M 4.68
M 4.69
M 4.70
M 4.71
M 4.72
M 4.73
Maßnahmen Notfallvorsorge
M 6.48
M 6.49
M 6.50
M 6.51
Geeignete Auswahl einer Datenbank-Software
Installation und Konfiguration einer Datenbank
Erstellung eines Datenbanksicherheitskonzeptes
Inferenzprävention
Zugangskontrolle einer Datenbank
Zugriffskontrolle einer Datenbank
Gewährleistung der Datenbankintegrität
Aufteilung von Administrationstätigkeiten bei Datenbanksystemen
Regelung für die Einrichtung von Datenbankbenutzern/-benutzergruppen
Kontrolle der Protokolldateien eines Datenbanksystems
Richtlinien für Datenbank-Anfragen
Gesicherte Datenübernahme in eine Datenbank
Beschaffung eines geeigneten Datensicherungssystems
Strukturierte Datenhaltung
Sperren und Löschen nicht benötigter Datenbank-Accounts
Sicherstellung einer konsistenten Datenbankverwaltung
Regelmäßiger Sicherheitscheck der Datenbank
Durchführung einer Datenbanküberwachung
Restriktive Handhabung von Datenbank-Links
Datenbank-Verschlüsselung
Festlegung von Obergrenzen für selektierbare Datensätze
Verhaltensregeln nach Verlust der Datenbankintegrität
Datensicherung einer Datenbank
Archivierung von Datenbeständen
Wiederherstellung einer Datenbank
11 Literaturverzeichnis
Monographien
Ahrends (2005)
Ahrends Johannes / Lenz Dierk / Schwanke Patrick / Unbescheid Günther: Oracle 10g für den D
Addison-Wesley München 2005
Deutsche
Deutsche Oracle-Anwendergruppe e.V.: DOAG Oracle-Jahrbuch 2007/2008. Praxisleitfaden und
Oracle-Anwendergruppe
Praxisleitfaden und Partnerkatalog für die Oracle-Welt, Hanser-Verlag 2008
e.V. (2007)
Gschoßmann Christine / Langenegger Klaus: Das Oracle Backup und Recovery-Praxisbuch: Für
Gschoßmann (2008)
Addison-Wesley München 2008
Haas (2006)
Haas Frank: Oracle Security in der Praxis: Sicherheit für Ihre Oracle-Datenbank, Hanser Fachbu
Kofler (2008)
Kofler Michael / Öggl Bernd: PHP 5.3 & MySQL 5.1: Grundlagen, Programmiertechniken, Beis
Kofler (2005)
Kofler Michael: MySQL 5. Einführung, Programmierung, Referenz, 3.Auflage, Addison-Wesley
10 Anhang A
14
tenbankmanagementsysteme_MySQL_und_Oracle_unter_der_besonderen_Berücksichtigung_des_gesetzlichen_Anforderung
MySQL AB (2006)
Raymans (2002)
Reese (2002)
Zawodny (2004)
Internet-Quellen
Bundesamt für Sicherheit
in der
Informationstechnik (o.J.
a)
Bundesamt für Sicherheit
in der
Informationstechnik (o.J.
b)
C.H. Ostfeld SAS (o.J.)
Der Bundesbeauftragte
für den Datenschutz und
die Informationsfreiheit
(2007)
MySQL AB: Das offizielle MySQL 5-Handbuch: Konfiguration, Administration, Entwicklung u
Raymans Heinz-Gerd: Nitty Gritty SQL, Addison-Wesley München 2002
Reese George / Yarger Randy J. / King Tim: MySQL. Einsatz und Programmierung, 2.Auflage,
Zawodny Jeremy D. / Balling Derek J.: High Performance MySQL. Optimierung, Datensicherun
Bundesamt für Sicherheit in der Informationstechnik (Hrsg.): IT-Grundschutz-Katalog, http://ww
Bundesamt für Sicherheit in der Informationstechnik (Hrsg.): IT-Grundschutzkatalog - Maßnahm
http://www.bsi.bund.de/gshb/deutsch/download/massnahmen.zip (08.05.2009 18:48)
C.H. Ostfeld SAS (Hrsg.): X.509-Zertifikate, http://www.pentaware.com/pw_de/X509.htm (08.0
Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (Hrsg.): Bundesdatensc
http://www.bfdi.bund.de/cln_027/nn_531948/SharedDocs/Publikationen/Infobroschueren/INFO
(14.03.2009, 20:57)
Günther Klaus: Oracle Zugriffskontrolle: Fine Grained Access Control (FGAC), Februar 2007,
http://www.ordix.de/ORDIXNews/2_2007/Datenbanken/fine_grained_access_control.html (28.0
Haluschak Bernhard: Zutrittskontrolle Serverräume wirkungsvoll vor unbefugtem Zutritt schütze
Haluschak (2009)
http://www.tecchannel.de/server/hardware/1780627/server_serverraeume_rechenzentrum_zutrit
Dr. Hoffann Mathis: IT-Sicherheit - ein Überblick, Veranstaltung des AKIT e.V., 06.07.2006,
Hoffmann (2006)
http://www.kegom.de/site/fcke_files/File/IT-Sicherheit_Dr.Hoffmann06.07.06.pdf?PHPSESSID
Kron Gerhard (Hrsg.): Artikel über Eingabekontrollen, http://www.kronsoft.de/DSGlossar/Gloss
Kron (o.J.)
11:54)
Net Applications (Hrsg.): Operating System Market Share, http://marketshare.hitslink.com/opera
Net Applications (2009)
15:16)
Regierung der
Regierung der Bundesrepublik Deutschland (Hrsg.): Gesetz über die Errichtung des Bundesamte
Bundesrepublik
http://www.bsi.bund.de/bsi/bsiges.pdf (08.05.2009, 17:04)
Deutschland (o.J.)
Dr. Schauer Manfred: Open Source auf der Überholspur, Juni 2006, http://www.joinvision.com/
Schauer (2009)
17:44)
Sun Microsystems, Inc Sun Microsystems, Inc (Hrsg.): Was soll ich einsetzen: MySQL Enterprise oder MySQL Comm
(o.J. a)
http://www.mysql.de/products/which-edition.html (08.05.2009 19:33)
Sun Microsystems, Inc
Sun Microsystems, Inc (Hrsg.): Verwendung sicherer Verbindungen, http://dev.mysql.com/doc/r
(o.J. b)
Sun Microsystems, Inc Sun Microsystems, Inc (Hrsg.): Verwendung von SSL-Verbindungen mit OpenSSL, http://dev.m
(o.J. c)
(08.05.2009 20:41)
Sun Microsystems, Inc Sun Microsystems, Inc (Hrsg.): Verwendung von SSL-Verbindungen mit yaSSL, http://dev.mys
(o.J. d)
(08.05.2009 20:41)
Günther (2007)
11 Literaturverzeichnis
15
Herunterladen