Skip to content

(in)Secure Magazin: Enterprise Database Security

Das Online Magazin (IN)SECURE 1.6 ist erschienen. Die Ausgabe steht als PDF zum freien Download bereit. Einer der Leitartikel beschäftigt sich mit Enterprise Datenbanken. Best Practise Tipps aus der "Praxis": http://www.insecuremag.com/ Ulf Mattson schreibt darin wie die Vertraulichkeit und Integrität von Enterprise Datenbanken sichergestellt werden können. Ich persönliche halte den Artikel etwas missglückt, da die üblichen Verfahren etwas kurt kommen, und dem Thema Verschlüsselung und externe Schutzsysteme zu viel Bedeutung zugemessen wird. Das dürfe wohl darin begründet sein dass Mattson der CTO von Protegrity ist. Dieses Unternehmen verkauft Software Lösungen für diese Aufgaben. In weiteren Artikeln findet man Informationen über Security Zertifizierungen, die Kosten von Spyware in Unternehmen, Buch Reviews oder News über Security Produkte und drei Beiträge über Web Sicherheit: Authentifizierte Sessions und PHP/SQL Sicherheit. und Apache Deny of Service Absicherung. Desweiteren gibt es ein Interview mit Prof. Kenny Paterson (Information Security Group, Royal Holloway, University of London) und einen Artikel über den Einsatz von Metriken mit der Open Source Security Testing Methodology (OSSTM) und einen Bericht über War Driving auf der CeBIT 2006.

IBM DB2 UDB Express-C

