O-ORA Oracle Security Bootcamp

Größe: px
Ab Seite anzeigen:

Download "O-ORA Oracle Security Bootcamp"

Transkript

1 O-ORA Oracle Security Bootcamp Trivadis AG Sven Vetter 1 Juni 2009 Vers

2 Diese Kursunterlagen basieren auf: Copyright Trivadis AG, , alle Rechte vorbehalten. Gedruckt in der Schweiz. Beschränktes Recht. Diese Unterlagen oder Teile dieser Unterlagen dürfen in keiner Weise und aus keinem Grund ohne die ausdrückliche schriftliche Erlaubnis der Trivadis AG vervielfältigt werden. Die Informationen in diesen Unterlagen können ohne weitere Ankündigung geändert werden. Falls Sie Fehler in den Kursunterlagen finden, sind wir Ihnen dankbar, wenn Sie diese in schriftlicher Form mitteilen an: Trivadis AG Europa-Strasse 5 CH-8152 Glattbrugg oder per an Trivadis AG garantiert keine Fehlerfreiheit dieser Kursunterlagen. Oracle7, Oracle8, Oracle8i, Oracle9i, Oracle10g, Oracle11g, Oracle Designer, Oracle Developer, Oracle Applications, Oracle Forms, Oracle Reports, Oracle Browser, Oracle Data Query, Oracle Human Resources, Oracle Personnel, PL/SQL, Pro*C, Oracle Graphics, Oracle Generator sind Warenzeichen der Oracle Corporation. Microsoft ist ein registriertes Warenzeichen und Windows ist ein Warenzeichen der Microsoft Corporation.

3 Inhaltsverzeichnis 1 Einleitung Ziele des Kurses Positionierung Risiken in Datenbanken und Netzwerken Authentifizierung Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Autorisierung Übersicht Berechtigungen Rollenkonzept Kontexte Secure Application Role Virtual Privat Database Database Vault Auditing Oracle Standard Auditing Trigger based Auditing FGA (Fine Grained Auditing) Auditing für DBA s Audit Vault Netzwerksicherheit Listener Verschlüsselung Integritätsprüfung Secure Sockets Layer (SSL) 5-19 Copyright Trivadis AG Inhaltsverzeichnis 3

4 6 Serversicherheit Integrität der Datenfiles Transparent Data Encryption auf Spalten-Ebene Transparent Data Encryption auf Tablespace-Ebene Sichere Programmierung SQL Injection Einschleusen von Code in Scripts Cross Side Scripting Sichere Umgebungen Critical Patch Updates Sicherheit des Servers Sicherheit des Administrator-Arbeitsplatzes Fazit Copyright Trivadis AG

5 1 Einleitung Einleitung Oracle Security Bootcamp Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien Copyright Trivadis AG Einleitung 1-1

6 1.1 Ziele des Kurses Agenda Ziele des Kurses Positionierung Risiken in Datenbanken und Netzwerken Daten sind immer im Spiel. Oracle Security Bootcamp: Einleitung Copyright Trivadis AG

7 Ziele des Kurses Vermittlung von Basis- und Advanced-Wissen im Bereich Oracle Security Kennenlernen der grundlegenden Risiken in Datenbanken und Netzwerken sowie der Mittel, um diese Risiken zu minimieren Dabei wird nicht nur auf das Oracle Core-RDBMS eingegangen, sondern auch auf weitere Oracle Tools (Database Vault, Audit Vault) Oracle Security Bootcamp: Einleitung 3 Abgrenzung In diesem Kurs fokussieren wir auf Oracle-spezifische Security Aspekte (Datenbank, Applikation, Datenübertragung) Nicht behandelt werden (genauso wichtige) Punkte wie Betriebssysteme (Client und Server), Netzwerksicherheit und andere Datenbanksysteme Ebenfalls ausgeschlossen wird die zentrale Benutzerverwaltung, da diese je nach Tool und Projekt vollkommen anders realisiert wird Oracle Security Bootcamp: Einleitung 4 Copyright Trivadis AG Einleitung 1-3

8 Methode Vortrag Präsentation von Beispielen Diverse Trivadis SQL, PL/SQL,... Scripts zur Dokumentation, Analyse und zum Tuning von Datenbanken, Instanzen, Applikationen und Strukturen stehen auf den Web zur Verfügung: Oracle Security Bootcamp: Einleitung Copyright Trivadis AG

9 1.2 Positionierung Agenda Ziele des Kurses Positionierung Risiken in Datenbanken und Netzwerken Daten sind immer im Spiel. Oracle Security Bootcamp: Einleitung 6 Copyright Trivadis AG Einleitung 1-5

10 Positionierung In einem potenziell feindlichen Netzwerkumfeld wird es immer schwieriger sicherzustellen, dass niemand unberechtigterweise Zugriff auf Ihre Daten erhält Dies erst recht in grossen Umgebungen mit vielen Datenbanken und vielen Benutzern und vielen Applikationen und... Und der Bereich Webapplikationen hat es nicht leichter gemacht... Oracle Security Bootcamp: Einleitung 7 Positionierung Interessant in diesem Zusammenhang ist, wie die Priorität der Security im Vergleich zu anderen Bereichen gesehen wird: Security CRM Web Site Mgt ebus Integration ERM SCM Wireless 0% 10% 20% 30% 40% Quelle: IDC IT Manager Survey Oracle Security Bootcamp: Einleitung Copyright Trivadis AG

11 Positionierung Die Prognosen für das Wachstum der Security-Ausgaben für die nächsten Jahre bestätigen dies: Quelle: IDC, IT Security/Business Continuity Market Model V2.1 Oracle Security Bootcamp: Einleitung 9 Copyright Trivadis AG Einleitung 1-7

12 1.3 Risiken in Datenbanken und Netzwerken Agenda Ziele des Kurses Positionierung Risiken in Datenbanken und Netzwerken Daten sind immer im Spiel. Oracle Security Bootcamp: Einleitung Copyright Trivadis AG

13 Kommunikation in offenen Netzen Quelle: Oracle Security Bootcamp: Einleitung 11 Anforderungen an die Kommunikation Vertraulichkeit Integrität Abhören Authentizität Modifizieren Nichtabstreitbarkeit? Fälschen Nicht versendet Wer hat recht? Erhalten Oracle Security Bootcamp: Einleitung 12 Copyright Trivadis AG Einleitung 1-9

14 Anforderungen zum Datenzugriff Wer greift auf Daten zu? Was für Zugriffe sind durch Wen erlaubt? Authentifizierung Autorisierung Verfügbarkeit Kann bei Bedarf wirklich zugegriffen werden? Oracle Security Bootcamp: Einleitung 13 Datenzugriff Authentifizierung versus Autorisierung Authentifizierung: Wer ist es? Autorisierung: Was darf er? Dass es sich um Hans Muster handelt, ist noch keine Garantie, dass er 200'000 für einen Ferrari auf dem Konto hat Autorisierung muss separat geprüft werden Authentifizierung ist die Basis für die Autorisierung Oracle Security Bootcamp: Einleitung Copyright Trivadis AG

15 Übersicht Vertraulichkeit Integrität Nicht-Abstreitbarkeit Authentifizierung Autorisierung Verfügbarkeit Oracle Security Bootcamp: Einleitung 15 Copyright Trivadis AG Einleitung 1-11

16

17 2 Authentifizierung Authentifizierung Oracle Security Bootcamp Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien Copyright Trivadis AG Authentifizierung 2-1

18 2.1 Anmeldeprozess von Oracle Agenda Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Daten sind immer im Spiel. Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

19 Authentifizierungsmethoden Oracle unterstützt unterschiedliche Authentifizierungsmethoden: Datenbankauthentifizierung Betriebsystemauthentifizierung Ausserdem noch weitere Spezialfälle: Single sign on (z.b. per Oracle Internet Directory, Kerberos) Advanced Security und SSL Proxy-Authentifizierung Oracle Security Bootcamp: Authentifizierung 3 Client Connection Process Bevor die Authentifizierung stattfinden kann, muss zuerst der "Client Connection Prozess" durchgeführt werden Dazu sind folgende Schritte bei einem Dedicated Server notwendig: Benutzer startet Logon-Dialog (z.b. in SQL*Plus) Per tnsnames.ora (oder anderen Mechanismen) wird der Servicenamen aufgelöst (Host, Port, SID) Ein Connection Request wird an den Listener geschickt Listener startet Server Prozess (oder Thread unter Windows) Prozess übermittelt per Listener Nachricht an Client Ab dem Moment kommuniziert Client direkt mit "seinem" Serverprozess Listener ist nicht mehr benötigt Eventuelle Verschlüsslungs-Keys werden ausgehandelt (Advanced Security Option) Oracle Security Bootcamp: Authentifizierung 4 Copyright Trivadis AG Authentifizierung 2-3

20 Der Oracle Anmeldeprozess O3Logon (1) Client Server Client schickt Benutzername Erzeugt Hash aus Passwort Entschlüsselt Sessionkey Verschlüsselt Passwort (Klartext) mit Sessionkey Anmeldung erfolgreich? Benutzername Sessionkey Passwort (verschl.) Status Datenbank holt Passwort- Hash aus sys.user$ Erzeugt Sessionkey (Random) Verschlüsselt Key mit Hash Entschlüsselt Passwort mit Sessionkey Erzeugt daraus Passwort-Hash Vergleicht Hash mit user$ Sendet Ergebnis Oracle Security Bootcamp: Authentifizierung 5 Der Oracle Anmeldeprozess O3Logon (2) Ist der Anmeldeprozess sicher? Benutzername geht unverschlüsselt über das Netzwerk Aber kein Passwort, kein Passwort-Hash Diese sind bis einschliesslich Oracle 10g per DES verschlüsselt, ab Oracle 11g Client und Server per AES Wenn Passwort-Hash bekannt, könnte Sessionkey entschlüsselt werden aber dies ist eher unwahrscheinlich Der reine Authentifizierungsprozess wird heute als ausreichend sicher bezeichnet Das Risiko sind die Passwörter... Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

21 2.2 Sicherheit der Passwörter in der DB Agenda Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Daten sind immer im Spiel. Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Oracle Security Bootcamp: Authentifizierung 7 Copyright Trivadis AG Authentifizierung 2-5

22 Wie werden Passwörter verschlüsselt? Es kommt eine so genannte Hashfunktion zum Einsatz: Klartext Hashfunktion Verschlüsseltes Passwort "MANAGER" "D4DF7931AB130E37" Oracle Security Bootcamp: Authentifizierung 8 Die Hashfunktion (1) Es ist einfach, vom Klartext zum Hash zu kommen Es ist sehr schwierig, aus einem Hash den ursprünglichen Klartext zu bestimmen Ein (schlechtes) Beispiel für eine solche Funktion ist y=sin(x): Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

23 Die Hashfunktion (2) Wir finden zu einem gegebenen X (=Passwort im Klartext) eindeutig ein Y (=Hashwert) Oracle Security Bootcamp: Authentifizierung 10 Die Hashfunktion (3) Wir finden zu einem gegebenen Y (=Hashwert) kein eindeutiges X (=Passwort im Klartext) Hashfunktionen sind allerdings viel komplexer (nicht periodisch)?? Oracle Security Bootcamp: Authentifizierung 11 Copyright Trivadis AG Authentifizierung 2-7

24 So wird das Ganze eingesetzt Wenn es keinen Weg vom Hash zurück gibt, wie kann man dann herausfinden, ob ein Passwort richtig ist? =? Oracle Security Bootcamp: Authentifizierung 12 Eigenschaften von Oracle Hashes Hash ist unabhängig vom DB Namen Hash ist abhängig vom Usernamen Hashes sind 16 Zeichen lang, deutet auf MD4/MD5 hin Hexadezimale Darstellung Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

25 Angriffsmöglichkeiten Alle möglichen Eingaben probieren (Bruteforce) Einträge in einem Wörterbuch probieren Schwächen in der Hashfunktion nutzen Hashwerte mit bekannten Werten vergleichen Passwortfile (orapwd<sid>) Zugriff auf Data Dictionary (dba_users) Merke: Ein Sicherheitssystem ist immer nur so gut wie die verwendeten Passwörter Oracle Security Bootcamp: Authentifizierung 14 Schwächen im Oracle Passwortsystem Beschränkung der Zeichen (keine Gross/Kleinschreibung bis einschliesslich Oracle 10g, im Prinzip keine Sonderzeichen erlaubt) DBA sieht die verschlüsselten Passwörter Der Systemadministrator sieht die verschlüsselten Passwörter der Benutzer mit SYSDBA- und SYSOPER-Rechten im Passwort-File Manipulationen mit verschlüsseltem Passwort sind möglich Oracle Security Bootcamp: Authentifizierung 15 Copyright Trivadis AG Authentifizierung 2-9

26 Checken sie Ihre Passwörter! Verwenden Sie ein Tool (z. B. TvdExpert) um anzuzeigen, ob immer noch DEFAULT Passwörter gesetzt sind Testen Sie mit einem im Internet erhältlichen Tool, ob Sie schwache Passwörter im System haben Oracle Security Bootcamp: Authentifizierung 16 Eigenschaften guter Passwörter Möglichst lang (max. 30 Zeichen zulässig) Möglichst Zahlen und Buchstaben mischen Einen Merksatz bilden: "Rotkäppchen frisst den bösen Wolf!" -> RkfdbW An den "Faktor Mensch" denken z.b. sollten Ihre Benutzer ihre Passwörter nicht weitersagen, wenn irgendjemand anruft!! Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

27 Case sensitive Passwörter (ab Oracle 11g) Mit folgendem Initialisierungsparameter wird festgelegt, ob die Passwörter case sensitiv sind: SEC_CASE_SENSITIVE_LOGON = TRUE FALSE Achtung: Gut prüfen, ob der Default-Wert mit Ihrer Applikation wirklich funktioniert! Z.B. TOAD wandelt vor dem Anmelden alle Passwörter in Grossbuchstaben um... Bei der Migration bleiben zuerst alle Passwörter case insensitiv, bis das Passwort erstmalig in 11g geändert wird Oracle Security Bootcamp: Authentifizierung 18 Passwörter an anderen Stellen Auch wenn Sie Ihre Passwörter in der Datenbank gesichert haben, bestehen weitere Risiken: Passwörter in Scripten, welche Benutzer anlegen Tipp: Durchsuchen Sie das Filesystem mit grep nach "identified by" Passwörter in der Prozessliste Tipp: Niemals SQL*Plus mit Username/Passwort aufrufen, immer /nolog benutzen Oracle Security Bootcamp: Authentifizierung 19 Copyright Trivadis AG Authentifizierung 2-11

28 2.3 Passwortkomplexitätsregeln und Passwort-Policies Agenda Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Daten sind immer im Spiel. Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

