Tema: Auditoria de Base de datos. Parte I



Documentos relacionados
Tema: Auditoria de Base de datos. Objetivo Especifico

Auditoría en Oracle Sistemas Gestores de Base de Datos Juan Javier Rodríguez Guisado

Administración de Sistemas Gestores de Bases de Datos

Administración Básica de Oracle9i

Usuarios y Seguridad

Tema: USO DE COMBINACIONES EXTERNAS.

CONSULTAS BASICAS EN SQL SERVER

Seguridad y Auditoría de Bases de Datos Oracle

Tema: Configuración de red AD-HOC

ESTUDIO E IMPLANTACIÓN DE AUDIT VAULT

Oracle 12c DISEÑO Y PROGRAMACIÓN

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002

Toda base de datos relacional se basa en dos objetos

Base de datos relacional

Tema: Desarrollo de aplicaciones con Visual Studio.net Parte II

Consultas con combinaciones

Universidad Nacional de Costa Rica Administración de Bases de Datos

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.

SQL (Structured Query Language)

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Auditoria Oracle 11g 1. Auditoria Oracle 11g. Francisco Bellido Rodríguez * 06/03/2011

Instituto Profesional DuocUC Escuela de Ingeniería Control File

Tema: Configuración de Access Point

Tema: PROCEDIMIENTOS ALMACENADOS.

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS;

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Escrito por Beatriz Hernández Jueves, 13 de Octubre de :47 - Actualizado Jueves, 13 de Octubre de :04

Tema: GESTIÓN DE SESIONES EN PHP.

1

Tema: SUBCONSULTAS Y CREACION DE VISTAS.

Oracle Database 10g: Taller de Administración I 1-2

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Bases de datos relacionales y el modelo entidad-relación

Manual Usuario cpanel

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

INSTITUTO TECNOLÓGICO SUPERIOR DE ESCÁRCEGA INGENIERÍA EN SISTEMAS COMPUTACIONALES MATERIA: TALLER DE BASE DE DATOS TRABAJO: PROFESOR:

Optimizar base de datos WordPress

GUIA DE LABORATORIO Nro. 4

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

MANUAL BÁSICO DEL LENGUAJE SQL

Componentes de una BD

Vistas en postgresql

T12 Vistas y tablas temporales

EL ENTORNO DE TRABAJO SQL ORACLE

Administración de Redes

Sub consultas avanzadas

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Tema: Uso de sentencias SQL

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

U.E JUAN DE VELASCO CREAR DATOS EN SQL

Utilización del programa de Orabench Versión para Migración. Describir los pasos para la utilización del programa Orabench de Oracle.

PROYECTO FINAL Manual de Configuración Organización: Juan Lomo

Seguridad de la Información Permisos. Sistemas de Bases de Datos II - ITS EMT - CETP

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

Presentaciones compartidas con Google Docs (tutorial)

1. DML. Las subconsultas

Ejercicios - Persistencia en Android: ficheros y SQLite

6 - Recuperar algunos registros (where)

E16 - Diseño de Sistemas de Bases de Datos Boletín 3

UNIVERSIDAD CATOLICA DE SANTIAGO DE GUAYAQUIL FACULTAD DE INGENIERIA TRABAJO DE GRADO

ANÁLISIS DE IMPACTO Y DESARROLLO DE BUENAS PRÁCTICAS DE AUDITORIA EN BASES DE DATOS ORACLE 11G

Operación Microsoft Access 97

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

III. ADMINISTRACIÓN DE ORACLE.

Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008

Tema: INSTALACIÓN DE SQL SERVER 2008.

5- Uso de sentencias avanzadas

Select table data Insert table data Update table data Delete table data Create table

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Instalación de la SOA Suite 11g Instalación de los requisitos previos 1. I nstalación de la JDK Nota: 2. I nstalación de la Base de Datos

Microsoft SQL Server 2005

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Manual de NetBeans y XAMPP

Configuracion Escritorio Remoto Windows 2003

Modelos y Bases de Datos

Práctica nº Mn-5.1 Mantenimiento de sistemas microinformáticos. Disco Duro.

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Backup & Recovery Oracle 9i

Tema: Creacion de una base de datos utilizando sintaxis Sql.

AUDITANDO EN LAS BASES DE DATOS

INCIDENCIAS ENTRE LOS SISTEMAS HIS, GSIR Y PACS.

Ejercicios: Administración de Bases de Datos en ORACLE

MANUALITO MS-SQL SERVER

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Instructivo para la sincronización de servidores Intellect

Tutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas

Manual de Reinstalación de base de datos AXTRAX NG

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

GUÍA BÁSICA USUARIO MOODLE 2.6

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

8 SQL SERVER 2008 RA-MA

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

