Hallo Community,

aus gegebenen Anlass möchte ich ein paar Worte über Oracle DBSAT – Database Security Assessment Tool verlieren. Ein kleines, kostenloses aber sehr mächtiges Security Reporting Tool für Oracle Datenbanken.

Wir hatten die Möglichkeit das Tool auf der Inspire IT in Frankfurt einigen Kunden vorzustellen.
Sowohl die Verprobung des Tools an sich wie auch die Veranstaltung hat uns sehr viel Spaß bereitet.

Grundsätzlich ist das nichts Neues „“ Security und Datenschutz sind wichtig und auch teuer, sollten dennoch immer im Unternehmen gelebt werden. Spätestens dann, wenn Firmendaten im Internet für jeden ungewollt einsehbar sind, wurde etwas gänzlich falsch gemacht und nicht selten wird das Unternehmen einen riesigen Imageschaden über Jahre hinweg davontragen.

–> Security und Datenschutz nicht ernst zu nehmen, kann demnach sehr, sehr nachhaltig und gnadenlos sein. Daher lieber vorsorgen. 🙂

Im Zuge der neuen EU-weiten Datenschutzverordnungen (GDPR und DSGVO) zum Stichtag 25.5.2018 sollten Datenbanken entsprechend vielleicht doch noch mal überprüft und sicherer gemacht werden.

Und genau da kommt DBSAT ins Spiel: Es gibt immer wieder kleine hilfreiche, kostenlose Tools, die das Leben eines DBA für Oracle Datenbanken einfacher machen und dies gehört wie auch schon OraChk definitiv in diese Liste.

Als langjähriger Admin weiß ich, dass einem Schema oftmals „sysdba“ Rechte herausgegeben werden, „um mal eben kurz etwas in der DB mit Admin Rechten zu machen“, was leider aber auch genauso häufig und schnell wieder vergessen wird. Das darf nicht sein!

 

Regelmäßiges Reporting zeigt unter anderem solche Schwachstellen und kann alarmierend und vorsorglich helfen.

Ein kleiner DBSAT Daemon, der zum Beispiel wöchentlich oder täglich gescheduled und regelmäßige Security Reports in unterschiedliche Formate HTML, JSON, XLS zieht, wirkt wahre Wunder.

Obendrauf gibt es noch für den DBA über das HTML Format noch diverse „Best Practice“ Anweisungen für eine sichere Datenbank.

DBSAT unterscheidet sich im Prinzip in drei Kategorieren:

Collector

– führt die SQL- und OS-Kommandos aus
– schreibt die gesammelten Daten in eine Json-Datei

Reporter

– analysiert die gesammelten Daten
– generiert einen DBSAT-Report in HTML, Excel und Text-Format und packt diese in ein verschlüsseltes Zip-File

Discoverer

– durchsucht das Datemodell nach Datenschutz- und Sicherheits-relevanten Spalten
– führt SQL-Abfragen aus und sammelt Daten basierend auf Config-Files
– generiert einen „Sensitive Data“ Report im HTML- und CSV-Format Format und packt diese in ein verschlüsseltes Zip-File.

Je nach Anwendungsfall bleiben dem Anwender mehrere Einsatzmöglichkeiten, wenn der Security-Bericht noch genauer und spezieller erzeugt werden soll.

Anwendungsbeispiel:

dbsat1

Daten sammeln:

dbsat3

Erstellung des Reports:

dbsat2

dbsat_neu

HTML Ergebnis des Security Berichtes:

dbsat_erg1

 

dbsat_erg2

Was überprüft DBSAT?

Auf der Agenda stehen natürlich die einhergehenden Benutzerkonten, Berechtigungen und Rollen plus deren Berechtigungsteuerung, wie auch Datenverschlüsselung, Zugriffssteuerung und Audit-Richtlinien. Datenbank, Listenener-Konfiguration, Dateiberechtigungen und sensitive Daten werden ebenso überprüft.

Durch einfache Installation, also Herunterladen, Entpacken und Ausführen des Kommandozeilen Tools kann kurzerhand ein Security Report ohne große Vorkenntnisse erstellt werden. Es ist anzuraten, diese Reports „secure“ und gesondert auf einem Server bzw. in einer DB aufzubewahren, da es sich um sicherheitsrelevante Daten handelt.

