Kürzlich wurden unsere Datenbanken von der Revision geprüft. Manchmal ist es nicht einfach, die Fragen der Prüfer in SQL-Abfragen zu übersetzen. Dabei habe ich mich an DBSAT, das Oracle Database Security Assessment Tool, erinnert. Während ich öfter Exachks laufen lasse, war DBSAT leider ein bisschen in Vergessenheit geraten.
Hier eine kleine, beispielhafte Anleitung für Linux:
1.Installieren
Herunterladen in MOS unter Doc ID 2138254.1. Die aktuelle Version stammt von Juni 2021. In passendes Directory legen und entpacken.
2.Daten sammeln mit Collect
Daten können auf CDB- oder auf PDB-Ebene gesammelt werden. Auf CDB-Ebene wird aber nur die CDB$ROOT geprüft, keine PDBs.
mkdir <dbsat_dir>/output
cd <dbsat_dir>
./dbsat collect system/<pw>@exa-scan:1521/<CDB_or_PDB> ./output/<CDB_or_PDB>
Man vergibt ein Passwort, bitte merken für den Report. Im Output-Verzeichnis wird eine Zip-Datei erstellt, auch wenn die Syntax aussieht, als sei es ein Unterverzeichnis.
3.Bericht aus den gesammelten Daten erstellen mit Report
Beim Report gibt es ein paar Parameter: -a = all db accounts, -g = all grants in PDB, -n = no encryption in output, -x = exclude sections. Die Output-Datei wird ohne das '.zip' am Ende angegeben.
./dbsat report -nga ./output/<CDB_or_PDB>
./dbsat report -g -x AUTH, OS ./output/<CDB_or_PDB>
Man wird nach dem Passwort aus dem Collect gefragt.
Mit der Option -n werden vier Reports in den Formaten txt, html, json und xlsx erzeugt, ansonsten ein passwortgeschütztes Zip-File. Ich übertrage meist das html-File auf den PC und schaue es im Browser an.
Und was haben wir gefunden?
Glücklicherweise nichts sehr dramatisches. Das Januar-Patch-Bundle findet DBSAT im Mai schon zu alt, na gut. Wir hatten noch einige Accounts mit HTTP-Identifier. Eine Nachfrage bei den Entwicklern ergab als netten Nebeneffekt, dass alte Schemata gelöscht werden können. Man sieht schön übersichtlich, welche Anwendungsuser hohe Berechtigungen haben und kann prüfen, ob sie noch gebraucht werden.
Fazit:
Es lohnt sich, alle halbe Jahre in den DBs nach dem Rechten zu schauen und ein wenig aufzuräumen. Mit ein bisschen Erfahrung würde ich für mich irrelevante Sektionen aus den Reports mit der Option '-x' ausschließen, um sie zu kürzen. Wer Daten in den DBs prüfen möchte, kann das mit dem DBSAT Discoverer (Sensitive Data Assessment Report) tun.
Dokumentation:
Dagmar Förster
Mitglied Delegiertenversammlung Datenbank
Bild von anncapictures auf Pixabay