3 Consultas y subconsultas

Transcripción:

1 Base de Datos II, Guía 8 Facultad: Escuela: Asignatura: Computación Ingeniería Base de Datos II Tema: Auditoria de Base de datos. Parte I Objetivo Especifico Que el estudiante: Aprenda a utilizar los diferentes mecanismos disponibles en ORACLE para auditar la base de datos y aprender como activar dicha auditoría. Introduccion Teorica Esta práctica está orientada a conocer y aprender como realizar un monitoreo selectivo de las acciones de los usuarios para ayudar en la investigación de usos maliciosos de la base de datos. El monitoreo puede realizarse a cuatro niveles distintos: Monitoreo Accesos: Es el monitoreo de todos los intentos fallidos y aciertos de conexión a la base de datos. Monitoreo de Acción: Es el monitoreo de sentencias SQL específicas sin atender concretamente a los objetos. Este tipo de monitoreo puede hacerse para todos los usuarios del sistema o se puede enfocar sólo a algunos usuarios seleccionados. Monitoreo de objetos: Es el monitoreo de los accesos a esquemas específicos sin considerar el usuario. Monitorea las sentencias permitidas por los privilegios. Para todos los tipos de monitoreo, ORACLE permite el monitoreo selectivo de sentencias ejecutadas con éxito, sentencias ejecutadas sin éxito o ambas. La información de las auditorías se almacena en el diccionario de datos, en la tabla SYS.AUD$ o en la pista de auditoría del sistema operativo (si lo permite). Lo anterior viene definido en el parámetro audit_trail. Posibles valores del parámetro audit_trail: none: desactiva la auditoría de la base de datos. os: activa la auditoría de la base de datos. Los sucesos auditados se escribirán en la pista de auditoría del sistema operativo, no se auditará en Oracle sino en el sistema operativo anfitrión. Esta opción funcionará dependiendo del sistema operativo. db: activa la auditoría y los datos se almacenarán en la taba SYS.AUD$ de Oracle. db, extended: activa la auditoría y los datos se almacenarán en la taba SYS.AUD$ de Oracle. Además se escribirán los valores correspondientes en las columnas SQLBIND y SQLTEXT de la tabla SYS.AUD$. xml: activa la auditoría de la base de datos, los sucesos será escritos en ficheros XML del sistema operativo. xml, extended: activa la auditoría de la base de datos, los sucesos será escritos en el formato XML del sistema operativo, además se incluirán los valores de SqlText y SqlBind

Base de Datos II, Guía 8 2 Existen varias vistas que se basan en la tabla SYS.AUD$ para mostrar distintos resultados, según la información que se quiera obtener: ALL_AUDIT_POLICIES ALL_AUDIT_POLICY_COLUMNS ALL_DEF_AUDIT_OPTS ALL_REPAUDIT_ATTRIBUTE ALL_REPAUDIT_COLUMN APEX_DEVELOPER_AUDIT_LOG DBA_AUDIT_EXISTS DBA_AUDIT_OBJECT DBA_AUDIT_POLICIES DBA_AUDIT_POLICY_COLUMNS DBA_AUDIT_SESSION DBA_AUDIT_STATEMENT DBA_AUDIT_TRAIL DBA_COMMON_AUDIT_TRAIL DBA_FGA_AUDIT_TRAIL DBA_OBJ_AUDIT_OPTS DBA_PRIV_AUDIT_OPTS DBA_REPAUDIT_ATTRIBUTE DBA_REPAUDIT_COLUMN DBA_STMT_AUDIT_OPTS GV_$XML_AUDIT_TRAIL KU$_AUDIT_DEFAULT_VIEW KU$_AUDIT_OBJ_BASE_VIEW KU$_AUDIT_OBJ_VIEW KU$_AUDIT_VIEW KU$_PROC_AUDIT_VIEW KU$_PROCDEPOBJ_AUDIT_VIEW KU$_PROCOBJ_AUDIT_VIEW KU$_10_1_AUDIT_VIEW MGMT$AUDIT_LOG MGMT$ESA_AUDIT_SYSTEM_REPORT SM$AUDIT_CONFIG USER_AUDIT_OBJECT USER_AUDIT_POLICIES USER_AUDIT_POLICY_COLUMNS USER_AUDIT_SESSION USER_AUDIT_STATEMENT USER_AUDIT_TRAIL USER_OBJ_AUDIT_OPTS USER_REPAUDIT_ATTRIBUTE USER_REPAUDIT_COLUMN V_$XML_AUDIT_TRAIL Funcionamiento comando audit El comando audit permite iniciar los tipos de auditoría que a continuación se detallan. Este comando puede funcionar aunque no esté activada la auditoría de la base de datos, pero no dejará constancia, para que funcione correctamente es necesario que la auditoría esté activada. Sintaxis: AUDIT { sql_statement_clause schema_object_clause NETWORK } [ BY { SESSION ACCESS } ] [ WHENEVER [ NOT ] SUCCESSFUL ] ; sql_statement_clause: activa la auditoría para una sentencia SQL concreta. schema_object_clause: activa la auditoría para un objeto concreto de la base de datos. WHENEVER SUCCESSFUL: activa la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que se completen con éxito. WHENEVER NOT SUCCESSFUL: activa la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que originen error. La sintaxis de este comando tiene muchas más opciones, disponibles en: http://download.oracle.com/docs/cd/b28359_01/server.111/b28286/statements_4007.htm#sqlr 01107. Funcionamiento comando noaudit La instrucción noaudit se utiliza para detener la actividad de auditoría que se había activado previamente con la instrucción audit. Esta instrucción no influye en el parámetro audit_trail. Sintaxis: NOAUDIT { sql_statement_clause schema_object_clause NETWORK} [ WHENEVER [ NOT ] SUCCESSFUL ] ; sql_statement_clause: detiene la auditoria de una sentencia SQL concreta. schema_object_clause: detiene la auditoría para un objeto concreto de la base de datos. WHENEVER SUCCESSFUL: detiene la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que se completen con éxito. WHENEVER NOT SUCCESSFUL: detiene la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que originen error.