Da eine Ausgabe im JSON-Format super weiterverarbeitet werden kann, leite ich dieses in Kibana/Splunk oder gar Spark Graphx weiter, um angepasste Graphen zu basteln. Muss man nicht, aber alleine die Option, andere Tools über JSON mit anzubinden, finde ich sehr löblich.

DBSAT kann ab 10g bis 18c Oracle DB’s eingesetzt werden, dabei kann es sich um ein 64-Bit Linux, Solaris, AIX, HPUX oder Windows handeln. Benötigt werden Python ab 2.6 (Collector+Reporter) bzw. Java ab 1.6 (Discoverer).

Ein kurzer Screenshot zeigt die Vorgehensweise unter Linux. Dies kann sowohl als System Benutzer ausgeführt werden als auch als expliziter DBSAT Benutzer innerhalb der Oracle Datenbank. Dann müssen aber minimale Rechte je nach Version an das DBSAT Schema gegeben werden.

CREATE SESSION *
SELECT on SYS.REGISTRY$HISTORY
Role SELECT_CATALOG_ROLE *
Role DV_SECANALYST * (if Database Vault is enabled)
Role AUDIT_VIEWER (12c and later)
Role CAPTURE_ADMIN (12c and later)
SELECT on SYS.DBA_USERS_WITH_DEFPWD (11g and later)
SELECT on AUDSYS.AUD$UNIFIED (12c and later)
(*: ausreichend für den Discoverer)

Zusammengefasst hat DBSAT den Nutzen:

– Sensible Daten in der Datenbank zu finden und vor Dritten zu schützen, wenn resultierende Maßnahmen durch DBA ergriffen werden

– Identifizieren von Risiken durch Fehlkonfigurationen

– Datenbankbenutzer und deren Berechtigungen hinterfragen

– Empfehlungen von Sicherheitsmaßnahmen zur Unterstützung von Compliance-Anforderungen

 

Apropos: nochmals vielen Dank an Oracle, dass die Deutsche Sprachdatei „sensitive_de.ini“ für den Discoverer, welche aktuell noch nicht in Version 2.0.1 enthalten war, uns bei OPITZ CONSULTING noch rechtzeitig vor der Konferenz erreichte.

DBSAT ist natürlich wie sein Vorgänger für Oracle-Kunden kostenfrei. Jeder Kunde mit einem aktiven Supportvertrag kann dieses Werkzeug unter Oracle Support Document 2138254.1 beziehen.

 

Noch ein paar abschließende Links:

  • Overview
    http://www.oracle.com/technetwork/database/security/dbsat/overview/index.html
  • Youtube (Feature des Monats)
    https://www.youtube.com/watch?v=-dIIWOqvUSk&feature=youtu.be
  • Allgemeiner Einstieg in die Härtung von Oracle-Datenbanken:
    http://www.oracle.com/us/products/database/securing-oracle-database-primer-2522965.pdf

 

Hier noch mal der Hinweis:

EU-Datenschutz-Grundverordnung (EU-DSGVO) verabschiedet!

Die EU-Datenschutz-Grundverordnung (EU-DSGVO) ist am 14. April 2016 durch das EU-Parlament beschlossen worden. Sie ist am 04.05.2016 im Amtsblatt der Europäischen Union veröffentlicht worden und tritt damit am 25.05.2016 in Kraft. Anwendbar ist sie damit ab dem 25. Mai 2018.

Alle Beiträge von Simon Hahn

Techpriest für Big Data, Oracle und Automatisierungsthemen mit Ansible.

3 Kommentare

  1. Pingback: Oracle Security Reporting Tool – DBSAT – Freshnet.de

  2. Hat dies auf Oraculix rebloggt und kommentierte:
    Da ich selbst schon länger nichts mehr hier veröffentlicht habe, reproduziere ich doch einfach mal einen Artikel meines Kollegen Simon Hahn. 😉

  3. Im September 2019 ist die Version 2.2 von DBSAT erschienen, das Tool wird also weiterhin von Oracle gepflegt.
    Die aus meiner Sicht interessantesten Neuerungen:
    * Der Discoverer kann jetzt ein SEPS (Secure External Password Store) nutzen. Für ein Security-Tool wie dieses war das eigentlich überfällig.
    * Außerdem kann der Discoverer jetzt mit TNS_ADMIN and TNS Aliases umgehen.
    * Unterstützung von „Code Based Access Control (CBAC) roles and privileges granted to stored procedures, functions, and packages.“

Schreibe einen Kommentar