Download DB2 Express-CNach Microsoft und Oracle bietet nun auch IBM seine Enterprise Datenbank DB2 UDB 8.2 für Distributed Systems (Linux, Unix, Windows) als kostenfreie DB2 Express-C an. Interessant bei der Sache ist, dass im Gegensatz zu Oracles oder Microsofts Express Editionen keine Größenlimits für die Datenfiles existieren. Lediglich RAM Nutzung ist auf 4GB und CPU Nutzung auf 2 Dual-Core Prozessoren limtiert. Verfügbar ist die Software für x86, x64, IA64 und PPC64 Linux Systeme, als auch für x64 und IA64 Windows. IBM verwirrt ein klein wenig mit "Express-C, Express Edition und Express Runtime", aber das sind wir ja von IBM gewöhnt: No charge data server for the community
IBM DB2 Express-C is a version of DB2 UDB Express Edition designed for the community. It is a no-charge data server for use in development and deployment. It provides the same database server features, API support and system limits as DB2 Express in a smaller package. Ich habe die kostenlose Express Discovery CD bestellt, und parallel dazu läuft grade der 382MB Download für die Win32 Version. Hier kann ich nur empfehlen den Download Director zu benutzen. Mit HTTP Downloads kam bei mir nur ein defektes ZIP an. Der Download Direktor überträgt mit 100-420KB/s, HTTP hingegen nur mit 50 KB/s. Leider brachte das Download Director Applet meinen Windows Firefox zum Absturz, mit dem IE6 und Java 5 Plugin lief es aber problemlos. Update: Zwei Stunden später: nachdem das Setup 450MB Programmfiles auf meine Festplatte geschaufelt hat bin ich leider mit meinem Latein am Ende: DB29501E DB hat eine inkonsistente Umgebung festgestellt. Untersuchen Sie folgendes: DB2INSTANCE : -2029059915 Unter einer einfachen, schnellen und Problemlosen Installation stelle ich mir was anderes vor. Mal sehen welche Hilfe ich im Express Forum bekomme. Update2: Dem Hinweis im Forum folgenden (dass es defintiv ein Problem beim Anlegen der Instanz (=Exemplar in IBMisch) ist, habe ich mehrere Installationsversuche gemacht, um an die Logfiles ranzukommen (My Documents\DB2LOGS*) aber da ging es dann auch schon wie von Geisterhand :( Nun ja, war ja zu erwarten dass so eine Menge an Code nicht mehr stabil funktionieren kann. Auch das Anlegen einer Datenbank mittels Verwaltungsgui klappte erst, als ich die Sample Datenbank benutzt habe.... verwirrend. Und Morgen lesen Sie, wie viele JDBC Treiber es für die drei DB2 Produktlinien gibt...

JDBC Treiber für den Microsoft SQL Server

Mit dem Microsoft SQL Server bin ich sehr zufrieden. Er ist ziemlich intelligent was das Selbst-Tuning angeht, gerade in einem Umfeld in dem kein Vollzeit-DBA zur Verfügung steht. Im Vergleich zu Oracle Datenbanken ist die Lernkurve deutlich geringer, Entwickler sind produktiver. Jedoch war schon immer eine Schwäche des Produktes die Unterstützung von Java (also der JDBC Treiber): der Microsoft JDBC Treiber für den SQL Server ist nur eingeschränkt frei verwendbar, die neusten Feature und Performance Verbesserungen finden sich grundsätzlich nur in Beta Versionen. Dieses Problem haben auch einige kommerzielle Anbieter von JDBC Treibern erkannt (z.B. i-net Merlia oder JNetDirect). Wir haben in unseren Produkten lange Zeit den JSQLConnect Treiber von JNetDirect eingesetzt. Jedoch ist es für einen ISV schwer für einfache Infrastruktur Komponenten eine Beziehung mit einem Lieferanten aufrecht zu erhalten, die neben den Lizenzkosten auch Einschränkungen bei der Installation und Verteilung macht. Deswegen hat der Ablauf unseres Lizenzkontingentes und auch dazu bewogen uns nach Alternativen umzusehen. FreeTDS stand bei uns unter Beobachtung, war aber nicht befridigend. Es ist eine Open Source Implementierung des Tabular Data Stream Protokolls, das sowohl von Sybase als auch Microsoft für die Datenbank Produkte eingesetzt wird. Erst seit der JDBC Type-4 Treiber in einem eigenen Projekt weiterentwickelt wurde, hat er sich aber als Alternative herausgestellt. jTDS ist seitdem ohne Zweifel einer der schnellste und stabilsten JDBC Treiber für den MS SQL Server, der noch dazu als Open Source (LGPL) erhältlich ist, und alle Features unterstützt die wir bisher in unseren J2EE Anwendungen (Tomcat und JBoss) benötigt haben.

Oracle 10g Express Edition

OracleXEOracle bietet seine Datenbank 10g R2 in einer eingeschränkten Freeware Version an. Das ist sicherlich eine lange überfällige Reaktion auf die ebenfalls kostenfreie Microsoft Desktop Engine (bzw. SQL Server 2005 Express). Und natürlich auf den Mittbewerb aus dem Open Source Lager. Zur Zeit ist eine Beta für 32bit x86 unter Windows oder Linux verfügbar. Die Datenbank, mit eigener HTML Administrationsoberfläche, aber ansonsten basierend auf den traditionellen Oracle Komponenten wie RDBMS, Listener, htmldb, xmldb ist beschränkt auf die Nutzung einer CPU und 1G Ram. Die Datenfiles der Benutzer Tablespaces können maximal 4GB groß werden, und es ist nur die Installation einer Instanz pro Server vorgesehen. Im Gegensatz zu Open Source Datenbanken wie MySQL, PostgreSQL, MaxDB oder Firebird handelt es sich aber bei der Oracle 10g Express Edition nicht um Open Source. Es ist lediglich eine eingeschränkte Version mit einem praktischen und einfachen Installer. Oracle Datenbanken zu installieren war noch nie so einfach und super schnell! Die aktuelle 10.2 Beta installiert sich mittels Windows Installer in meinem Versuch problemlos auf einem Windows XP. Außer dem Admin Passwort das für sys und system verwendet wird sind keine Angaben notwendig. Automatisch wird ein Listener eingerichtet, eine Instanz XE mit dem primären USER Tablespace. Durch geschickte Sparmassnahmen (z.b. keine Java-VM in der DB) belegt die Installation knapp über einem Gigabyte. Für die wichtigsten administrativen Funktionen liefert Oracle eine neue Web Konsole mit. Diese basiert auf HTMLDB und ist einfach und leichtgewichtig zu bedienen. Nach dem Download der XE kann man sich an dem sonst unsichtbaren XE Forum anmelden, dies ist unbedingt empfehlenswert. Denn dort kann man schnell Problemlösungen und Erfahrungen finden. Mir selbst sind nur wenige Dinge negativ aufgefallen: Die Anzahl der Sessions ist relativ gering voreingestellt. Wenn man viele Verbindungen öffnet und schließt, so kann es zu einem Ora-12519 kommen. Abhilfe schafft das erhöhen der Datenbankparameter "processes" und "sessions". Dies wird von der Lizenz auch nicht verboten. Dadurch dass die eingebaute JVM in der Datenbank nicht ausgeliefert wird kann man mit den JDBC OCI Treibern keine XA Transaktionen benutzen. Oracle hat in der R2 die Rollen etwas aufgeräumt, das führt wie bereits berichtet zu Problemen. Außerdem kann man im Forum einige Probleme bei der Installation sehen, das hängt wohl aber größtenteils mit bereits installierter Oracle Software zusammen, oder mit falschen Versionen von Shared libs unter Linux. Das 4GB Limit führt übrigens zu einem Ora-12952 Fehler, auch in Situationen in denen man dies nicht erwartet (z.B. beim Löschen von Records, wenn dabei der Index neu strukturiert wird was mehr Platz benötigt). Man sollte also auf keinen Fall die DB an der 4GB Grenze betreiben. Für Oracle Entwickler, oder wenn Sie sich das RAD Tool htmldb für einfache Datenbank-Anwendungen ansehen wollen ist die XE unbedingt empfehlenswert. Durch die starken Einschränkungen würde ich keine neuen Produkte im ausschließlichen Zusammenspiel mit der Freeware erstellen.

Oracle 10g R2 CREATE VIEW: ORA-01031

Falls Sie sich über Fehler wie diesen wundern:
SQL*Plus: Release 10.2.0.1.0 - Beta on Wed Nov 9 03:16:53 2005
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> connect OWNER/secret@xe;
Connected.
SQL> create view vtest as select * from dual;
create view vtest as select * from dual
            *
ERROR at line 1:
ORA-01031: insufficient privileges

so könnte dabei eine (missglückte) Aufräumaktion von Oracle Schuld sein. Mit der Version 10.2 wurde die überladene System Rolle CONNECT entschlackt, diese enthält jetzt nur noch das Recht sich am System anzumelden (CREATE SESSION).

"Oracle 10g R2 CREATE VIEW: ORA-01031" vollständig lesen

Zeitstempel in Datenbanken (Oracle)

Zu meinem Job als Software Architekt gehört es an Guidelines für die Implementierung von Software Systemen mitzuarbeiten. Ganz konkret habe ich mich etwas in das Thema Datum/Zeit Speicherung in Datenbanksystemen gestürzt. Aus dem Grund kann ich hier etwas über die Datum/Zeit Repräsentation in Oracle DB 10g Release 1 (und natürlich älteren Modellen) berichten. Gerade im Zusammenspiel mit Zugriffen via JDBC sind hier einige Dinge zu beachten. Beim Design unserer Software achten wir auf die TCO. Das klingt zwar wie ein Buzz-Word, macht aber durchaus Sinn: das System soll möglichst wenig Anforderungen an die Konfiguration der Datenbank stellen (damit diese für unterschiedliche Anwendungen genutzt werden kann). Ebenso soll es möglichst unempfindlich gegen Konfigurationsänderungen und Variationen sein (gerade im Bereich Zeit/Datum können Probleme mit unterschiedlichen Datums-Formaten oder Sprachen auftreten.)

Oracle Datum/Zeit Datentypen

Prinzipiell unterstützt Oracle den SQL Datentyp "DATE", erweitert um Zeitinformationen, bis hin zur Sekunde. Der Typ hat keine Möglichkeit der Speicherung von Schaltsekunden. Er belegt 7 bytes, wobei Jahrhundert, Jahr, Monat, Tag, Stunde, Minute und Sekunde in getrennten Feldern gespeichert werden. Es werden keine zusätzlichen Zeitzonen-Informationen gespeichert und der Wertebereich reicht von v.Chr 4712-12-31 00:00 bis 9999-12-31 23:59:59.

"Zeitstempel in Datenbanken (Oracle)" vollständig lesen