3 Base de Datos II, Guía 8 La sintaxis de este comando tiene muchas más opciones, disponibles en: http://download.oracle.com/docs/cd/b28359_01/server.111/b28286/statements_9017.htm#sqlr F01607 Prerequisitos para poder ejecutar audit o noaudit Para activar la auditoría de las instrucciones SQL con el comando audit se necesita el privilegio de sistema AUDIT SYSTEM. El usuario que se desee pueda activar la auditoría de objetos de un esquema, tiene que ser el propietario del objeto o disponer del privilegio de sistema AUDIT ANY. Además, si el objeto que eligió para la auditoría se ubica en un directorio, incluso habiéndolo creado uno mismo, se necesita el privilegio de sistema AUDIT ANY.

Base de Datos II, Guía 8 4 Material y Equipo Computadora con Oracle 10G XE. Guía de Laboratorio. Procedimiento El desarrollo de esta práctica está orientado principalmente a la activación de la auditoria en una base de datos oracle. Lo primero que se debe hacer es comprobar si una instancia de Oracle tiene activada la auditoría y que la cuenta HR este activada (si HR esta desactivada, activarla para continuar con la practica). La activación de la auditoría en Oracle Database viene definida por el valor del parámetro: audit_trail. Para comprobar si la auditoría de la base de datos está activada ejecutaremos el siguiente comando SQL: select name, value from v$parameter where name like 'audit_trail' Para activar la auditoria ejecutaremos el siguiente comando: ALTER SYSTEM SET audit_trail = "DB" SCOPE=SPFILE; Para desactivar la auditoría ejecutaremos el siguiente comando: ALTER SYSTEM SET audit_trail = "NONE" SCOPE=SPFILE; Nota: En Oracle 9i la auditoría viene desactivada por defecto, el valor del parámetro "audit_trail" está a "NONE". En Oracle 11g la auditoría viene activada por defecto, el valor del parámetro "audit_trail" está a "DB". Cuando se realiza un cambio en el archivo spfile, es necesario bajar la base de datos. LOS COMANDOS AUDIT Y NOAUDIT Auditorías de inicio de sesión: cada intento de conexión con la base de datos por parte de un usuario (bien una aplicación externa o las aplicaciones del propio Oracle) puede ser auditado. El comando para iniciar la auditoría de los intentos de inicio de sesión es: audit session; El comando anterior auditará tanto los intentos fallidos como los aciertos. Realizaremos un par de pruebas para verificar que la auditoria funciona, nos conectaremos con el usuario HR con dos intentos fallidos y con un acierto, luego ejecutaremos la siguiente con consulta: select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, DECODE (Returncode, '0', 'Conectado', '1005', 'Fallo - Null', '1017', 'Fallo', '28000','Cuenta bloqueada',

5 Base de Datos II, Guía 8 Returncode) Tipo_Suceso, TO_CHAR(Timestamp, 'DD-MM-YY HH24:MI:SS') Hora_Inicio_Sesion, TO_CHAR(Logoff_Time, 'DD-MM-YY HH24:MI:SS') Hora_Fin_Sesion from DBA_AUDIT_SESSION; Para auditar sólo los intentos fallidos utilizaremos el comando: audit session whenever not successful; Para auditar sólo las conexiones correctas utilizaremos el comando: audit session whenever successful; Auditorías de acción: cualquier acción que afecte a un objeto de la base de datos (tabla, enlace de base de datos, espacio de tablas, sinónimo, segmento de anulación, usuario, índice, etc.) puede auditarse. Las posibles acciones que pueden auditarse (create, alter, drop) sobre estos objetos pueden agruparse para simplificar la cantidad de esfuerzo administrativo necesario para determinar y mantener las opciones de configuración de la auditoría. Por ejemplo, para auditar todos los comandos que afectan a los roles puede emplearse el comando SQL: audit role; Este comando activará la auditoría de las acciones: create role, alter role, drop role y set role. También se puede ser más selectivo, por ejemplo, si queremos auditar a un usuario concreto cuando realiza la acción "update" ejecutaremos el siguiente comando: audit update table by nombre_usuario; De esta forma se activará la auditoría para el usuario "nombre_usuario" sólo cuando ejecute el comando "update" para cualquier tabla. Para el caso lo realizaremos con el usuario HR, crearemos un rol y se lo asignaremos, posteriormente haremos cambios sobre las tablas que hayamos colocado auditoria y realizaremos la siguiente consulta: select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, Owner Propietario_Objeto, Obj_Name Nombre_Objeto, Action_Name Accion, DECODE (Returncode, '0', 'Realizado', 'Returncode') Tipo_Suceso, TO_CHAR (Timestamp, 'DD-MM-YY HH24:MI:SS') Hora from DBA_AUDIT_OBJECT; Auditorías de objeto: además de las acciones a nivel de sistema sobre objetos, también es posible auditar las acciones de manipulación de datos sobre objetos. Se pueden auditar operaciones de select, insert, update y delete sobre tablas. Este tipo de auditoría es similar a la anterior de auditoría de acción, la única diferencia es que el comando "audit" incorpora un parámetro nuevo "by session" (el registro de auditoría se escribirá una única vez por sesión) o "by access" (el registro de auditoría se escribirá cada vez que se acceda al objeto auditado). Por ejemplo crearemos un usuario donde crearemos las tablas de la guía 7 y realizaremos las siguientes instrucciones. Para auditar los "insert" realizados sobre la tabla "TCO_EMPLEADOS" por acceso, el comando será audit insert on TCO_EMPLEADOS by access;