29 Situation Standardmässig sind bei Oracle keine Passwortrichtlinien aktiv, das heisst: Ein Benutzer ist nicht gezwungen, sein Passwort jemals zu ändern Es sind keine Komplexitätsregeln festgelegt, so dass ein beliebiges Passwort (beliebige Länge, beliebiger Schwierigkeitsgrad, ) benutzt werden kann Ein Benutzer kann sich beliebig oft mit falschem Passwort anmelden, ohne gesperrt zu werden Oracle Security Bootcamp: Authentifizierung 21 Problem Dies führt dazu, dass ein Benutzerpasswort oft ohne grössere Schwierigkeiten herausgefunden werden kann, da viele Benutzer zu einfache Passwörter verwenden und man beliebig oft probieren kann Sehr oft werden Namen (z.b. der eigene Benutzername), Tiere, Geburtstage, benutzt Wurde ein Passwort herausgefunden, kann es "unendlich" lang missbraucht werden, da kein Zwang besteht, dass Passwort nach n Tagen zu wechseln Oracle Security Bootcamp: Authentifizierung 22 Copyright Trivadis AG Authentifizierung 2-13

30 Wunschziele (1) Das Passwort soll bestimmten Komplexitätsregeln (z.b. minimale Länge) genügen Es sollen gebräuchliche Wörter verboten werden Es sollen numerische und/oder Sonderzeichen vorkommen Schlechte (verbotene) Passwörter: oracle, manager, elcaro, passwort, abcd, hallo, Besser: Iws98iB. (Ich wohne seit 98 in Bern.) Oracle Security Bootcamp: Authentifizierung 23 Wunschziele (2) Der Benutzer soll gezwungen werden, automatisch nach einem bestimmten Zeitintervall sein Passwort ändern zu müssen Dabei soll festgelegt werden, ob und wann ein einmal vergebenes Passwort wieder verwendet werden kann (nach n Tagen, nach n anderen Passwörtern oder nie) Ein Benutzerkonto soll automatisch gesperrt werden, wenn sich ein Benutzer zu oft falsch angemeldet hat Damit soll vermieden werden, dass ein Passwort durch Ausprobieren geknackt werden kann Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

31 Wunschziele (3) Ein Benutzerkonto soll auch manuell gesperrt werden können, z.b. wenn der Benutzer längere Zeit im Urlaub ist Ein Benutzerkonto soll so angelegt werden können, dass der Benutzer das Passwort beim ersten Anmelden ändern muss, so dass auch der DBA das Passwort nicht weiss Oracle Security Bootcamp: Authentifizierung 25 Lösung: Passwort-Profiles (1) Seit Oracle8 besteht die Möglichkeit, Passwort-Profiles zu erzeugen und den Benutzern zuzuordnen Damit können alle Wunschziele erreicht werden Zum Teil können die geforderten Werte direkt im Enterprise- Manager (oder per SQL-Befehl) erfasst werden, zum Teil ist PL/SQL-Programmierung notwendig Oracle liefert ein Beispielscript mit, welches als Vorlage benutzt werden kann: $ORACLE_HOME/rdbms/admin/utlpwdmg.sql Oracle Security Bootcamp: Authentifizierung 26 Copyright Trivadis AG Authentifizierung 2-15

32 Lösung: Passwort-Profiles (2) Die durch das Script utlpwdmg.sql erzeugte Passwortfunktion wurde mit Oracle 11g verbessert/erweitert: Passwort mindestens 8 Stellen (alt: 4 Stellen) Passwort ungleich <username>1 - <username>100 (neu) Passwort ungleich rückwärts geschriebener Username (neu) Passwort ungleich DB-Name (neu) Passwort ungleich <DB-Name>1 - <DB-Name>100 (neu) Mehr "einfache" Wörter werden getestet (user1234, password1,...) Passwort ungleich oracle1 - oracle100 (neu) Das Script wird weiterhin nicht automatisch ausgeführt Sollte es aber ausgeführt werden, ändert es das Default-Profile, welches für alle Benutzer gilt!! Oracle Security Bootcamp: Authentifizierung 27 Lösung: Passwort-Profiles (3) Im Enterprise Manager: Das Passwort muss nach 30 Tagen geändert werden Wird das Passwort nicht geändert, wird das Konto unendlich lang gesperrt Das Passwort darf nach 365 Tagen wieder verwendet werden Nach 3 fehlerhaften Anmeldeversuchen wird das Konto 10 Tage gesperrt Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

33 Lösung: Passwort-Profiles (4) Weitergehende Möglichkeiten müssen/können selbst ausprogrammiert werden Dazu wird eine PL/SQL-Funktion erzeugt, welche als Parameter Benutzername sowie altes und neues Passwort erhält In dieser Funktion können beliebige Prüfungen vorgenommen werden Über das Passwort-Profile wird definiert, welche Funktion benutzt wird Oracle Security Bootcamp: Authentifizierung 29 Lösung: Passwort-Profiles (5) Dem Benutzer muss das entsprechende Profile noch zugeordnet werden Dies ist sowohl im OEM als auch per SQL möglich Es kann auch das Default-Profile angepasst werden Oracle Security Bootcamp: Authentifizierung 30 Copyright Trivadis AG Authentifizierung 2-17

34 Lösung: Passwort-Profiles (6) Wenn das Passwort abgelaufen ist, bekommt der Benutzer beim Anmelden die entsprechende Meldung In SQL*Plus ist das Ändern dann auch problemlos möglich Oracle Security Bootcamp: Authentifizierung 31 Lösung: Passwort-Profiles (7) Auch in Forms ab Version 6 ist dass Ändern des Passworts möglich: Leider ist es aber nicht in allen Oracle-Programmen möglich, z.b. geht die Passwort Änderung in Reports, OEM, SQL*Plus Worksheet, nicht Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

35 Zu beachten Die Password Verification Function bekommt altes und neues Passwort per Klartext Sollte es jemandem gelingen, diese Funktion zu manipulieren bzw. neu zu erzeugen, kann er problemlos die Passwörter speichern oder versenden... Deswegen: In dba_profiles kontrollieren, ob die richtige Funktion aufgerufen wird! Oracle Security Bootcamp: Authentifizierung 33 Copyright Trivadis AG Authentifizierung 2-19

36 2.4 Standardbenutzer Agenda Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Daten sind immer im Spiel. Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

37 Situation Je höher die Oracle-Version umso mehr neue Benutzerkonten werden automatisch eingerichtet Waren es bei Oracle7 die Benutzer SYS und SYSTEM, bei welchen man das Standardpasswort (change_on_install, manager) ändern musste, sind es bei Oracle9i und Oracle10g je nach installierten Features über 20 Benutzerkonten Diese Benutzerkonten sind zum Teil sehr hoch privilegiert (DBA, all privileges, ), da Oracle immer mehr Features in eigene Schemas auslagert Oracle Security Bootcamp: Authentifizierung 35 Problem Durch die bekannten Benutzer und Passwörter ist es in vielen Fällen möglich, sich unberechtigten, aber hoch privilegierten Zugriff auf die Oracle-Datenbank und damit auf die Daten zu verschaffen Wenn entsprechende Kenntnisse vorhanden sind, kann der Zugriff "versteckt" werden Aber auch "unkritisch aussehende" Privilegien wie "unlimited tablespace" oder "alter session" können zum Stillstand der Datenbank führen Oracle Security Bootcamp: Authentifizierung 36 Copyright Trivadis AG Authentifizierung 2-21

38 Lösung (1) Eine Lösung hierzu ist ohne tiefergreifende Kenntnisse der Oracle-Schemas nicht einfach Generell sollten nur die wirklich benötigten Features in der Datenbank installiert werden Für die dann entstehenden Benutzer gibt es zwei Lösungsansätze (die Benutzer zu löschen ist keiner ): Sperren der Benutzer, mit denen nicht gearbeitet wird (teilweise existieren die Benutzer nur, um Daten und Programme zu speichern) Ändern der Passwörter bei Benutzern, mit denen interaktiv oder per automatischem Programm gearbeitet wird Oracle Security Bootcamp: Authentifizierung 37 Lösung (2) Teilweise reicht es aber nicht aus, wenn das Oracle-Passwort geändert wird, das Passwort muss auch dem aufrufenden Programm bekannt gegeben werden Z.B. kann das Passwort für den OEM-Agent (DBSNMP) nicht einfach nur in Oracle geändert werden, das neue Passwort muss auch in der Datei snmp_rw.ora eingetragen werden Achtung, ab Oracle9i geht das nicht mehr so einfach, da das Passwort in dieser Datei verschlüsselt abgelegt wird MetaLink Note Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

39 Lösung (3) - Übersicht über wichtige Konten Konto DBA RESOURCE (unlimited tablespace) execute any procedure select any table select any dictionary exempt access policy alter system CTXSYS (*) DBSNMP LBACSYS OLAPDBA OLAPSVR OLAPSYS ORDPLUGINS ORDSYS OUTLN MDSYS WKSYS XDB Oracle Security Bootcamp: Authentifizierung 39 Lösung (4) Diverse Oracle-Zusatzprodukte (und auch Fremdtools) installieren eigene Schemas mit bekannten Passwörtern: Portal, WebDB (portal30/portal30, webdb/webdb) OAS (oas_public/oas_public) Oracle Warehouse Builder (owb/owb) ifs (ifssys/ifssys) das Passwort kann hier bei der Installation geändert werden, steht aber in Klartext in diversen Dateien Da Oracle diverse Passwörter in Dateien ablegt ist es sehr wichtig, den Zugriff auf Betriebssystemebene auf diese Dateien einzuschränken Oracle Security Bootcamp: Authentifizierung 40 Copyright Trivadis AG Authentifizierung 2-23

40 Lösung (5) Seit Oracle9i Release2 ist es möglich, die Passwörter von SYS und SYSTEM schon beim Anlegen der Datenbank zu ändern: CREATE DATABASE DB7 USER SYS IDENTIFIED BY pz6r58 USER SYSTEM IDENTIFIED BY y1tz5p LOGFILE GROUP 1... Aber dann steht dieses Passwort wieder in einer Datei, die entsprechend geschützt werden muss!! Oracle Security Bootcamp: Authentifizierung 41 Lösung (6) Seit Oracle9i Release2 müssen die Passwörter von SYS und SYSTEM geändert werden, wenn die Datenbank mit dem Database Configuration Assistent erzeugt wird Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

41 Lösung (7) Alle anderen Konten ausser SYS, SYSTEM und DBSNMP werden seit Oracle9i Release2 automatisch gesperrt: Bei manueller Installation aber nicht (nur mit DBCA)! Oracle Security Bootcamp: Authentifizierung 43 Lösung (8) Benutzen Sie ein Programm, welches Ihre Standardbenutzer prüft (Bsp.: TvdExpert von Trivadis) Oracle Security Bootcamp: Authentifizierung 44 Copyright Trivadis AG Authentifizierung 2-25

42 Lösung (9) aber erst ab Oracle 11g Über die neue View dba_users_with_defpwd kann einfach kontrolliert werden, ob die Standardpasswörter der von Oracle angelegten Benutzer geändert wurden: SELECT * FROM dba_users_with_defpwd; USERNAME DIP HR OUTLN EXFSYS SCOTT SYSTEM... Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

43 2.5 Betriebssystem-authentifizierte Benutzer (OPS$) Agenda Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Daten sind immer im Spiel. Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Oracle Security Bootcamp: Authentifizierung 46 Copyright Trivadis AG Authentifizierung 2-27

44 Situation Oracle hat schon seit Version 5 die Möglichkeit eingebaut, bei der Anmeldung auf die Passworteingabe zu verzichten Die Anmeldung erfolgt dazu einfach mittels CONNECT / Sobald Oracle diese Syntax erkennt, wird der Betriebssystem- Benutzername gelesen und diesem folgender INIT.ORA- Parameter vorangestellt: os_authent_prefix = "OPS$" (Default) Wenn sich also der Benutzer HUBER anmeldet, wird getestet, ob es einen Oracle-Benutzer OPS$HUBER gibt, wenn ja, wird dieser ohne Passwort-Abfrage angemeldet Oracle Security Bootcamp: Authentifizierung 47 Situation Wenn gewünscht wird, dass dieser Benutzer sich nur über Betriebssystem-Authentifizierung anmelden kann (also nie mit Benutzernamen/Passwort) kann dies beim Anlegen (oder im Nachhinein) definiert werden: CREATE USER ops$huber IDENTIFIED EXTERNALLY; ALTER USER ops$huber IDENTIFIED EXTERNALLY; Es ist denkbar, auch einen OPS$-DBA zu machen, um auf dem Datenbankserver privilegierte Jobs (nächtliche Exports, etc.) auszuführen, ohne Passwörter in Programmen fest kodieren zu müssen Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

45 Gefahr Diese Art von Benutzern ist gut geeignet, um auf dem Datenbankserver Operationen durchzuführen Theoretisch ist es aber möglich, die Authentifizierung auch über das Netzwerk zuzulassen Dazu muss folgender INIT.ORA-Parameter auf TRUE gesetzt werden: remote_os_authent = TRUE # Default: FALSE Wir raten dringend davon ab, da sonst an einem beliebigen Rechner ein Benutzer z.b. HUBER angelegt werden kann - und dieser kann sich dann ohne Passwort anmelden Oracle Security Bootcamp: Authentifizierung 49 Copyright Trivadis AG Authentifizierung 2-29

46 2.6 Authentifizierung per SSL Agenda Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Daten sind immer im Spiel. Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

47 Authentifizierung per SSL (1) Ausser über das Betriebssystem können Benutzer auch per SSL- Zertifikat authentifiziert werden Dazu muss SSL komplett eingerichtet werden (siehe dazu Kapitel Netzwerksicherheit) Ausserdem muss pro Nutzer ein Wallet mit dessen Distinguished Name erzeugt werden Oracle Security Bootcamp: Authentifizierung 51 Authentifizierung per SSL (2) Auf diesen Namen muss ein DB-Benutzer verweisen: CREATE USER client1 IDENTIFIED GLOBALLY AS 'CN=Client1, OU=Training, O=Trivadis, C=US'; Dann kann sicher der Benutzer ohne Passwort anmelden sqlplus Oracle Security Bootcamp: Authentifizierung 52 Copyright Trivadis AG Authentifizierung 2-31

48 2.7 Secure External Password Store Agenda Anmeldeprozess von Oracle Sicherheit der Passwörter in der DB Passwortkomplexitätsregeln und Passwort-Policies Daten sind immer im Spiel. Standardbenutzer Betriebssystem-authentifizierte Benutzer (OPS$) Authentifizierung per SSL Secure External Password Store Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

49 Secure External Password Store Sie müssen sich viele Passwörter für die Anmeldung an verschiedenen Datenbanken merken? Eine "grosse" Single SignOn-Lösung haben Sie aber noch nicht eingeführt? Dann könnte dieses Feature für Sie hilfreich sein! Konzept: Alle Ihre Passwörter werden in einem Wallet abgelegt Sie benötigen nur dessen Master-Passwort für den Zugriff auf alle Ihre DBs Dieses Feature wird auf Client-Seite durch OracleNet ausgeführt: Geht gegen alle unterstützen Oracle-Datenbank-Versionen Geht mit jeden Client, der auf OracleNet basiert Oracle Security Bootcamp: Authentifizierung 54 Wallet Management Für diverse Oracle Features (nicht nur Secure External Password Store) wird ein Wallet gebraucht: Verschlüsselung von sensitiven Daten in Datenfiles Verschlüsselung von Backups und Exports SSL-Verbindung (Verschlüsselung, Integritätsprüfung und Autorisierung) Wallet entspricht dem PKCS#12-Standard Im Wallet können sowohl Zertifikate als auch (seit Oracle 10.2) Passwörter gespeichert werden Oracle Security Bootcamp: Authentifizierung 55 Copyright Trivadis AG Authentifizierung 2-33

