Von Paula Blankenheim auf Donnerstag, 11. August 2022
Kategorie: Remote Service

Eine Einführung in das Oracle Database Security Assessment Tool

Durch fehlerhafte oder unzureichende Konfigurationen können Sicherheitsschwachstellen in einer Datenbank entstehen. Diese Sicherheitsschwachstellen begünstigen unberechtigte Zugriffe auf die Datenbank und ihre Daten. Die Anpassung gezielter Konfigurationen erhöht die Sicherheit der Datenbank. Für diese Problematik bietet Oracle seit 2016 das Oracle Database Security Assessment Tool (kurz: Oracle DBSAT) an.

Was ist Oracle DBSAT? 

Oracle DBSAT ist ein Kommandozeilen-Tool zur Sicherheitsüberprüfung der Oracle-Datenbank. Es überprüft die Datenbank auf eine Vielzahl potenzieller Sicherheitsschwachstellen, welche durch gezielte Konfiguration vermieden und behoben werden können.

Hierzu werden durch Oracle DBSAT, 86 Checks verschiedener Kategorien durchgeführt. Diese Checks basieren sowohl auf Abfragen auf der Datenbankebene als auch auf Abfragen auf Betriebssystemebene. Die Checks beziehen sich auf folgende Kategorien:

Die Analyseergebnisse werden in einem Report dargestellt. Dabei werden die einzelnen Checks bewertet und in die Risikolevel Pass, Evaluate, Advisory, Low Risk, Medium Risk und High Risk eingeordnet. Die Bedeutungen der einzelnen Risikolevel können der nachfolgenden Tabelle entnommen werden.

Der folgende Ausschnitt aus einem Report zeigt einen Check mit dem Status „High Risk". Dieser Check merkt an, dass die Datenbank seit 806 Tagen nicht gepatcht wurde und dies unmittelbar geprüft werden muss.

Der nächste Ausschnitt zeigt das Gegenbeispiel mit einem Check im Status „Pass", bei dem kein Sicherheitsrisiko besteht. Bei diesem Check wurde geprüft, ob ein User die DBA-Rolle besitzt.

Darüber hinaus enthält der Report Handlungsempfehlungen. Diese beziehen sich sowohl auf die Behebung vorhandener Sicherheitsschwachstellen als auch auf die Vermeidung neuer Sicherheitsschwachstellen. Zudem kann das Tool durch den Anwender um eigene Checks erweitert werden.

Oracle DBSAT überprüft aber nicht nur die Sicherheit der Datenbank. Das Tool ist zudem in der Lage, sensible Daten in der Datenbank lokalisieren. So wird dem Anwender aufgezeigt, welche Daten besonderen Schutz benötigen. Die Daten werden in Kategorien unterteilt, welche durch den Anwender beliebig erweitert werden können. Auch für diese Ergebnisse wird ein Report angefertigt. In dem Report werden die Tabellen, Spalten und Schemata mit sensiblen Daten und ihrer zugehörigen Kategorie aufgeführt. Folgende Kategorien werden in dem Report aufgeführt:

Wie ist Oracle DBSAT aufgebaut und wie funktioniert es?

Oracle DBSAT besteht aus drei Komponenten: dem Collector, dem Reporter und dem Discoverer.

Der Collector ist für die Sammlung der zu analysierenden Daten verantwortlich. Dafür werden von ihm Abfragen auf Datenbank- sowie Betriebssystemebene durchgeführt. Die gesammelten Daten werden dann in einer JSON-Datei gespeichert.

Der Reporter ist ein Python-Programm. Er analysiert die gesammelten Daten und fertigt auf Grundlage dessen den Report an. Dieser wird in HTML-, TXT-, Excel- und JSON-Format gespeichert.

Der Discoverer ist ein von Collector und Reporter unabhängiges Java-Programm. Durch ihn werden die sensiblen Daten lokalisiert. Zudem wird durch den Discoverer der Report in HTML- und CSV-Format angefertigt.

Wie wird Oracle DBSAT angewendet?

Zur Verwendung des Tools gibt es folgende Voraussetzungen:

Die zu analysierenden Daten können mit dem Befehl dbsat collect [-n] <database_connect_string> <output_file>  gesammelt werden.

Danach werden die Daten mit dem Befehl dbsat report [-n] [-a] [-g] [-x <section>] <input_file> analysiert und der Report angefertigt. Durch die verschiedenen Optionen können die Aufrufe und der Report spezifiziert werden.

Zur Lokalisierung der sensiblen Daten muss eine Konfigurationsdatei angepasst werden. Die Konfigurationsdatei muss mindestens die Informationen zur Datenbankverbindung enthalten. Daneben können die beiden folgenden Eigenschaften spezifiziert werden:

Eine Beispieldatei befindet sich in dem Unterverzeichnis Discover/conf

Bei Bedarf kann zusätzlich ein pattern-file angelegt werden, indem die Kategorien der sensiblen Daten definiert und erweitert werden können. Dann kann der Discoverer über folgenden Befehl dbsat discover [-n] -c <config_file> <output_file> ausgeführt werden.

Haben Sie sich bereits mit der Sicherheit Ihrer Datenbanken beschäftigt? Wenn nicht, müssen Sie jetzt handeln! Die ORDIX AG unterstützt Sie dabei gerne. Weitere Informationen und Kontaktmöglichkeiten finden Sie unter ordix.de.

Seminarempfehlung

Kommentare hinterlassen