Base de Datos II, Guía 8 6 Para auditar todas las acciones realizadas en la tabla "TCO_ENC_PARTI" por sesión utilizaremos el siguiente comando: audit all on TCO_ENC_PARTI by session; Comentar acerca de la diferencia entre by acces y by session. Otro ejemplo, para auditar las eliminaciones de registros de la tabla " TCO_DET_PARTI ": audit delete TCO_DET_PARTI by access; Comando noaudit La instrucción noaudit debe tener la misma sintaxis que la instrucción audit que queramos detener. Por ejemplo, al usuario micarnet le aplicaremos la siguiente auditoria: audit session by micarnet; Auditará los inicios de sesión para el usuario de Oracle " micarnet ", tanto los fallidos como los correctos. Para desactivar esta auditoría ejecutaremos el comando: noaudit session by micarnet; Comentar que ocurre si ejecutamos este comando: audit session by micarnet; Que auditará los inicios de sesión para el usuario "micarnet". Y luego este otro: audit session; Que aditará los inicios de sesión para todos los usuarios. Comentar que ocurre si ejecutásemos ahora el comando: noaudit sesión;

7 Base de Datos II, Guía 8 Tarea Investigar todas las posibles acciones a auditar Investigar sobre el archivo spfile Fuentes de Consulta Oracle Database Security Guide http://www.monografias.com/trabajos908/oracle/oracle2.shtml http://download.oracle.com/docs/cd/b28359_01/network.111/b28531/guidelines.htm#bc GJJBAA http://download.oracle.com/docs/cd/b28359_01/network.111/b28531/auditing.htm#cegg CIAE

Alumno: Guía Docente: 8: Auditoria de Base de datos. Parte I Hoja de cotejo: 8 Base de Datos II, Guía Maquina GL: No: Fecha: 8 Del 20 30% al Conocimiento deficiente fundamentos de los Conocimiento EVALUACION teóricos explicación incompleta de ylos Conocimiento fundamentos completo % 1-4 5-7 8-10 Nota teóricos explicación de y fundamentos los clara CONOCIMIENT teóricos O Del 40% al 60% APLICACIÓN DEL Del CONOCIMIENT 15% O al No 30% proactiva. tiene actitud Actitud y no aplicables propuestas propositiva al Tiene contenido de la proactiva actitud y sus ACTITUD guía. propuestas concretas. son TOTAL100%