50 Wallet Management Mit folgenden Tools können Wallets bearbeitet werden: Oracle Wallet Manager orapki (siehe Anhang F orapki Utility im Oracle Database Advanced Security Administrator's Guide) mkstore z.b. Wallet erzeugen (neues Wallet-Passwort wird abgefragt) mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -create Oracle Security Bootcamp: Authentifizierung 56 Wallet Management Auto Login Durch mkstore ist per Default "Auto Login" eingeschaltet Hat aber einige Konsequenzen: Es wird eine zweite Datei (cwallet.sso) erzeugt, durch welche bestimmte Operationen ohne Passwortabfrage möglich sind Das normalerweise verschlüsselte Wallet kann von der Datenbank abgefragt werden Änderungen benötigen noch das Passwort Das Wallet kann einschliesslich sso-datei auf einen anderen Rechner kopiert werden und ist auch dort geöffnet und kann für Entschlüsselungen gebraucht werden! Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

51 Wallet Management Auto Login Ein offenes Wallet wird von manchen Tools gebraucht, um ohne Benutzereingriff zu arbeiten: Backup-Verschlüsselung Datenverschlüsselung in Datenfiles Oracle Secure External Password Store SSL Deswegen: Autologin ist manchmal notwendig, dann aber das Wallet gut schützen! Natürlich kann auch ein Wallet ohne Autologin erzeugt werden (bzw. das SSO-File wieder gelöscht werden): mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet \ -create -deletesso Oracle Security Bootcamp: Authentifizierung 58 Wallet Management Auto Login Alternativ zu Auto Login kann das Wallet auch direkt in der Datenbank geöffnet werden: ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY {password}; Und natürlich auch wieder geschlossen werden: ALTER SYSTEM SET WALLET CLOSE; Dies funktioniert aber nicht für Oracle Secure Password Store, da dabei das Wallet auf der Client-Seite ist! Und den Enterprise Login Assistent gibt es leider nicht mehr Oracle Security Bootcamp: Authentifizierung 59 Copyright Trivadis AG Authentifizierung 2-35

52 Secure External Password Store Konfiguration (1) Auf dem Client muss in sqlnet.ora der Speicherplatz des Wallets eingetragen sein: WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = p:\oracle\wallet) ) ) Wird zusätzlich mit SSL Authentication gearbeitet, kann definiert werden, dass der Passwort Store bevorzugt wird: SQLNET.WALLET_OVERRIDE = TRUE Oracle Security Bootcamp: Authentifizierung 60 Secure External Password Store Konfiguration (2) Abspeichern des Passworts (im Beispiel für den connect_string DB1 den User scott mit Passwort tiger definieren) mkstore -wrl p:\oracle\wallet -createcredential DB1 \ scott tiger Anmeldung an DB erfolgt durch: connect Das bedeutet: Pro Connect_string kann nur ein Username/Passwort abgespeichert werden Brauche ich mehrere Benutzer innerhalb einer DB, muss ich mehrere Connect_strings in TNSNAMES.ORA (ONAMES, OID, ) definieren Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

53 Secure External Password Store Management Mit mkstore können folgende Operationen auf die Username/Passwort-Kombinationen durchgeführt werden Weitere Erzeugen: -createcredential Löschen: -deletecredential Ändern: -modifycredential Anzeigen: -listcredential mkstore -wrl p:\oracle\wallet listcredential Enter password: List credential (index: connect_string username) 2: DB1.svv.bern.trivadis.com system 1: DB1 scott 4: DB920 appl1 3: DB1_DBA system Oracle Security Bootcamp: Authentifizierung 62 Passwortänderung Ebenfalls mit mkstore wird das Passwort (oder auch der Usernamen) geändert: mkstore -wrl p:\oracle\wallets -modifycredential \ DB1 scott new_pwd Enter password: Modify credential Modify 1 Oracle Security Bootcamp: Authentifizierung 63 Copyright Trivadis AG Authentifizierung 2-37

54 Bemerkungen Innerhalb einer Oracle-Session kann nicht festgestellt werden, ob konventionell per Usernamen/Passwort oder per Wallet angemeldet wurde SELECT sys_context('userenv','authentication_method') method FROM dual; METHOD PASSWORD Das Feature wird auf Client-Seite durch OracleNet ausgeführt: Geht gegen alle unterstütze Oracle-Datenbank-Versionen Geht mit jeden Client, der auf OracleNet >=10.2 basiert Oracle Security Bootcamp: Authentifizierung 64 Windows Registry Wallet kann auch in Windows Registry abgelegt werden Dadurch Verteilung einfacher (es müssen keine Files an die richtige Stelle kopiert und geschützt werden) Vorgehen: Mit Oracle Wallet Manager Wallet in Registry laden "Wallet (File) öffnen "Auto Login einschalten" "Use Windows Registry" einschalten Save Location auswählen (es können mehrere Wallets gespeichert werden, standardmässig DEFAULT) Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

55 Ablage in Windows Registry SQLNET.ORA muss dabei wie folgt angepasst werden: WALLET_LOCATION = (SOURCE = (METHOD = REG) (METHOD_DATA = (KEY = DEFAULT) ) ) Method legt fest, dass Wallet aus Registry gelesen wird Key legt die Location innerhalb Registry fest Oracle Security Bootcamp: Authentifizierung 66 Ablage in Windows Registry Leider kann das Passwort in der Registry nicht geändert werden (siehe Metalink Doc ID ) Wurde als Enhancement Request anerkannt Zitat: Very desirable feature Easier Administration of wallets stored in registry. Otherwise each time a change is required, we will have to save the wallet from registry to file, make a change and save the wallet back into the registry Oracle Security Bootcamp: Authentifizierung 67 Copyright Trivadis AG Authentifizierung 2-39

56 Ablage auf Hardware-Token Seit Oracle 10g unterstützt Oracle Hardware Security Module nach Public-Key Cryptography Standards (PKCS) #11 Zertifiziert sind im Moment aber nur Module von ncipher Corporation Module von Chrysalis und Eracom "sollten" auch gehen Ob und wann aber Passwörter darauf gespeichert werden können, ist unklar: We will check what the plans are for support of PCKS#11 and secure external password store. I do not believe we have any support for this combination in the current release. Oracle Security Bootcamp: Authentifizierung 68 Risiken Schon erwähnt: Wallet kann mit Autologin-File gestohlen und benutzt werden Ausserdem: Wenn Wallet-Passwort bekannt, kann Passwort im Klartext aus Wallet extrahiert werden!!! C:\>mkstore -wrl p:\oracle\wallets \ -viewentry oracle.security.client.password1 Enter password: oracle.security.client.password1 = tiger Oracle Security Bootcamp: Authentifizierung Copyright Trivadis AG

57 Authentifizierung Kernaussagen Die Oracle Standardbenutzer und rollen müssen bekannt sein und kontrolliert werden Betriebssystem-autentifizierte Benutzer dürfen über das Netzwerk nicht benutzt werden Wissen vermitteln ist der Anfang. Wissen umsetzen das Entscheidende. Passwortrichtlinien erhöhen die Sicherheit und sollten bewusst eingesetzt werden (Batchprogramme und user beachten) Secure External Password Store ist eventuell eine Möglichkeit, hardcodierte Passwörter zu vermeiden Oracle Security Bootcamp: Authentifizierung 70 Copyright Trivadis AG Authentifizierung 2-41

58

59 3 Autorisierung Autorisierung Oracle Security Bootcamp Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien Copyright Trivadis AG Autorisierung 3-1

60 3.1 Übersicht Agenda Übersicht Berechtigungen Rollenkonzept Daten sind immer im Spiel. Kontexte Secure Application Role Virtual Privat Database Database Vault Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

61 Übersicht (1) Autorisierung ist die Zuweisung von Privilegien an Benutzer bzw. Benutzergruppen Nach dem Anlegen eines Benutzer in Oracle hat dieser keinerlei Berechtigungen er kann sich also nicht einmal anmelden Die Berechtigungen (zumindest ein "create session") müssen zuerst mit dem GRANT-Befehl erteilt werden Oracle Security Bootcamp: Autorisierung 3 Übersicht (2) Oracle kann Berechtigungen auf unterschiedlichen Ebenen erteilen: Systemprivilegien (z.b. create session) Objektprivilegien SELECT, INSERT, UPDATE,... auf Tabellen Ausführen von PL/SQL... Berechtigungen auf Spaltenebene Berechtigungen auf Zeilenebene Berechtigungen für Netzwerk-Callouts (ab 11g) Die kritischsten Berechtigungen werden im nächsten Unterkapitel behandelt Die Zuteilung dieser Berechtigungen sollte dringend überwacht werden! Oracle Security Bootcamp: Autorisierung 4 Copyright Trivadis AG Autorisierung 3-3

62 Privilegien und Views system_privilege_map Alle existierenden Systemprivilegien dba_sys_privs Alle erteilten Systemprivilegien dba_tab_privs Alle erteilten Objectprivilegien dba_col_privs Objektprivilegien auf Spaltenebene Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

63 3.2 Berechtigungen Agenda Übersicht Berechtigungen Rollenkonzept Daten sind immer im Spiel. Kontexte Secure Application Role Virtual Privat Database Database Vault Oracle Security Bootcamp: Autorisierung 6 Copyright Trivadis AG Autorisierung 3-5

64 Systemprivilegien - %ANY% - Privilegien (1) Durch %ANY% Privilegien Zugriff auf jedes Object innerhalb Datenbank (ausser Datadictionary) Einige Beispiele: select any table Kann jede Tabelle lesen delete any table update any table Kann jede Tabelle leeren bzw. ändern create any trigger alter any trigger Kann Trigger auf Tabellen erstellen bzw. ändern, auf die keine Rechte vorhanden sind und damit ohne Rechte alle Änderungen in eigenen Tabellen protokollieren grant any privilege Kann alle Systemprivilegien an sich und andere granten Oracle Security Bootcamp: Autorisierung 7 Systemprivilegien - %ANY% - Privilegien (2) Weitere Beispiele: execute any procedure Ein User mit diesem Privileg kann Prozeduren und Funktionen in beliebigem Schemas ausfuehren create any library alter any library Benutzer mit diesem Privileg können Libraries anlegen/ändern und damit auf Betriebssystem-Kommandos zugreifen select any dictionary Kann alle Datadictionary-Objekte lesen (und damit Passwort- Hashes, SQL Statements, Berechtigungen,...) Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

65 Systemprivilegien - grant any object Erlaubt die Vergabe von Object Grants Grantor ist nicht Eigentümer Grantor hat kein Grant WITH GRANT OPTION bekommen DBA_TAB_PRIVS zeigt als Grantor den Object Owner statt den eigentlichen Grantor! SQL> CONNECT / AS SYSDBA SQL> GRANT SELECT ON scott.emp TO DBSNMP; SQL> SELECT grantor,owner,table_name 2> FROM dba_tab_privs 3> WHERE TABLE_NAME = 'EMP'; GRANTOR OWNER TABLE_NAME SCOTT SCOTT EMP Oracle Security Bootcamp: Autorisierung 9 Systemprivilegien Weitere (1) exempt access policy Benutzer mit diesem Systemprivileg können alle Tabellen lesen, auch wenn diese durch Policies oder Label Security geschützt sind alter system Kann diverse Eigenschaften der Datenbank manipulieren (Initalisierungsparameter, Trace einschalten, Session killen,...) become user Kann aktuelle Session auf anderen Benutzer umschalten und Befehle in dessen Kontext ausführen Berechtigungen (z.b. create any table) müssen (theoretisch) vorhanden sein Oracle Security Bootcamp: Autorisierung 10 Copyright Trivadis AG Autorisierung 3-7

66 Systemprivilegien Weitere (2) create any directory Kann Directories auf beliebige Betriebssystem-Pfade anlegen und damit beliebige Dateien überschreiben (wenn execute-rechte auf Package utl_file siehe weiter hinten) alter user Kann u.a. das Passwort beliebiger Benutzer ändern und sich damit anmelden unlimited tablespace Kann jeden Tablespace (auch SYSTEM) beliebig füllen Oracle Security Bootcamp: Autorisierung 11 Objektprivilegien Rechte auf Tabellen/Views sys.aud$ Wenn insert/update/delete kann die Auditing-Tabelle manipulieren sys.user$ Wenn insert/update/delete kann die Benutzerdefinitionen manipulieren Kann z.b. Benutzer verstecken Wenn select sieht alle Benutzer und deren Passwort-Hashs dba_users Sieht alle Benutzer und deren Passwort-Hashs sys.user_history$ Sieht alte Passwort-Hashes Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

67 Objektprivilegien execute-rechte auf Packages (1) dbms_sys_sql Kann beliebige Befehle unter beliebigen Benutzern (auch SYS) ausführen Damit kann (im Moment) das komplette Database Vault (später in diesem Kapitel) ausgeschaltet werden utl_file Kann Files lesen und schreiben, auf die der Initialisierungsparameter utl_file_dir zeigt Achtung: Diesen Parameter unbedingt kontrollieren, kann z.b. auf "*" stehen... Am besten, utl_file_dir nicht setzen, nur mit Directories arbeiten, auf diese können Berechtigungen pro Benutzer vergeben werden Oracle Security Bootcamp: Autorisierung 13 Objektprivilegien execute-rechte auf Packages (2) dbms_file_transfer Kann Files kopieren, auch von und zu entfernten Rechnern dbms_backup_restore Kann Files kopieren, löschen,... Oracle Security Bootcamp: Autorisierung 14 Copyright Trivadis AG Autorisierung 3-9

68 Fine-Grained Access für Netzwerk-Callouts (1) Hat ein Benutzer EXECUTE-Rechte auf eines der folgenden Packages, kann er an beliebige Hosts Informationen schicken: utl_tcp utl_smtp utl_mail utl_http utl_inaddr Mit dem seit Oracle 11g neuen Package dbms_network_acl_admin können nun Access Control Listen erzeugt werden, mit denen definiert wird, welcher Benutzer an welchen Host Callouts durchführen kann Oracle Security Bootcamp: Autorisierung 15 Fine-Grained Access für Netzwerk-Callouts (2) Dies geht aber leider nur, wenn XDB installiert ist... exec dbms_output.put_line(utl_inaddr.get_host_name); BEGIN dbms_output.put_line(utl_inaddr.get_host_name); END; * ERROR at line 1: ORA-24248: XML DB extensible security not installed ORA-06512: at "SYS.UTL_INADDR", line 4 ORA-06512: at "SYS.UTL_INADDR", line 35 ORA-06512: at line 1 Ansonsten kann nur ein SYSDBA diese 5 Packages nutzen... Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

69 Fine-Grained Access für Netzwerk-Callouts (3) ACL definieren BEGIN DBMS_NETWORK_ACL_ADMIN.CREATE_ACL ( acl => 'scott_trivadis.xml', description => 'Allow scott to connect to trivadis', principal => 'SCOTT', is_grant => TRUE, privilege => 'connect' ); END; / BEGIN DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL ( acl => 'scott_trivadis.xml', host => 'www.trivadis.com' ); END; / Oracle Security Bootcamp: Autorisierung 17 Copyright Trivadis AG Autorisierung 3-11

