Skip to content
 

External Tables, Scripts und Security-Risiken

Als dritter Teil meiner kleinen Blogreihe über das neue External Table Feature (Scriptausführung per PREPROCESSOR) noch ein paar Worte über Security ;-)

Was ist hierbei das hauptsächliche Security-Risiko?

Hat ein Benutzer sowohl Schreib- als auch Execute-Rechte auf ein Verzeichnisobjekt, kann er per PL/SQL beliebige Scripts auf dem Datenbankserver anlegen (durch sein Schreibrecht) und diese dann ausführen (durch sein Execute-Recht).
Beide Rechte haben natürlich alle DBAs.

Dies bedeutet, dass sie Scripts als Software-Owner (häufig als Benutzer oracle) ausführen dürfen.
OK, in einer Umgebung, wo sich sowieso jeder als oracle am Server anmeldet, ist dies kein Problem. Aber dies sollte eigentlich nirgendwo mehr der Fall sein, da sonst nie nachvollziehbar ist, wer welche Änderungen durchführt hat.

Wir empfehlen deswegen schon seit langer Zeit die Benutzung von personifizierten Accounts sowohl auf Datenbank- als auch auf Betriebssystem-Seite. Und ein entsprechendes sudo-Konzept, um Arbeiten durchführen zu können, die als Software-Owner durchgeführt werden müssen.

Sind die personifizierten Accounts dann im Einsatz, können diese durch die External Table Scripts umgangen werden.
Dafür gibt es nur eine Lösung: Auditing. Also das Überwachung des Anlegens, Änderns und eventuell auch der Benutzung von Directory-Objekten sowie die konsequente Kontrolle, welche Directory Objekte und External Tables es gibt.
Eventuell das Ganze noch kombiniert mit einer zentralen Auditing-Lösung (z.B. Oracles Audit Vault) – um auch von zentraler Stelle Manipulationen erkennen zu können.

Trotz der Security-Risiken sind Scripte mit externen Tabellen eine coole Sache :-)

Haben Sie Fragen zu personifizierten Accounts, External Tables, Auditing, …?
Wir helfen Ihnen gern weiter.

3 Comments

  1. Hallo Sven

    Zum Thema personifizierte Accounts hatte ich am 18. November 2009 in Genf gerade einen Vortrag. Die Präsentation dazu findet man auf der Trivadis Seite Oracle_Database_Vault_-_What_about_the_OS_Accounts.pdf

    Gruss
    Stefan

  2. Sven Vetter says:

    Danke für die Ergänzung – passt perfekt auch zu diesem Thema.

  3. [...] neuen External Table Feature (Scriptausführung per PREPROCESSOR) diskutiert (siehe dazu auch diesen Eintrag). Die Mehrheit der Diskutierenden war der Meinung, dass das Risiko höher wäre als der [...]

Leave a Reply