DBSAT – Das Database Security Assessment Tool von Oracle

01.
März
2023
Veröffentlicht von: Daniel Jaouadi

Vor allem in der heutigen Zeit ist Datenbanksicherheit (und alles, was dazu gehört) wichtig. Aufgrund der komplexen Basis von Datenbanken und ihrer datenrelevanten Position in den meisten Unternehmen, gilt es hier besonders vorsichtig zu sein und eine strikte Kontrolle darüber zu haben, wer Daten auslesen und auswerten kann. Oracle hat hierfür ein sehr bequemes und einfach zu handhabendes Tool entwickelt, welches sich die gängigsten Sicherheitsbedenken (und auch ein wenig tiefere Themen) ansieht und bewertet. In diesem Artikel gehen wir auf den Umgang mit dem Tool ein und schauen, wie wir einen Report erzeugen.

Der entsprechende „My Oracle Support“-Artikel ist folgender:
Oracle Database Security Assessment Tool (DBSAT) (Doc ID 2138254.1)
Hier finden sich diverse wichtige Informationen zu DBSAT, inklusive des Downloadlinks für die neuste Version.

Die DBSAT Ausführung muss nicht zwingend auf dem Datenbankserver passieren. Es wird mittels Connectstring eine Verbindung aufgebaut, somit ist die Ausführung überall möglich (sofern ein TNSNAMES Eintrag existiert und das Passwort des „System“ oder einem gleichwertigen User bekannt ist).

Vorbereitung

Das heruntergeladene .zip muss entpackt werden (unzip dbsat.zip)
Zusätzlich wird für die Auswertung Python mit mindestens der Version 2.6 benötigt.
Unter Linux kann mittels python -v die Version geprüft werden.
Insgesamt sind mindestens 2 Schritte notwendig, um einen aussagekräftigen Report zu erhalten:

  • Collection
  • Report

Collection

Die Collection sammelt Daten und bereitet sie für den Report auf. Hier ein Aufruf für die Generierung einer Collection der „ORCL“ Datenbank:

./dbsat collect system@ORCL output_ORCL
Database Security Assessment Tool version 2.2.2 (June 2021)

[…]

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Feb 23 10:57:35 2023
Version 19.17.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

Enter password:

Verbunden mit:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.17.0.0.0

Setup complete.
SQL queries complete.
OS commands complete.
Verbindung zu Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.17.0.0.0 beendet
DBSAT Collector completed successfully.

Calling /u01/app/oracle/product/19.3.0.0/dbhome_2//bin/zip to encrypt output.json...

[…]

Enter password:
Verify password:

  adding: output.json (deflated 88%)
zip completed successfully.


Wichtig zu beachten:

  • Im Laufe des Prozesses wird zuerst ein Passwort des verwendeten Users (hier System) benötigt
  • An zweiter Stelle wird ein Passwort für die Verschlüsselung des Zips benötigt, welches im Anschluss nochmal verifiziert werden muss.

Der Collect-Aufruf kann auch mit einem „-n“ Parameter aufgerufen werden, welcher dann die Verschlüsselung des erzeugten Zip unterbindet. Das ist aber auf keinen Fall zu empfehlen, da die Daten sehr sensibel sind!

Reporting

Hier eine Beispielausführung und dessen Output:

./dbsat report output_ORCL
[…]
Archive:  output_ORCL.zip
[output_ORCL.zip] output_ORCL.json password:
  inflating: output_ORCL.json
DBSAT Reporter ran successfully.

Calling /usr/bin/zip to encrypt the generated reports...

Enter password:
Verify password:

        zip warning: output_ORCL_report.zip not found or empty
  adding: output_ORCL_report.txt (deflated 77%)
  adding: output_ORCL_report.html (deflated 83%)
  adding: output_ORCL_report.xlsx (deflated 3%)
  adding: output_ORCL_report.json (deflated 81%)
zip completed successfully.


Auch hier wieder zu beachten:

  • An erster Stelle wird das Passwort der Collection erfragt
  • An zweiter Stelle wird ein neues Passwort für die Verschlüsselung die ausgewerteten Daten benötigt

(Auch hier kann der „-n“ Parameter umgangen werden)


Nun entstehen einige Files, die in einem passwortgesicherten Output.zip zusammengefasst werden. Unter anderem auch eine ansehnliche und leicht zu verstehende .html-Datei, welche die entsprechende Auswertung beinhaltet.

Wem HTML zu langweilig ist, bekommt natürlich auch eine passende Auswertung in einem .json, .txt und .xlsx Format.

  • output_ORCL_report.txt
  • output_ORCL_report.html
  • output_ORCL_report.xlsx
  • output_ORCL_report.json


Inhaltsverzeichnis des Reports

Oracle Datenbank Security

Diese Punkte werden von DBSAT geprüft und bewertet. Hierzu gibt es eine Tabelle innerhalb des HTML-Dokuments, diese zeigt den aktuellen Stand der DB an.

Hier ein Beispiel wie eine Meldung aussehen könnte:

Oracle Security

Jeder Check ist folglich gleich aufgebaut:

  • Status: Es wird eine Risikoeinschätzung durchgeführt (Low, Medium oder High)
  • Summary: Es gibt eine erklärende Zusammenfassung warum diese Meldung auftritt
  • Details: Die genauen technischen Details (welche Schemas) werden aufgeführt
  • Remarks: Einige, für das weitere Vorgehen wichtige, Anmerkungen werden ausgeführt
  • References: Hier werden von Oracle bekannte Quellen referenziert, womit man sich noch selbst ein Bild machen kann.

Die Lösung hierfür ist es, die entsprechenden Schemas aus der Produktion zu entfernen.

Die komplette Auswertung des Reports würde den Rahmen dieses Tipps sprengen. Jedoch wird es einen weiteren Tipp geben, der die wichtigsten Punkte thematisiert und Hilfestellung bei der Auswertung gibt. Bleiben Sie also gespannt und melden Sie sich unbedingt für unser Newsletter an!

Des Weiteren muss gesagt werden, dass dieses Tool zwar einen guten Überblick über einen sehr spezifischen Teil des Sicherheitsstandes der Datenbank gibt, allerdings werden viele andere Punkte leider nicht berücksichtigt wie zum Beispiel:

  • Datenbankstruktur
  • Performance
  • aktuelle Fehlkonfigurationen
  • aktuelle Fehlermeldungen
  • und vieles mehr

Für eine umfangreiche Abdeckung und vollständige Auswertung, empfiehlt sich unser  Datenbank Healthcheck. Dieser deckt den gesamten Inhalt von DBSAT ab und bietet noch weitere Optimierungsmöglichkeiten, die für eine stabil laufende Datenbank notwendig sind.
Gerne unterstützen wir Sie sowohl bei der Durchführung eines Datenbank-Healthchecks als auch bei der Auswertung von DBSAT.

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.