70 3.3 Rollenkonzept Agenda Übersicht Berechtigungen Rollenkonzept Daten sind immer im Spiel. Kontexte Secure Application Role Virtual Privat Database Database Vault Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

71 Rollen versus User User vs. Rolle Einem User können direkt Objekt- und Systemprivilegien vergeben werden Bei vielen gleich oder ähnlich definierten Benutzern wird dies schnell unübersichtlich Deshalb sollte immer ein Rollenkonzept erstellt werden Eine Rolle ist eine Gruppierung von Objekt- und/oder Systemprivilegien oder eine Gruppierung von Rollen (nested Roles) Oracle Security Bootcamp: Autorisierung 19 Berechtigungen ohne Rollenkonzept Werden Privilegien direkt zwischen den Objekten und den Usern vergeben, so führt dies schnell einmal zu einer unübersichtlichen Anzahl Grants, mit dem Effekt, dass z.b. GRANT TO PUBLIC verwendet wird PIS User:... etc. Tabellen: Views, stored procedures sequences... Oracle Security Bootcamp: Autorisierung 20 Copyright Trivadis AG Autorisierung 3-13

72 Beispiel eines Rollenkonzeptes Zweistufiges Rollenkonzept Quelle: Oracle Oracle Security Bootcamp: Autorisierung 21 Eigenschaften von Rollen Zusammenfassen von Berechtigungen Vereinfachen der Userberechtigung Eine Änderung an einer Rolle ist sofort für alle aktiv Rollen können an User oder an Rollen gegrantet werden Jeder User kann eine oder mehrere Default-Rollen haben Rollen können passwortgeschützt werden Rollen können mit Stored Procedure verknüpft werden Rollen sind optional auf Betriebsystem-Ebene verwaltbar Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

73 DEFAULT Rollen - Versionsabhängig Je nach Oracle Version und installierten Optionen werden DEFAULT Rollen angelegt Bis und mit Oracle6 3 DEFAULT Rollen: CONNECT RESOURCE DBA Ab Oracle7, zusätzlich: SYSDBA,SYSOPER IMP_FULL_DATABASE, EXP_FULL_DATABASE Ab Oracle8, Version 8.x zusätzlich: DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE SELECT_CATALOG_ROLE Oracle Security Bootcamp: Autorisierung 23 Rollenkonzept - DEFAULTS Ab Oracle8i zusätzliche DEFAULT Rollen: Ohne Optionen: SNMPAGENT, OEM_MONITOR, RECOVERY_CATALOG_OWNER, AQ_ADMINISTRATOR_ROLE, AQ_USER_ROLE Mit Java Virtual Machine: JAVAUSERPRIV,JAVASYSPRIV, JAVADEBUGPRIV, JAVA_DEPLOY, JAVA_ADMIN Mit Time-Series Option: TIMESERIES_DEVELOPER, TIMESERIES_DBA Mit InterMedia/Context-Option: ORDSYS, ORDPLUGINS, CTXAPP Ab Oracle 9i zusätzlich: SELECT ANY DICTIONARY Oracle Security Bootcamp: Autorisierung 24 Copyright Trivadis AG Autorisierung 3-15

74 Rollenkonzept - DEFAULTS 10g Release 1 SCHEDULER_ADMIN 10g Release 2 CONNECT Rolle erhält nur noch CREATE SESSION 11g XDB_WEBSERVICES_* Rollen DATAPUMP_{EXP/IMP}_FULL_DATABASE In 11g werden erstmals auch alle Default-User bei der Datenbank-Erstellung gesperrt (ausser SYS, SYSTEM, DBSNMP, SYSMAN) und auf EXPIRED gesetzt. Dies ist aus Security-Sicht nicht empfehlenswert Besser ist, ein "unmögliches Passwort" zu setzen Oracle Security Bootcamp: Autorisierung 25 Hochprivilegierte Rollen DEFAULT Rollen vergeben zumeist zuviel System-Privilegien an User und müssen vorsichtig eingesetzt werden Die bekanntesten DEFAULT Rollen DBA, RESOURCE, CONNECT sind aus Gründen der Abwärtskompatibilität noch vorhanden Werden in zukünftigen Releases abgelöst SYSDBA: Sehr wichtige Rolle aus Security-Gründen Kann Benutzern vergeben werden wenn Password-File existiert remote_login_passwordfile=exclusive (bei SHARED nur SYS möglich) IMP/EXP_FULL_DATABASE: BECOME USER Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

75 Lösung (Rollenkonzept) Nur minimal Rollen als DEFAULT Rolle vergeben, denn auch eine Passwort geschützte Rolle solange sie DEFAULT Rolle ist wird ohne Passwortabfrage aktiviert Setzen der Rollen zum benötigten Zeitpunkt durch die Applikation Schreiben von Package-Prozeduren für INSERT,UPDATE,DELETE etc. auf Tabellen von HR Grants der EXECUTE Privileges auf diese Package-Prozeduren an die Applikations-User Oracle Security Bootcamp: Autorisierung 27 Lösungsvariante SET ROLE nur durch die Applikation setzen DBMS_SESSION.SET_ROLE $ORACLE_HOME/rdbms/admin/pupbld.sql erstellt PRODUCT_USER_PROFILE Hier Restriktion eintragen INSERT INTO product_user_profile (product,userid,attribute,char_value,date_value) VALUES ('SQL*Plus','HR%','SET ROLE','DISABLED',NULL); COMMIT; User, mit den entsprechenden Privilegien und Kenntnissen, können sich dennoch eine Rolle setzen: EXEC sys.dbms_session.set_role('hr_manager') Oracle Security Bootcamp: Autorisierung 28 Copyright Trivadis AG Autorisierung 3-17

76 Lösung: VORSICHT Compile-Time und Execution Time Mit DBMS_SESSION.SET_ROLE werden die Berechtigungen zur Zeit der Ausführung der Prozedur gesetzt Die Berechtigung zu den SQL-Statements innerhalb der Prozedur werden aber während der Kompilierung geprüft DECLARE v_emp_id number := 177; v_name varchar2(20); BEGIN SYS.DBMS_SESSION.SET_ROLE('hr_manager'); SELECT last_name INTO v_name from hr.employees where employee_id=v_emp_id; END; / ERROR at line 7: ORA-06550: line 7, column 13: PL/SQL: ORA-00942: table or view does not exist Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

77 3.4 Kontexte Agenda Übersicht Berechtigungen Rollenkonzept Daten sind immer im Spiel. Kontexte Secure Application Role Virtual Privat Database Database Vault Oracle Security Bootcamp: Autorisierung 30 Copyright Trivadis AG Autorisierung 3-19

78 Kontexte Ein Secure Application Context erlaubt es, Variablen zu definieren und zu speichern Wird z.b. beim Sessionaufbau initialisiert, mittels Login-Trigger Ein sogenanntes Trusted Package wird verwendet, um die Werte zu setzen Kann mit Virtual Private Database (VPD) kombiniert werden, um Zugriff auf Datenräume zu steuern In Verbindung mit OID kann ein Kontext extern initialisiert werden Oracle Security Bootcamp: Autorisierung 31 Kontexte Ein Kontext kann lokal definiert werden Wird in der UGA der Session gespeichert Daten können nicht Session-übergreifend gelesen werden CREATE CONTEXT my_ctx USING my_pkg; Oder global Wird in der SGA gespeichert Daten können aus mehreren Sessions gelesen werden CREATE CONTEXT my_ctx USING my_pkg ACCESSED GLOBALLY; Kann auf Schema-Ebene eingeschränkt werden DBMS_SESSION.SET_CONTEXT( namespace => 'myapp',... username => 'SCOTT'); Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

79 Kontexte Wird mittels der Funktion SYS_CONTEXT abgefragt SELECT SYS_CONTEXT('MY_CTX','ACCESS_LEVEL') FROM DUAL; Vordefinierter Namespace USERENV von Oracle bereitgestellt SELECT SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') FROM DUAL; Bietet verbesserte Performance im Vergleich zu "Homemade" Setups mittels Security-Tabellen Kontext wird in der UGA gespeichert Nur In-Memory-Abfragen, keine zusätzlichen SELECT Statements notwendig Sehr leichtgewichtig Oracle Security Bootcamp: Autorisierung 33 Kontexte Vordefinierte Variablen (Auszug): authentication_method client_identifier client_info current_schema db_name enterprise_identity host ip_address instance_name network_protocol session_user sid sessionid terminal Oracle Security Bootcamp: Autorisierung 34 Copyright Trivadis AG Autorisierung 3-21

80 3.5 Secure Application Role Agenda Übersicht Berechtigungen Rollenkonzept Daten sind immer im Spiel. Kontexte Secure Application Role Virtual Privat Database Database Vault Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

81 Secure Application Role (1) Klassische Application Role: Passwort wird in Applikation oder in einer Tabelle gespeichert Applikation übergibt Passwort beim Aktivieren der Rolle Secure Application Role: Aktivieren der Rolle erfolgt mittels PL/SQL Package User-Attribute können von der Applikation überprüft werden z.b. mittels SYS_CONTEXT und dem USERENV Namespace Package muss als Invoker's rights definiert werden (AUTHID CURRENT_USER) Definition: CREATE ROLE hr_clerk IDENTIFIED USING hr_security_clerk_pro; Oracle Security Bootcamp: Autorisierung 36 Secure Application Role (2) Beim GRANT der Rolle wird diese dem User standardmässig als DEFAULT Rolle gesetzt!! Und wird automatisch aktiviert. GRANT SEC_ROLE TO SCOTT; Deshalb: Nach dem GRANT ALTER USER SCOTT DEFAULT ROLE ALL EXCEPT [SEC_ROLE]; Mit Database Vault kann eine Secure Application Role mit einem Rule Set kombiniert aktiviert werden, um die Sicherheit weiter zu erhöhen Oracle Security Bootcamp: Autorisierung 37 Copyright Trivadis AG Autorisierung 3-23

82 Secure Application Role (3) Beispiel CREATE OR REPLACE PROCEDURE hr_security_clerk_pro AUTHID CURRENT_USER IS internal_lan VARCHAR2(30); BEGIN internal_lan=sys_context('userenv','ip_address'); IF ( UPPER(SUBSTR(internal_lan,1,4)) = '172.' ) then dbms_session.set_role('hr_clerk'); ELSE raise_application_error(-2000, 'HR Work only allowed from within the Office'); END IF; END; / Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

83 3.6 Virtual Privat Database Agenda Übersicht Berechtigungen Rollenkonzept Daten sind immer im Spiel. Kontexte Secure Application Role Virtual Privat Database Database Vault Oracle Security Bootcamp: Autorisierung 39 Copyright Trivadis AG Autorisierung 3-25

84 Virtual Private Database Bis und mit Oracle8i unter dem Namen Security Policy bekannt (ROW LEVEL SECURITY aka RLS) Ist ab Oracle9i erweitert worden und nur in der Enterprise Edition verfügbar Virtual Private Database (VPD) Technologie umfasst (laut Dokumentation) Security Policy Connection Pooling Global Application Context Fine Grained Access Control (FGAC) Row-Level Access Control Oracle Security Bootcamp: Autorisierung 40 Konzept (1) Problem: Von einer Tabelle sollen nur bestimmte Zeilen unter bestimmten Bedingungen sichtbar sein Lösungsansätze ohne "Virtual Private Database": Definition einer View und Zugriff nur über die View erlauben (schlecht administrierbar bei vielen Bedingungen, ev. schlechte Performance je nach Komplexität der View) Einbau der Zugriffsrestriktionen in die Applikation (umgehbar durch ODBC Tools etc.) Zugriff nur über PL/SQL Prozeduren (aufwendig) Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

85 Konzept Lösung mit Fine Grained Access Control/Security Policy: Ein Zusatzprädikat wird bei jedem Tabellenzugriff an die WHERE Clause des Select, UPDATE oder DELETE Statements angehängt Für INSERT wird eine transiente View mit dem Zusatzprädikat aufgebaut und verwendet Kann auch nur für einzelne dieser Befehle aktiviert werden Für Tabellen und Views unterstützt Dadurch aber keine Reduktion der SELECT- Liste möglich wie bei den Views (nur einzelne Attribute anzeigen) Das Zusatzprädikat wird durch eine Funktion generiert, welche mit der Tabelle assoziiert ist Mehrere Policies pro Tabelle sind erlaubt Oracle Security Bootcamp: Autorisierung 42 RLS: Management Hinzufügen und Einschalten: dbms_rls.add_policy( object_schema => 'SCOTT', object_name => 'EMP', policy_name => 'EMP_POLICY', function_schema => 'SECUSR', policy_function => 'EMP_RESTRICT' ); Optionale Parameter bei ADD_POLICY sind u.a. für Statement- Arten und initiales Enabling/Disabling vorhanden Oracle Security Bootcamp: Autorisierung 43 Copyright Trivadis AG Autorisierung 3-27

86 RLS: Management Security-Policy, welche auch für Inserts aktiv sein soll: dbms_rls.add_policy( object_schema => 'SCOTT', object_name => 'EMP', policy_name => 'EMP_POLICY', function_schema => 'SECUSR', policy_function => 'EMP_RESTRICT', statement_types => 'SELECT,INSERT,UPDATE,DELETE', update_check => TRUE ); Parameter UPDATE_CHECK muss auf TRUE gesetzt werden (Default FALSE) Oracle Security Bootcamp: Autorisierung 44 RLS: Management mit OEM Policy-Manager (oemapp opm) Ab Oracle 11g auch in Database Control Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

87 RLS: Policy Einfluss auf Administrationsarbeiten Damit z.b. bei einem Export alle Daten exportiert werden, die mittels Policies geschützt wurden, muss entweder der Export "AS SYSDBA" durchgeführt werden der exportierende User aufgrund der Policy alle Daten sehen der User das Privileg EXEMPT ACCESS POLICY besitzen Mit dem System-Privileg EXEMPT ACCESS POLICY werden alle Policies ignoriert Es ist zu beachten, dass das System Privileg EXEMPT ACCESS POLICY weder durch die DBA Rolle noch durch GRANT ALL PRIVILEGES TO gegranted wird, sondern explizit erteilt werden muss Oracle Security Bootcamp: Autorisierung 46 Column Level Virtual Private Database Ab Oracle10g kann auch eine Einschränkung über Spalten erfolgen Dadurch kann erreicht werden, dass z.b. die "nicht sicherheitsrelevanten" Spalten aller Angestellten gelesen werden können, aber das Gehalt nur bei bestimmten Personen Zwei Varianten: Default Behavior Column Masking Behavior Oracle Security Bootcamp: Autorisierung 47 Copyright Trivadis AG Autorisierung 3-29

88 Default Behavior Neben der einschränkenden Policy-Function werden Spalten definiert, die sicherheitsrelevant sind Werden diese Spalten nicht abgefragt, gilt die Policy-Function nicht (es werden alle Zeilen angezeigt) Wird aber eine dieser Spalten abgefragt, wirkt die Einschränkung auf Zeilenebene Definiert wird dies im Prozeduraufruf dbms_rls.add_policy:... sec_relevant_cols=>'salary'... Oracle Security Bootcamp: Autorisierung 48 Column Masking Behavior Es werden immer alle Zeilen, unabhängig der Policy-Function angezeigt Gibt die Policy-Function für die aktuelle Zeile FALSE zurück, werden die Werte der sicherheitsrelevanten Spalten nicht angezeigt (sondern NULL) Definiert wird dies im Prozeduraufruf dbms_rls.add_policy:... sec_relevant_cols=>'salary', sec_relevant_cols_opt=>dbms_rls.all_rows... Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

89 3.7 Database Vault Agenda Übersicht Berechtigungen Rollenkonzept Daten sind immer im Spiel. Kontexte Secure Application Role Virtual Privat Database Database Vault Oracle Security Bootcamp: Autorisierung 50 Copyright Trivadis AG Autorisierung 3-31

90 Database Vault (1) Eine der neueren Oracle Security Innovation Ist eine Enterprise Edition Option Standalone-Download in 10g und 9i Fix integriert im Release 11g Installer Oracle Security Bootcamp: Autorisierung 51 Database Vault (2) Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

91 Database Vault Einführung (1) Realms schützen Daten auf Schema oder Objekt Level Vordefinierte Realms Database Vault Account Management Oracle Data Dictionary Oracle Database Vault Oracle Enterprise Manager Benutzerdefinierte Realms können erstellt werden Zugriff kann individuell gewährt werden Command Rules kontrollieren Zugriff auf DML / DDL Statements Vordefinierte Command Rules werden zur Installationszeit definiert Z.B. ALTER USER ist limitiert auf "Can maintain own account" Oracle Security Bootcamp: Autorisierung 53 Database Vault Einführung (2) Rules Eine Rule ist PL/SQL Code zum verifizieren der User Kann mit Faktoren kombiniert werden, um auf beliebige Arten den Zugriff zu limitieren Rule Sets Kombinieren Rules in Gruppen Entweder mit "ANY TRUE" oder "ALL TRUE" definiert Kann für Realm Autorisierung verwendet werden Entscheiden wann eine Command Rule zieht oder nicht Um eine Secure Application Role zu aktivieren Oracle Security Bootcamp: Autorisierung 54 Copyright Trivadis AG Autorisierung 3-33

92 Database Vault Einführung (2) Factors Definerte Variablen, deren Werte werden Identities genannt Wert wird mittels PL/SQL Funktion zurückgegeben Können in Rules verwendet werden Viele vordefinierte Faktoren werden bereitgestellt Können mittels Mappings kombiniert werden (Client_IP Domain) Reports Reporting Framework ist in DBV integriert DB-Console bietet zahlreiche vordefinierte Reports Konfiguration, DBV Auditing, und generelle Security-Reports Oracle Security Bootcamp: Autorisierung 55 Database Vault Einführung (3) DV_OWNER (DBV Owner Role) Superuser Kontrolliert DVSYS und alle Realms DV_ADMIN (DBV Configuration Administrator) Realm Manager Execute Privileg auf DBMS_MACADM DV_SECANALYST (DBV Security Analyst) Select Privileg auf DVSYS Schema Objekten Kann Konfiguration überprüfen und DBV Reports ausführen DV_ACCTMGR Erstellen von Datenbank-Benutzern und Rollen Ein DBA muss nach wie vor die Privilegien erteilen Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

93 Database Vault Einführung (4) Weitere duties können durch vordefinierte Rollen erstellt werden DV_ACCTMGR DV_ADMIN DV_OWNER DV_PUBLIC DV_REALM_OWNER DV_REALM_RESOURCE DV_SECANALYST Oracle Security Bootcamp: Autorisierung 57 Flowchart Oracle Security Bootcamp: Autorisierung 58 Copyright Trivadis AG Autorisierung 3-35

94 Flowchart Oracle Security Bootcamp: Autorisierung 59 Flowchart Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

95 Flowchart Oracle Security Bootcamp: Autorisierung 61 Flowchart Oracle Security Bootcamp: Autorisierung 62 Copyright Trivadis AG Autorisierung 3-37

96 Flowchart Oracle Security Bootcamp: Autorisierung 63 Flowchart Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

97 Flowchart Oracle Security Bootcamp: Autorisierung 65 Flowchart Oracle Security Bootcamp: Autorisierung 66 Copyright Trivadis AG Autorisierung 3-39

98 Database Vault Autorisierung SYSDBA hat alle Privilegien in einer Oracle Datenbank Nach der Installation von DBV ist SYSDBA komplett deaktiviert Soweit möglich, wird empfohlen, SYSOPER zu verwenden Viele Oracle Tools benötigen SYSDBA RMAN Data Guard Real Application Clusters Data Pump Installation von Software (und Patches) CREATE / DROP Database ASM -- Automatic Storage Management Oracle Security Bootcamp: Autorisierung 67 Database Vault Views Sehr viele neue Data Dictionary Views werden bereitgestellt Alle informationen, die via dem DBV Admin-Tool (DB-Console) verfügbar sind, können auch hier gefunden werden Sind für den DV_OWNER, DV_ADMIN und DV_SECANALYST verfügbar Die Daten der Views sind sehr gut dokumentiert Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

99 OS Administratoren Die Dokumentation: "Oracle Database Vault does not provide protection against the operating system root access. " "Oracle Database Vault does not provide protection against the operating system access of the Oracle software owner. " Dies löste weitverbreitete Verwirrung aus Eventuell sollte obiger Kommentar an den Anfang des Handbuches, und nicht im hintersten Kapitel versteckt sein Oracle Security Bootcamp: Autorisierung 69 Tipps und Erfahrungswerte Einige Oracle Produkte funktionieren nicht standardmässig mit DBV Einige Beispiele: Oracle Application Express (APEX) Oracle Warehouse Builder (OWB) Oracle plant verschiedene Rule Sets für die eigenen Applikationen bereitzustellen Peoplesoft auf OTN verfügbar SAP ist in Planung (!!) Oracle Security Bootcamp: Autorisierung 70 Copyright Trivadis AG Autorisierung 3-41

100 Tipps und Erfahrungswerte - Separation of Duties Task Betrieb der DB und der Instanz (Erzeugen, Parametriseren, Instanztuning, Patching, Updates, Tablespace- Management, ) Security Management Anlegen von Realms, Definition der zu schützenden Objekte Verantwortlich Zuteilen der Benutzer zu Realms Anlegen von applikatorischen Rollen Zuordnen von Objektprivilegien zu Rollen/Benutzern Account Management + Zuweisen von Rollen Anlegen von technischen Rollen, Initiales zuordnen von Systemprivilegien zu Rollen (nicht applikatorische Rollen!) Oracle Security Bootcamp: Autorisierung 71 Nicht durch DBV abgedeckt Risiko Daten in Datafiles im Klartext (OS- und SAN-Admin sowie Oracle-Unix-Account kann Daten lesen) Massnahme Verschlüsselung der Datafiles durch TDE (10g auf Spaltenebene, 11g auf Tablespace- Ebene) Daten in Backups und Exports im Klartext Verschlüsslung durch RMAN bzw. Datapump SYS-Account muss offen sein für RAC und RMAN Dieser ist nicht komplett durch DBV abgesichert Personifizierte Accounts auf Unix und Datenbank + Sudo-Konzept Benutzung von SYSOPER Zulassen von SYSDBA-Connections nur zur RMAN-Connect-Zeit Oracle Security Bootcamp: Autorisierung Copyright Trivadis AG

101 Nicht durch DBV abgedeckt Risiko Während Patching (z.b. CPUs) sowie Migrationen muss DBV ausgeschaltet werden Daten im Klartext über Netzwerk bzw. Interconnect bei RAC) Massnahme Personifizierte Accounts auf Unix und Sudo- Konzept Überwachung auf Betriebssystemebene (inode+ctime Checks, z.b. manuell, Nimbus,iwatch (Linux, basierend auf inotify)) Einsatz von ASO zur Verschlüsslung des Netzwerkes Direkte Object Grants Bestehende Grants müssen bekannt sein bzw. kontrolliert werden Applikatorische Exportmöglichkeiten Können nur auf Applikations-Ebene überprüft werden, eventuell Einschränkungen über Rules (anhand IP, ) Oracle Security Bootcamp: Autorisierung 73 Autorisierung Kernaussagen Die Autorisierung ist der Kern einer guten Security-Strategie Es soll prinzipiell nach dem Least-Privilege Prinzip gehandelt werden Wissen vermitteln ist der Anfang. Wissen umsetzen das Entscheidende. Jedes Feature dient seinem eigenen Zweck; Nicht alles kann mit VPD gelöst werden, nicht alles kann mit Database Vault gelöst werden Features wie VPD, Application Contexts oder Database Vault können gezielt kombiniert werden, um die gewünschte Sicherheit zu erreichen Oracle Security Bootcamp: Autorisierung 74 Copyright Trivadis AG Autorisierung 3-43

102 3-44 Copyright Trivadis AG

103 4 Auditing Auditing Oracle Security Bootcamp Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien Copyright Trivadis AG Auditing 4-1

104 4.1 Oracle Standard Auditing Agenda Oracle Standard Auditing Trigger based Auditing FGA (Fine Grained Auditing) Daten sind immer im Spiel. Auditing für DBA's Audit Vault Oracle Security Bootcamp: Auditing Copyright Trivadis AG

105 Überblick Auditing wird verwendet, um generelle Aktivitäten auf der Datenbank zu protokollieren Wer macht wann ein SELECT, INSERT, CREATE INDEX, ALTER TABLE etc. auf einem Datenbank Objekt Wer hat wann welchen Datensatz modifiziert, was war der alte Wert des Attributs, was ist der neue Wert des Attributs Dies übersteigt die Standard Auditing Möglichkeiten, kann aber selbst mit DML Triggern ausprogrammiert werden Oracle Security Bootcamp: Auditing 3 Parameter Standard Auditing benötigt den INIT.ORA Parameter audit_trail = none os db db_extended xml DEFAULT ist bis Oracle 10g "none", ab 11g "db" Kann eingestellt werden für Die gesamte Instanz und für alle neu erstellten Tabellen Einem Schema/Besitzer von Tabelle(n) für die eigenen Objekte Wenn audit_trail=db, INSERT in die Tabelle sys.aud$ im Tablespace SYSTEM audit_trail=os oder xml, Audit Events in Files ( ora_?????.aud) in einem zu spezifizierenden Directory (Windows -> Event-Log) audit_trail=db_extended, werden auch Statements protokolliert Oracle Security Bootcamp: Auditing 4 Copyright Trivadis AG Auditing 4-3

106 Auditing in Files Audit-Trail als OS-Files sind nicht so komfortabel, da Mehrere hundert Files auszuwerten sind Keine Auswertung mit SQL gemacht werden kann Keine JOINS auf andere Tabellen kursiver Text zur Erläuterung: SCOTT makes a CREATE INDEX (Action: 9, see AUDIT_ACTIONS) EMP_ENAME on SCOTT.EMP successfully (Returncode: 0) Tue Feb 19 06:26: SESSIONID: "3248" ENTRYID: "1" STATEMENT: "9" USERID: "SCOTT" TERMINAL: "pts/1" ACTION: "9" RETURNCODE: "0" OBJ$CREATOR: "SCOTT" OBJ$NAME: "EMP_ENAME" NEW$OWNER: "SCOTT" NEW$NAME: "EMP" OS$USERID: "oracle" SCOTT makes an UPDATE on SCOTT.EMP (Action: 103. The same "action" for UPDATE, INSERT, DELETE if AUDIT BY SESSION) Tue Feb 19 06:26: SESSIONID: "3248" ENTRYID: "2" STATEMENT: "10" USERID: "SCOTT" TERMINAL: "pts/1" ACTION: "103" RETURNCODE: "0" OBJ$CREAT OR: "SCOTT" OBJ$NAME: "EMP" SES$ACTIONS: " S-----" SES$TID: "30637" OS$USERID: "oracle" Oracle Security Bootcamp: Auditing 5 Auditing im SYSLOG Wenn Audit-Trail auf OS steht, kann auch definiert werden, dass die Audit-Events in das SYSLOG geschrieben werden Beispiel: ALTER SYSTEM SET audit_syslog_level='user.alert' SCOPE=SPFILE; Dies kann interessant sein, wenn ein zentraler SYSLOG-Server benutzt wird, welcher die Audit-Events ausser auf dem aktuellen Server auch an zentraler (sicherer) Stelle speichert Leider ist hier auch nur die ID der Aktion erkennbar... Oracle Security Bootcamp: Auditing Copyright Trivadis AG

107 Empfehlungen Selektiv einschalten und Overhead beachten, sowohl im SYSTEMTablespace als auch wie auch Filesystem Auditing innerhalb der Datenbank regelmässig auswerten und auch wieder löschen Wenn auf File-System, dann AUDIT_FILE_DEST ausserhalb des Software-Baums halten, da dieser statisch bleiben sollte Per Default werden Audit-Files geschrieben auf: audit_file_dest = ${ORACLE_HOME}/rdbms/audit (Default) Oracle Security Bootcamp: Auditing 7 Auditingmöglichkeiten (1) By Statement (CREATE,ALTER,DROP...) SQL> AUDIT TABLE,INDEX,CLUSTER; By Privilege (SELECT ANY, BECOME USER...) SQL> AUDIT SELECT ANY TABLE, ALTER ANY TABLE, BECOME USER; Spezifisch für User (Statement, Privilege ) SQL> AUDIT TABLE/INDEX/CLUSTER by WISMI, GECAM; SQL> AUDIT SELECT ANY TABLE, ALTER ANY TABLE BY WISMI, GECAM; Oracle Security Bootcamp: Auditing 8 Copyright Trivadis AG Auditing 4-5

108 Auditingmöglichkeiten (2) ON OBJECT ALTER, AUDIT, COMMENT, DELETE, EXECUTE, GRANT, INDEX, INSERT, LOCK, READ, RENAME, SELECT, UPDATE, WRITE, ALL z.b.: SQL> AUDIT INSERT, UPDATE, DELETE ON emp; BY PROX-USER SQL> AUDIT SELECT TABLE BY appserver ON BEHALF OF gecam; Oracle Security Bootcamp: Auditing 9 Auswertungen Auswerten: SQL> select username,timestamp,owner,obj_name,action_name,priv_used 1> from dba_audit_object 2> where username='gecam' USERNA TIMESTAMP OWNER OBJ_NAME ACTION_NAME PRIV_USED GECAM 03-OCT-02 GECAM EMPLOYEES_BY_GECAM CREATE TABLE CREATE ANY TABLE Ausschalten: SQL> NOAUDIT SELECT ANY TABLE BY GECAM; SQL> NOAUDIT INDEX,CLUSTER,TABLE; Oracle Security Bootcamp: Auditing Copyright Trivadis AG

109 Standardmässiges Auditing ab 11g (1) Der DBCA bei Oracle 11g fragt ab, ob die "Enhanced default security settings" eingeschaltet werden sollen: Oracle empfiehlt, diese Frage mit "ja" zu beantworten Dies hat aber einige Auswirkungen: Platzbedarf im SYSTEM-Tablespace (kein automatisches Löschen) Eventueller Performance-Impact Oracle Security Bootcamp: Auditing 11 Standardmässiges Auditing ab 11g (2) Eingeschaltet ist dann (Auszug aus Oracle Dokumentation): Ausgeführt wird das Script secconf.sql automatisch aus catproc.sql (immer!!) Werden die "Enhanced default security settings" nicht eingeschaltet, werden nach dem Anlegen der DB diese wieder ausgeschaltet... Oracle Security Bootcamp: Auditing 12 Copyright Trivadis AG Auditing 4-7

110 4.2 Trigger based Auditing Agenda Oracle Standard Auditing Trigger based Auditing FGA (Fine Grained Auditing) Daten sind immer im Spiel. Auditing für DBA's Audit Vault Oracle Security Bootcamp: Auditing Copyright Trivadis AG

111 Database Event Trigger (1) Feuern bei Instanzproblemen SERVERERROR Connect, Disconnect einer Session LOGON, LOGOFF Starten, Stoppen der Instanz STARTUP, SHUTDOWN Problemen von RESUMABLE Operations SUSPEND Zu definieren für ON DATABASE ON SCHEMA Oracle Security Bootcamp: Auditing 14 Database Event Trigger (2) AFTER LOGON ON DATABASE LOGON User GECAM Get OS- Username Get Session- Identifier Insert into LOGON_EVENTS OS-USER ID GECAM 4711 Oracle Security Bootcamp: Auditing 15 Copyright Trivadis AG Auditing 4-9

112 Database Event Trigger (3) Beispiel CREATE OR REPLACE TRIGGER LOGON_EMPLOYEE AFTER LOGON ON DATABASE DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN IF ( sys_context('userenv','sessionid')!= 0 ) then INSERT INTO system.logon_events ( SELECT USER, sys_context('userenv','sessionid'), sys_context('userenv','os_user'), sys_context('userenv','host'), sys_context('userenv','ip_address'), program, sysdate FROM sys.v_$session WHERE AUDSID = sys_context('userenv','sessionid') ); COMMIT; END IF; END; / Oracle Security Bootcamp: Auditing 16 Database Event Trigger (3) Tabelle muss kontinuierlich ausgewertet werden: SQL> SELECT * FROM system.logon_events USERNAME HIS_SESS OSUSER HOST CLIENT PROGRAMM TIMESTAMP SYSTEM 662 oracle caloosa GECAM 663 oracle ltsum LOGON-Trigger: Bei Trigger-Fehlern ist kein Connect mehr möglich! Nur noch CONNECT AS SYSDBA! Trigger droppen, neu erstellen STARTUP/SHUTDOWN-Trigger: Bei Trigger-Fehlern Eintrag im Alert-Log, Generieren von Trace- File, dann Startup/Shutdown Oracle Security Bootcamp: Auditing Copyright Trivadis AG

113 DML Trigger Können Fragen beantworten wie: Wer hat wann welchen Datensatz modifiziert Was war der alte Wert des Attributs Was ist der neue Wert des Attributs Beispiel: Wer verändert Salär auf HR.EMPLOYEES UPDATE HR.EMPLOYEES SET SALARY = LAST_NAME SALARY Cambrault 10'000 Get New and OLD- Value Get everything about USER Insert into EMPLOYEE_AUDIT Oracle Security Bootcamp: Auditing 18 Copyright Trivadis AG Auditing 4-11

114 4.3 FGA (Fine Grained Auditing) Agenda Oracle Standard Auditing Trigger based Auditing FGA (Fine Grained Auditing) Daten sind immer im Spiel. Auditing für DBA's Audit Vault Oracle Security Bootcamp: Auditing Copyright Trivadis AG

115 Übersicht Auditing wird verwendet um generelle Datenbankaktivitäten zu überwachen Standard Auditing auf Statement-/System-/Privilege-/Object- Level mit folgenden Möglichkeiten: BY SESSION / ACCESS WHENEVER SUCCESSFULL / NOT SUCCESSFULL ABER Wie protokollieren WER hat WANN die Tabelle HR.EMPLOYEES gelesen UND zwar die Namen aller Angestellten, welche mehr als $10'000 verdienen Lösung: Fine-Grained-Auditing (FGA) Oracle Security Bootcamp: Auditing 20 Fine Grained Auditing (1) Generieren von Audit-Policy mit dbms_fga.add_policy Setzen einer zu überwachenden Bedingung Setzen einer zu überwachenden Column Wenn Bedingung eintrifft, generieren Information über User Name SELECT Statement Policy Name Session-ID Zeitpunkt,... Kontrolle welche Optionen gesetzt sind sys.exu9fga (View) sys.fga$ (Table) Oracle Security Bootcamp: Auditing 21 Copyright Trivadis AG Auditing 4-13

116 Fine Grained Auditing (2) Bemerkungen: Ein TO_CHAR(DEPTNO)='20', ein DEPTNO+1 = 21, etc. wird entdeckt und protokolliert. Ebenfalls ein INSERT INTO SELECT FROM und ein CREATE TABLE AS SELECT Fine Grained Auditing ist nur für den Cost-Based Optimizer supported Achtung: Mit dem Rule-Based Optimizer werden falsche Audit Trail Einträge erzeugt FGA macht INSERTs in den Data-Dictionary. Bei Flashback-Queries muss somit eine FGA-Policy zuerst disabled werden, da dies ansonsten zu Fehlern führt Ein Export mit DIRECT=Y feuert eine FGA Policy nicht. Oracle Security Bootcamp: Auditing 22 Beispiel (1) Vorgabe: Welcher Angestellter hat das Salär eines Mitarbeiter nebst dessen Namen ausgelesen wobei Salär > 10'000 ist. Kontrolle welche Audit-Events eingetroffen sind: SYS.DBA_FGA_AUDIT_TRAIL (View) SYS.FGA_LOG$ (Table) Es soll bei jedem Event eine Nachricht an den verantwortlichen Security Beauftragten versandt werden Oracle Security Bootcamp: Auditing Copyright Trivadis AG

117 Beispiel (2) Der Event-Handler: DBMS_FGA.ADD_POLICY(... EVENT_HANDLER => MyEventhandle... ); In diesem Stored Object die Folgen des eingetretenen Events abhandeln Stored Object kann sein Package-Procedure Procedure Oracle Security Bootcamp: Auditing 24 Beispiel (3) Die Policy : BEGIN dbms_fga.add_policy( object_schema => 'HR', object_name => 'EMPLOYEES', policy_name => 'FGA_EMP_POL', audit_condition => 'salary>10000 ', audit_column => 'LAST_NAME', handler_schema => 'SYSTEM', handler_module => 'MY_EVENT_HANDLER.SEND_MAIL', enable => TRUE ); END; / Oracle Security Bootcamp: Auditing 25 Copyright Trivadis AG Auditing 4-15

118 DML-Support für Fine-Grained-Auditing Bis einschliesslich Oracle9i galten folgende Einschränkungen: FGA funktionierte nur für Selects, nicht für DML-Operationen War mehr als eine Spalte sicherheitsrelevant, musste für jede Spalte eine Audit-Policy erzeugt werden Diese beiden Einschränkungen existieren nicht mehr DML Statements können protokolliert werden Mit einer Policy können mehrere sicherheitsrelevante Spalten überwacht werden... audit_column => 'salary,commission_pct', statement_types => 'SELECT,INSERT,UPDATE,DELETE'... Oracle Security Bootcamp: Auditing 26 Fine-Grained-Auditing - zu beachten! Audit-Einträge werden auch erzeugt, wenn ein ROLLBACK durchgeführt wird (und auch die verschickt, wenn dies in einer benutzerdefinierten Prozedur programmiert ist)! Audit-Einträge werden auch erzeugt, wenn ein Select-Statement sicherheitsrelevante Daten lesen könnte, dies aber nicht macht, da nicht alle Records gelesen werden! SELECT * FROM ( SELECT * FROM hr.empl_fga ORDER BY department_id DESC ) WHERE ROWNUM = 1; Oracle Security Bootcamp: Auditing Copyright Trivadis AG

119 Fine-Grained-Auditing - zu beachten! Updates nicht sicherheitsrelevanter Zeilen zu sicherheitsrelevanten Zeilen (und umgedreht) werden nicht protokolliert! Damit kann das komplette FGA ausgeschaltet werden Beispiel: UPDATE empl_fga SET department_id=1 WHERE department_id=20; UPDATE empl_fga SET salary= WHERE department_id=1; UPDATE empl_fga SET department_id=20 WHERE department_id=1; COMMIT; Es wird kein Audit-Eintrag erzeugt, obwohl das Feld SALARY für das Departement 20 geändert wurde! Oracle Security Bootcamp: Auditing 28 Copyright Trivadis AG Auditing 4-17

120 4.4 Auditing für DBA s Agenda Oracle Standard Auditing Trigger based Auditing FGA (Fine Grained Auditing) Daten sind immer im Spiel. Auditing für DBA's Audit Vault Oracle Security Bootcamp: Auditing Copyright Trivadis AG

121 Auditing für DBA's - Problemstellung Bisher nur Audit Optionen für "normale" User Bisher nicht Operationen von SYSDBA/SYSOPER wurden nicht protokolliert Seit Oracle 9i Release 2 kann auch für alle User, welche als SYSDBA oder SYSOPER zur Datenbank verbinden, Auditing eingeschaltet werden Oracle Security Bootcamp: Auditing 30 Auditing für DBA's - Problemstellung Trotz Auditing halten die Veränderungen auf der Tabelle HR.EMPLOYEES an Das Salär des Präsidenten wurde heruntergesetzt auf $240! Oracle Security Bootcamp: Auditing 31 Copyright Trivadis AG Auditing 4-19

122 Auditing für DBA's Lösung (1) Auditing der SYSDBA/SYSOPER audit_sys_operations = TRUE FALSE INIT.ORA Parameter ist NICHT dynamisch Instanz muss neu gestartet werden Oracle Security Bootcamp: Auditing 32 Auditing für DBA's Lösung (2) Selbst wenn audit_trail = DB Einträge nicht in sys.aud$ (die könnte der SYSDBA ja auch löschen!) Einträge erscheinen im OS Audit-Trail, bei Unix also in Files, z.b.: Mon Sep 30 21:06: ACTION : 'update hr.employees set salary=240 where employee_id=100 and job_id='ad_pres'' DATABASE USER: 'ltsum' PRIVILEGE : SYSDBA CLIENT USER: ltsum CLIENT TERMINAL: pts/0 STATUS: 0 Oracle Security Bootcamp: Auditing Copyright Trivadis AG

123 Auditing für DBA's Lösung (3) Bei Windows Audit-Einträge im Event-Log Oracle Security Bootcamp: Auditing 34 Copyright Trivadis AG Auditing 4-21

124 4.5 Audit Vault Agenda Oracle Standard Auditing Trigger based Auditing FGA (Fine Grained Auditing) Daten sind immer im Spiel. Auditing für DBA's Audit Vault Oracle Security Bootcamp: Auditing Copyright Trivadis AG

125 Übersicht Zentrales Auditing wird immer interessanter - zum Teil gefordert durch Regularien wie SOX und Basel II Genau in diese Richtung geht Oracles Audit Vault In einer zentraler Oracle Datenbank werden Auditeinträge verschiedener Quellen gesammelt Aus einem Warehouse sind die Daten abfragbar (z.b. durch BO) Für Auswertungen stehen über eine Weboberfläche (ähnlich Oracle Enterprise Manager) komfortable Reports zur Verfügung Alarme können definiert werden, um bei aussergewöhnlichen Ereignissen schnell informiert zu werden Oracle Security Bootcamp: Auditing 36 Komponenten Folgende Komponenten werden benötigt: Audit Vault Agent Audit Vault Server zu überwachende zu überwachende Datenbank Datenbank Source DBAUD Collector OSAUD Collector REDO Collector Data Collection Warehouse Reports Alerts Management Security MSSQL Collector Sybase Collector Reporting Alerts Management Oracle Security Bootcamp: Auditing 37 Copyright Trivadis AG Auditing 4-23

126 Audit Vault Agent Separat zu installierenden Software-Komponente Kann auf dem Audit Vault Server oder auf beliebigem anderen Server installiert werden Kann Datenbanken auf beliebigen (auch entfernten) Servern überwachen Sollen OS-Events überwacht werden, muss der Agent zwingend auf dem Host installiert sein, wo die Events anfallen Oracle empfiehlt, den Agent auf dem jeweiligen Datenbankhost zu installieren Agent sammelt Daten nahezu realtime Wenn Agent nicht auf gleicher Maschine wie DB, können Audit-Daten leichter manipuliert werden Oracle Security Bootcamp: Auditing 38 Source Logische Komponente, fasst die Zugangsdaten zu einer Datenbank zusammen Username/Passwort werden nicht in XML-Dateien abgelegt, sondern in einem "Secure External Password Store" Aus diesem ist es aber möglich, dass Datenbank-Passwort im Klartext zu extrahieren, wenn das Wallet-Passwort bekannt ist! mkstore -wrl $ORACLE_HOME/network/admin/avwallet/ \ -viewentry oracle.security.client.password1 Enter password: oracle.security.client.password1 = manager_1 Oracle Security Bootcamp: Auditing Copyright Trivadis AG

127 Collectors Sammeln effektiv die Daten 6 unterschiedliche Collectors: DBAUD Collector Sammelt Auditing-Events aus der Datenbank (Standard Auditing, Fine Grained Auditing) OSAUD Collector Sammelt Audit Events aus den Audit Files der Datenbank (z.b. SYS Operation) REDO Collector Sammelt per LogMiner DML- oder DDL-Änderungen direkt aus den Redo Logs (ab Oracle Database Version ) MSSQL Collector Sammelt Daten aus Microsoft SQL Servern (Version 2000 und 2005) SYBASE und DB/2 Collector Oracle Security Bootcamp: Auditing 40 Audit Vault Server Nimmt die Daten der Agents entgegen und legt diese im zentralen Warehouse ab Stellt Weboberfläche für Administration, Reporting und Alarmierung zur Verfügung Auf Warehouse kann auch durch andere Reporting-Tools (z.b. BO zugegriffen werden) Oracle Security Bootcamp: Auditing 41 Copyright Trivadis AG Auditing 4-25

128 Installation Installation von Audit Vault Server und Agents ist mit dem bekannten Oracle Universal Installer kein Problem Im Vorfeld sollte man sich aber Gedanken über die Aufgabenverteilung und -trennung ("Separation of duties") machen, da in der Datenbank vier zusätzliche Accounts angelegt werden können: Audit Vault Administrator Audit Vault Auditor Database Vault Owner Database Vault Account Manager Nur wenn dieses System verstanden und durchgesetzt wird, wird sichergestellt, dass nicht eine Person allein Auditdaten verändern kann! Oracle Security Bootcamp: Auditing 42 Konfiguration Wichtig während der gesamten Konfiguration ist, dass TNS_ADMIN nicht gesetzt ist Zu beachten ist ausserdem, dass die meisten Aufrufe aus dem OracleHome des Audit Vault Servers gemacht werden, aber einzelne auch aus dem Agent-Home Bei der Installation der Source wird auf der Zieldatenbank ein neuer User angelegt Dieser hat je nach Collector-Art DBA-Rechte (Redo) oder zumindest RESOURCE (DBAUD, OSAUD) Oracle Security Bootcamp: Auditing Copyright Trivadis AG

129 Auditdefinition (1) Standardmässig werden keine Auditereignisse von Audit Vault gesammelt Diese müssen pro Datenbank zuerst definiert werden Um die Arbeit etwas zu erleichtern, können die Auditdefinitionen einer Datenbank auf eine andere kopiert werden Im Managementinterface werden diese Informationen komfortabel verwaltet Oracle Security Bootcamp: Auditing 44 Auditdefinition (2) Zuerst müssen die aktuellen Definitionen empfangen werden: Oracle Security Bootcamp: Auditing 45 Copyright Trivadis AG Auditing 4-27

130 Auditdefinition (3) Danach werden die zu überwachenden Ereignisse innerhalb Audit Vault definiert: Oracle Security Bootcamp: Auditing 46 Auditdefinition (4) Diese sind dann noch nicht "in use" Und müssen erst appliziert (exportiert oder provisioniert) werden Oracle Security Bootcamp: Auditing Copyright Trivadis AG

131 Auditdefinition (5) Audit Vault und Datenbank sind synchronisiert: Oracle Security Bootcamp: Auditing 48 Auswertungen (1) Auf der Homepage von Audit Vault steht eine Übersicht zur Verfügung: Von hier oder über die Report-Page kann beliebig in die Tiefe verzweigt werden Oracle Security Bootcamp: Auditing 49 Copyright Trivadis AG Auditing 4-29

132 Auswertungen (2) Es stehen diverse vordefinierte Reports zu Verfügung: Oracle Security Bootcamp: Auditing 50 Auswertungen (3) Diese können dann nach diversen Kriterien eingeschränkt werden: Oracle Security Bootcamp: Auditing Copyright Trivadis AG

Neue Security Features mit Oracle 11g

Neue Security Features mit Oracle 11g Neue Security Features mit Oracle 11g Sven Vetter Technology Manager Principal Consultant, Partner DOAG SIG Security Stuttgart, 23.09.2008 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 9 Benutzer und Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 11 Seite 1 von 11 Agenda GridAgenda Computing 1 2 3 ta 4 5 Ändern

Mehr

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen?

Oracle und.net sind ein populäres Gespann. Doch wie lassen sich Oracle Features mit.net nutzen? Betrifft Autor Oracle und.net im n-tier Umfeld Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (April 2003) Quelle Aus unserer Projekterfahrung Einführung Oracle und.net sind ein populäres

Mehr

Einleitung. Enterprise Benutzer

Einleitung. Enterprise Benutzer Betrifft Zentrale Benutzerverwaltung Art der Info Technische Background Info (Februar 2003) Autor Sven Vetter (sven.vetter@trivadis.com) Quelle Aus unserer Schulungs- und Beratungstätigkeit Einleitung

Mehr

... Rollen verwalten

... Rollen verwalten 19... Rollen verwalten Lektion 19: Rollen verwalten Ziele Ziele Nach dieser Lektion sollten Sie Folgendes können: Rollen anlegen und ändern Verfügbarkeit von Rollen steuern Rollen löschen Vordefinierte

Mehr

Oracle Audit Vault. Sven Vetter Principal Consultant, Partner Sven.Vetter@trivadis.com. DOAG, Stuttgart, Jan. 2008

Oracle Audit Vault. Sven Vetter Principal Consultant, Partner Sven.Vetter@trivadis.com. DOAG, Stuttgart, Jan. 2008 Oracle Audit Vault Sven Vetter Principal Consultant, Partner Sven.Vetter@trivadis.com DOAG, Stuttgart, Jan. 2008 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München

Mehr

Neue Security Features mit Oracle 11g

Neue Security Features mit Oracle 11g Neue Security Features mit Oracle 11g Sven Vetter Technology Manager Principal Consultant, Partner DOAG Regio München, 09.12.2009 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br.

Mehr

Wie sicher ist die Datenbank vorm Administrator?

Wie sicher ist die Datenbank vorm Administrator? Wie sicher ist die Datenbank vorm Administrator? Nürnberg, 19.11.2009 Dr. Frank Haney Inhalt Sicherheit wovor? Oracle-Sicherheits-Features im Überblick Transparent Data Encryption Auditing Oracle Database

Mehr

Oracle Security. Seminarunterlage. Version 12.03 vom

Oracle Security. Seminarunterlage. Version 12.03 vom Seminarunterlage Version: 12.03 Version 12.03 vom 6. März 2014 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Oracle Anti-Hacking. Red Database Security GmbH IT-Verlag München 15.04.2008 Matthias Glock. Red-Database-Security GmbH

Oracle Anti-Hacking. Red Database Security GmbH IT-Verlag München 15.04.2008 Matthias Glock. Red-Database-Security GmbH Oracle Anti-Hacking Red Database Security GmbH IT-Verlag München 15.04.2008 Matthias Glock Matthias Glock, 15. April 2008 V1.01 1 Agenda 1. Einführung und Beispiele 2. TOP - Sicherheitsprobleme 3. Härten

Mehr

Sicherheit Konzepte für die Datenbanksicherheit. TOAD User Konferenz 2008 Dr. Günter Unbescheid Database Consult GmbH

Sicherheit Konzepte für die Datenbanksicherheit. TOAD User Konferenz 2008 Dr. Günter Unbescheid Database Consult GmbH Konzepte für die Datenbanksicherheit TOAD User Konferenz 2008 Dr. Günter Unbescheid Database Consult GmbH Besinnliches... Cryptography is a branch of mathematics,...(it) is perfect. Security,... involves

Mehr

Oracle Database Security: Wie viel darf es denn sein?

Oracle Database Security: Wie viel darf es denn sein? Oracle Database Security: Wie viel darf es denn sein? Oracle Database Security Seminar Stefan Oehrli Senior Consultant Discipline Manager Trivadis AG 08 / 09 Februar 2012, Düsseldorf + Berlin BASEL BERN

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

DB2 Version 10 Kapitel IT-Sicherheit

DB2 Version 10 Kapitel IT-Sicherheit (*) IBM DB2 for z/os DB2 Version 10 Kapitel IT-Sicherheit (06_DB2V10_itsicherheit.pptx) (*) ist eingetragenes Warenzeichen der IBM International Business Machines Inc. 1 DB2 Version 10 IT Sicherheit DB2

Mehr

Safexpert Oracle Datenbank Konnektor. Stand: 02.01.2012. IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8

Safexpert Oracle Datenbank Konnektor. Stand: 02.01.2012. IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8 Safexpert Oracle Datenbank Konnektor Stand: 02.01.2012 IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8 Tel.: +43 (0) 5677 5353 0 E-Mail: office@ibf.at 1 Kurzüberblick über

Mehr

Audit Management mit DBMS_AUDIT_MGMT Oehrli Stefan. Senior Consultant. 29. September 2010

Audit Management mit DBMS_AUDIT_MGMT Oehrli Stefan. Senior Consultant. 29. September 2010 Audit Management mit DBMS_AUDIT_MGMT Oehrli Stefan. Senior Consultant. 29. September 2010 Mit Oracle 11g R2 führte Oracle im Sicherheitsbereich das neue PLSQL Package DBMS_AUDIT_MGMT ein. Wie man aus dem

Mehr

Oracle Database Vault, damit der DBA den Jahresabschluss nicht vor dem CEO kennt Häfeli, Konrad. Principal Consultant. 30.05.2007

Oracle Database Vault, damit der DBA den Jahresabschluss nicht vor dem CEO kennt Häfeli, Konrad. Principal Consultant. 30.05.2007 Oracle Database Vault, damit der DBA den Jahresabschluss nicht vor dem CEO kennt Häfeli, Konrad. Principal Consultant. 30.05.2007 Die Enterprise Edition von Oracle stellt mehrere zum Teil kostenpflichtige

Mehr

Oracle Datenbankadministration Grundlagen

Oracle Datenbankadministration Grundlagen Oracle Datenbankadministration Grundlagen Seminarunterlage Version: 12.02 Version 12.02 vom 14. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Oracle Warehousebuilder. Version 9.2.0.2.8 In Version 9.2er Umgebung

Oracle Warehousebuilder. Version 9.2.0.2.8 In Version 9.2er Umgebung Oracle Warehousebuilder Version 9.2.0.2.8 In Version 9.2er Umgebung Themenüberblick Architektur Vorbereitung Ablauf und Details Anmerkungen / Probleme Architektur GEBIS (Source) Datenfluss

Mehr

Oracle Sicherheit. Alexander Kornbrust 18-Oktober-2005. Red-Database-Security GmbH. Alexander Kornbrust, 18-Okt-2005 V1.02 1

Oracle Sicherheit. Alexander Kornbrust 18-Oktober-2005. Red-Database-Security GmbH. Alexander Kornbrust, 18-Okt-2005 V1.02 1 Oracle Sicherheit Alexander Kornbrust 18-Oktober-2005 Alexander Kornbrust, 18-Okt-2005 V1.02 1 Agenda 1. Einführung 2. TOP-5 Sicherheitsprobleme 3. Neue Trends Oracle Rootkits Oracle Würmer 4. Demonstration

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

KeePass. 19.01.2010 10:15-10:45 Uhr. Birgit Gersbeck-Schierholz, IT-Sicherheit, RRZN

KeePass. 19.01.2010 10:15-10:45 Uhr. Birgit Gersbeck-Schierholz, IT-Sicherheit, RRZN KeePass the free, open source, light-weight and easy-to-use password manager 19.01.2010 10:15-10:45 Uhr Birgit Gersbeck-Schierholz, IT-Sicherheit, RRZN Agenda Einführung Versionen Features Handhabung Mobile

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 10 Oracle Enterprise Manager (OEM) OEM page Timo Meyer von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 19 Seite 1 von 19 1 Oracle Enterprise Manager page

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 4. Zugriffskontrolle AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Einführung Architektur

Mehr

Einleitung. SPFILE und INIT.ORA. Umgang mit SPFILE und INIT.ORA. Petra Knöbl (petra.knoebel@trivadis.com)

Einleitung. SPFILE und INIT.ORA. Umgang mit SPFILE und INIT.ORA. Petra Knöbl (petra.knoebel@trivadis.com) Betrifft Autor Umgang mit SPFILE und INIT.ORA Petra Knöbl (petra.knoebel@trivadis.com) Art der Info Technische Background Info (März 2002) Quelle Aus dem NF9i-Kurs und NF9i-Techno-Circle der Trivadis Einleitung

Mehr

Martin Wunderli (martin.wunderli@trivadis.com)

Martin Wunderli (martin.wunderli@trivadis.com) Betrifft Standby Aber logisch! Art der Info Lösungskonzept (Januar 2003) Autor Quelle Martin Wunderli (martin.wunderli@trivadis.com) Beratungstätigkeit Schlüsselworte Data Guard, Logische Standby Datenbank

Mehr

Oracle Multitenant Verwaltung von Pluggable Databases Handling und Besonderheiten

Oracle Multitenant Verwaltung von Pluggable Databases Handling und Besonderheiten Oracle Multitenant Verwaltung von Pluggable Databases Handling und Besonderheiten Ralf Lange Oracle Deutschland B.V. & Co KG Besonderheiten und Eigenschaften von Oracle Multitenant Dateien in der CDB Namespaces

Mehr

Architektur / Komponenten ASO SSL. sqlnet.ora sqlnet.ora

Architektur / Komponenten ASO SSL. sqlnet.ora sqlnet.ora Betrifft: Oracle NET - SSL Test and orapki is your friend Autor: Peter Hulm Art der Info: Technische Background Info (Juli 2005) Quelle Aus unserer Schulungs- und Beratungstätigkeit Integritätsgeschützte

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Windows Server 2012 R2

Windows Server 2012 R2 Windows Server 2012 R2 Eine Übersicht Raúl B. Heiduk (rh@pobox.com) www.digicomp.ch 1 Inhalt der Präsentation Die wichtigsten Neuerungen Active Directory PowerShell 4.0 Hyper-V Demos Fragen und Antworten

Mehr

O-BIEE Einführung mit Beispielen aus der Praxis

O-BIEE Einführung mit Beispielen aus der Praxis O-BIEE Einführung mit Beispielen aus der Praxis Stefan Hess Business Intelligence Trivadis GmbH, Stuttgart 2. Dezember 2008 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg

Mehr

Knottenwäldchen Software

Knottenwäldchen Software Knottenwäldchen Software Installationsanleitung für die netzbasierte Lösung Knottenwäldchen Software März.2011 Knottenwäldchen Software Seite 2 1 Inhalt 1 Inhalt... 2 2 Übersicht... 3 3 Installation...

Mehr

Oracle Rootkits & Oracle Würmer - neue Bedrohungen für Datenbanken? Alexander Kornbrust 27-September-2005. Red-Database-Security GmbH

Oracle Rootkits & Oracle Würmer - neue Bedrohungen für Datenbanken? Alexander Kornbrust 27-September-2005. Red-Database-Security GmbH Oracle Rootkits & Oracle Würmer - neue Bedrohungen für Datenbanken? Alexander Kornbrust 27-September-2005 Alexander Kornbrust, 27-Sep-2005 V1.01 1 Agenda 1. Einführung 2. OS Rootkits 3. Oracle Rootkits

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Sicherheit von Webapplikationen Sichere Web-Anwendungen Sicherheit von Webapplikationen Sichere Web-Anwendungen Daniel Szameitat Agenda 2 Web Technologien l HTTP(Hypertext Transfer Protocol): zustandsloses Protokoll über TCP auf Port 80 HTTPS Verschlüsselt

Mehr

07/2014 André Fritsche

07/2014 André Fritsche 07/2014 André Fritsche Seite 1 von 33 Gestern ging es Heute nicht mehr? Wer, hat was, wann und wo geändert, gelöscht? Was machen die Administratoren? Wer greift auf welche Daten und Systeme zu? Seite 2

Mehr

Webapplikations-Sicherheit: Erfahrungen aus der Praxis. Stefan Hölzner, Jan Kästle 26.01.2010

Webapplikations-Sicherheit: Erfahrungen aus der Praxis. Stefan Hölzner, Jan Kästle 26.01.2010 Webapplikations-Sicherheit: Erfahrungen aus der Praxis Stefan Hölzner, Jan Kästle 26.01.2010 Agenda Schwachstellen: die Ursachen Angriffstechniken aus der Praxis root-access in 20 Schritten 2 Schwachstellen:

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Configuration Manager Hardware Inventory Erweiterungen. 22.05.2014 trueit TechEvent 2014 1

Configuration Manager Hardware Inventory Erweiterungen. 22.05.2014 trueit TechEvent 2014 1 Configuration Manager Hardware Inventory Erweiterungen It s all about WMI 22.05.2014 trueit TechEvent 2014 1 Agenda Grundlagen Inventory Arten Welche Daten können inventarisiert werden Anpassungen an Default

Mehr

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung Inhaltsverzeichnis Pervasive.SQL ODBC Treiber ab ABACUS 2006.20er-Version Installationsanleitung Mai 2013 / CL 1 Serverinstallation... 1 2 Clientinstallation... 8 WICHTIG Alle untenstehenden Schritte müssen

Mehr

SSH-Zugang zu Datenbanken beim DIMDI

SSH-Zugang zu Datenbanken beim DIMDI SSH-Zugang zu Datenbanken beim DIMDI Ab November 2013 entsprechen wir dem Wunsch vieler Nutzer nach mehr Sicherheit bei der Recherche. Dazu ermöglichen wir Ihnen eine bessere Alternative zum bisherigen

Mehr

How to install freesshd

How to install freesshd Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem

Mehr

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL . Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit

Mehr

Installationsanleitung für DoRIS unter Linux Inhaltsverzeichnis

Installationsanleitung für DoRIS unter Linux Inhaltsverzeichnis Installationsanleitung für DoRIS unter Linux Seite 1 Installationsanleitung für DoRIS unter Linux Inhaltsverzeichnis Installationsanleitung für DoRIS unter Linux... 1 Vorbemerkungen... 1 Benötigte Komponenten

Mehr

Datenbank-gestützte Authentifizierung und Autorisierung von Web-Applikationen. Dr. Günter Unbescheid Database Consult GmbH - Jachenau

Datenbank-gestützte Authentifizierung und Autorisierung von Web-Applikationen. Dr. Günter Unbescheid Database Consult GmbH - Jachenau Datenbank-gestützte Authentifizierung und Autorisierung von Web-Applikationen Dr. Günter Unbescheid Database Consult GmbH - Jachenau Database Consult GmbH Gegründet 1996 Kompetenzen im Umfeld von ORACLE-basierten

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle Application Server 10g R3: Administration Beschreibung: Oracle Application Server 10g Release 3 (10.1.3.1.0) bietet eine neue

Mehr

Kuriositäten in der Oracle-Datenbank

Kuriositäten in der Oracle-Datenbank Kuriositäten in der Oracle-Datenbank 19. Deutsche ORACLE-Anwenderkonferenz Do. 16.11., 14.00 Uhr, Variohalle 1 Dr. Peter Alteheld, Systemberater MT AG, Bereich Solutions Development, FB Plattform Services

Mehr

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise A-Plan 2010 SQL Hinweise zur SQL-Version von A-Plan Copyright Copyright 1996-2010 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf

Mehr

Howto. Konfiguration eines Adobe Document Services

Howto. Konfiguration eines Adobe Document Services Howto Konfiguration eines Adobe Document Services (ADS) Inhaltsverzeichnis: 1 SYSTEMUMGEBUNG... 3 2 TECHNISCHE VERBINDUNGEN ZWISCHEN DEN SYSTEMEN... 3 2.1 PDF BASIERENDE FORMULARE IN DER ABAP UMGEBUNG...

Mehr

Hinweise zu A-Plan 2009 SQL

Hinweise zu A-Plan 2009 SQL Hinweise zu A-Plan 2009 SQL Für Microsoft Windows Copyright Copyright 2008 BRainTool Software GmbH Inhalt INHALT 2 EINLEITUNG 3 WAS IST A-PLAN 2009 SQL? 3 WANN SOLLTE A-PLAN 2009 SQL EINGESETZT WERDEN?

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Konfigurationsbeispiel USG & ZyWALL

Konfigurationsbeispiel USG & ZyWALL ZyXEL OTP (One Time Password) mit IPSec-VPN Konfigurationsbeispiel USG & ZyWALL Die Anleitung beschreibt, wie man den ZyXEL OTP Authentication Radius Server zusammen mit einer ZyWALL oder einer USG-Firewall

Mehr

Handbuch für Mac OS X 1.3

Handbuch für Mac OS X 1.3 Handbuch für Mac OS X 1.3 Inhaltsverzeichnis 1. Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 4 2. Installation... 5 2.1 Installation von Boxcryptor Classic... 5 2.2

Mehr

TimePunch SQL Server Datenbank Setup

TimePunch SQL Server Datenbank Setup TimePunch TimePunch SQL Server Datenbank Setup Benutzerhandbuch 26.11.2013 TimePunch KG, Wormser Str. 37, 68642 Bürstadt Dokumenten Information: Dokumenten-Name Benutzerhandbuch, TimePunch SQL Server Datenbank

Mehr

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite Zusammenfassung: Alle Oracle Forms Anwendungen sind per Default durch SQL Injection angreifbar. Oracle Applications >=11.5.9 ist davon nicht betroffen, da hier standardmäßig der Wert FORMSxx_RESTRICT_ENTER_QUERY

Mehr

Datenbanken und Oracle, Teil 2

Datenbanken und Oracle, Teil 2 Datenbanken und Oracle, Teil 2 Mathias Weyland Linux User Group Switzerland 29. Juni 2007 SQL*Plus CHAR/VARCHAR2 Dokumentation Teil I Nachträge 1 SQL*Plus 2 CHAR/VARCHAR2 3 Dokumentation SQL*Plus SQL*Plus

Mehr

ESecure Vault Die verschlüsselte CloudFESTplatte

ESecure Vault Die verschlüsselte CloudFESTplatte Sie möchten von überall aus auf Ihre Daten zugreifen, aber niemand anderes soll Ihre Daten einsehen können? Mit dem Secure Vault von Evolution Hosting stellen wir Ihnen ein sicheres System vor. Sie müssen

Mehr

Oracle Unified Auditing Migration der Audit-Konfiguration Stefan Oehrli

Oracle Unified Auditing Migration der Audit-Konfiguration Stefan Oehrli Oracle Unified Auditing Migration der Audit-Konfiguration Stefan Oehrli BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH Unser Unternehmen.

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

3. Architektur eines DBS (Oracle)

3. Architektur eines DBS (Oracle) 3. Architektur eines DBS (Oracle) aus Sicht des Datenbank Server Rechners Connectivity Komponente(n) des DBS (z.b. Oracle Listener) Installation ORACLE_HOME Instanz ORACLE_SID Datenbank Oracle: 1 (aktive)

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Übung: Data Warehousing und Data Mining

Übung: Data Warehousing und Data Mining Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters

Mehr

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning.

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning. Kurs Oracle 9i Performance Tuning Teil 7 UNDO-Management Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 23 Seite 1 von 23 1. 2. Nutzung des Rollback Segments 3. 4. 5. Größe von UNDO- TBS berechnen 6.

Mehr

KOGIS Checkservice Benutzerhandbuch

KOGIS Checkservice Benutzerhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 KOGIS Checkservice Benutzerhandbuch Zusammenfassung Diese Dokumentation beschreibt die Bedienung des KOGIS Checkservice. 4.2.2015

Mehr

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr. Installation und Konfiguration Version 1.4 Stand 21.11.2013 TimeMachine Dokument: install.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor

Mehr

5 Sicherheit und Zugriff auf SQL Server 2008 R2

5 Sicherheit und Zugriff auf SQL Server 2008 R2 5 Sicherheit und Zugriff auf SQL Server 2008 R2 5.1 Grundkonzept Das Sicherheitskonzept von SQL Server 2008 R2 ist dreistufig aufgebaut: Betriebssystem-Ebene: Zunächst ist eine Anmeldung am Betriebssystem

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

Oracle 12c Security Features Datenbank Security im Überblick Stefan Oehrli

Oracle 12c Security Features Datenbank Security im Überblick Stefan Oehrli Oracle 12c Security Features Datenbank Security im Überblick Stefan Oehrli BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH Unser

Mehr

SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH

SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH Copyright 1997 2010 Schäf Sytemtechnik GmbH Alle Rechte vorbehalten. Dieses Handbuch darf nur nach vorheriger schriftlicher Zustimmung der Firma Schäf Systemtechnik

Mehr

Archive / Backup System für OpenVMS

Archive / Backup System für OpenVMS Archive / Backup System für OpenVMS DECUS Symposium 2002 Bonn Vortrag-Nr. 3C04 Günther Fröhlin Compaq Computer Corporation Colorado Springs, USA 1 Highlights V4.0 Auslieferung Januar 2002 Hauptversion

Mehr

Best of Oracle Security 2006

Best of Oracle Security 2006 Best of Oracle Security 2006 Alexander Kornbrust 26-Oct-2006 Red-database-security, Alexander Kornbrust, 26-10-2006 1.01 1 Inhaltsangabe Einführung Oracle CPU Januar 2006 0day Mod_plsql Oracle E-Business-Suite

Mehr

TOP 10 Monitoring SQL Befehle

TOP 10 Monitoring SQL Befehle TOP 10 Monitoring SQL Befehle Autor(en): Marco Patzwahl, MuniQSoft GmbH Viel Kunden haben schon mehr als 100 Datenbanken zu betreuen. Da kommt man ohne automatisierte Überwachungsskripte nicht sehr weit.

Mehr

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Inbetriebnahme des Oracle-Einschubs für DBF, DBB und DBP Markus Rohner

Inbetriebnahme des Oracle-Einschubs für DBF, DBB und DBP Markus Rohner <rom@zhwin.ch> Inbetriebnahme des Oracle-Einschubs für DBF, DBB und DBP Markus Rohner Version: 1.0.2 Datum: 10.3.2004 08:28 1 Einleitung 1.1 Über diese Anleitung Diese Anleitung ist als Hilfe bei der Inbetriebnahme

Mehr

Darüber hinaus wird das Training dazu beitragen, das Verständnis für die neuen Möglichkeiten zu erlangen.

Darüber hinaus wird das Training dazu beitragen, das Verständnis für die neuen Möglichkeiten zu erlangen. Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle 11g: New Features für Administratoren Beschreibung: Der Kurs über fünf Tage gibt Ihnen die Möglichkeit die Praxis mit der neuen

Mehr

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs Betrifft Art der Info Quelle WHERE Klausel Generierung mit.net und Oracle Technical Info Aus unserer Projekterfahrung und Architektur-Kurs Where ist the WHERE? Der Artikel untersucht die Möglichkeiten,

Mehr

WIE MELDEN SIE SICH AN SAP AN? SAP NETWEAVER SINGLE SIGN-ON SAP SECURITY UND SICHERES SINGLE SIGN-ON MARKUS NÜSSELER-POLKE

WIE MELDEN SIE SICH AN SAP AN? SAP NETWEAVER SINGLE SIGN-ON SAP SECURITY UND SICHERES SINGLE SIGN-ON MARKUS NÜSSELER-POLKE MARKUS NÜSSELER-POLKE SAP NETWEAVER SINGLE SIGN-ON SAP SECURITY UND SICHERES SINGLE SIGN-ON FÜR SAP UND NON-SAP UMGEBUNGEN WIE MELDEN SIE SICH AN SAP AN? 1 Alltägliche Situation beim Kunden! Nüsseler Pa$$w0rd

Mehr

Tutorial Grundlagen der Softwareverteilung

Tutorial Grundlagen der Softwareverteilung Tutorial Grundlagen der Softwareverteilung Inhaltsverzeichnis 1. Einführung... 3 2. Clientsysteme einrichten... 3 2.1 Den SDI Agent verteilen... 3 2.2 Grundeinstellungen festlegen... 4 3. Softwareverteiler...

Mehr

Themen des Kapitels. 2 Oracle Features und Architektur

Themen des Kapitels. 2 Oracle Features und Architektur 2 Oracle Features und Architektur Einführung in die Eigenschaften und die Funktionsweise von Oracle. 2.1 Übersicht Themen des Kapitels - Oracle Features und Architektur Themen des Kapitels Oracle Produkte

Mehr

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation

Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com. z/os Explorer. 2014 IBM Corporation Isabel Arnold CICS Technical Sales Germany Isabel.arnold@de.ibm.com z/os Explorer Agenda Introduction and Background Why do you want z/os Explorer? What does z/os Explorer do? z/os Resource Management

Mehr

Dynamische Web-Anwendung

Dynamische Web-Anwendung Dynamische Web-Anwendung Christiane Lacmago Seminar Betriebssysteme und Sicherheit Universität Dortmund WS 02/03 Gliederung Einleitung Definition und Erläuterung Probleme der Sicherheit Ziele des Computersysteme

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Begrüssung VMware Partner Exchange Update VMware Virtual SAN GA and use cases SimpliVity Converged Infrastructure Kaffeepause

Begrüssung VMware Partner Exchange Update VMware Virtual SAN GA and use cases SimpliVity Converged Infrastructure Kaffeepause we do IT better 08:30 Begrüssung VMware Partner Exchange Update VMware Virtual SAN GA and use cases SimpliVity Converged Infrastructure 10:05 10:30 Kaffeepause AirWatch Mobile Device Management VMware

Mehr

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15

Inhaltsverzeichnis. Vorwort... 13. Einleitung... 15 Vorwort.................................................. 13 Einleitung................................................ 15 1 Aufwand versus Sicherheit was ist angemessen?.............. 17 1.1 Warum ist

Mehr

AixVerein 2.0 - Anleitung zur Einrichtung des

AixVerein 2.0 - Anleitung zur Einrichtung des Seite 1/6 AixVerein 2.0 - Anleitung zur Einrichtung des Datenbank-Servers und der Dokumentenablage Bei der vorliegenden Anwendung handelt es sich um eine Client-Server-Anwendung, d.h. die Software wird

Mehr

Installation unter LINUX mit PostgreSQL DB

Installation unter LINUX mit PostgreSQL DB Installation unter LINUX mit PostgreSQL DB Inhaltsverzeichnis 1. Installation und Konfiguration der PostgreSQL Datenbank... 3 2. Installation von Intrexx Xtreme 4.5... 5 Schreibkonventionen In diesem Handbuch

Mehr

Sicherheitsaspekte unter Windows 2000

Sicherheitsaspekte unter Windows 2000 Sicherheitsaspekte unter Windows 2000 Margarete Kudak Sascha Wiebesiek 1 Inhalt 1. Sicherheit 1.1 Definition von Sicherheit 1.2 C2 - Sicherheitsnorm 1.3 Active Directory 2. Sicherheitslücken 3. Verschlüsselung

Mehr

- 1 - WAMP: Apache MySql PHP PhpMyAdmin Installation W2K. Voraussetzung zum Installieren: Entpacker wie Winzip oderwinrar muss vorhanden sein!

- 1 - WAMP: Apache MySql PHP PhpMyAdmin Installation W2K. Voraussetzung zum Installieren: Entpacker wie Winzip oderwinrar muss vorhanden sein! Voraussetzung zum Installieren: Entpacker wie Winzip oderwinrar muss vorhanden sein! 1. Zunächst einen Ordner Install direkt auf C:\ anlegen. In diesen Ordner die Dateien zum Installieren hineinkopieren:

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001 V3.05.001 MVB3 Admin-Dokumentation Einrichten eines Servers für MVB3 ab Version 3.5 Inhalt Organisatorische Voraussetzungen... 1 Technische Voraussetzungen... 1 Konfiguration des Servers... 1 1. Komponenten

Mehr

Quark Publishing Platform 10.5.1 Upgrade-Pfade

Quark Publishing Platform 10.5.1 Upgrade-Pfade Quark Publishing Platform 10.5.1 Upgrade-Pfade INHALTSVERZEICHNIS Inhaltsverzeichnis Quark Publishing Platform 10.5.1 Upgrade-Pfade...4 Upgrade von QPS 8.1.x auf Quark Publishing Platform 10.5.1...5 Upgrade

Mehr

PostgreSQL auf Debian System

PostgreSQL auf Debian System PostgreSQL auf Debian System Inhaltsverzeichnis 1. Installation 1.1 Installation 1.2 Mit postgres anmelden 2. Benutzer anlegen 3. Datenbank anlegen 3.1 Optionen 3.2 Datenbank mydatabase anlegen 4. Datenbank

Mehr