Tema: Auditoria de Base de datos. Objetivo Especifico



Documentos relacionados
Tema: Auditoria de Base de datos. Parte I

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

Seguridad y Auditoría de Bases de Datos Oracle

CONSULTAS BASICAS EN SQL SERVER

ESTUDIO E IMPLANTACIÓN DE AUDIT VAULT

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

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

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

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)

Oracle 12c DISEÑO Y PROGRAMACIÓN

Toda base de datos relacional se basa en dos objetos

Base de datos relacional

Consultas con combinaciones

Instituto Profesional DuocUC Escuela de Ingeniería Control File

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

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

SQL (Structured Query Language)

Componentes de una BD

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

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

GUIA DE LABORATORIO Nro. 4

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

1

U.E JUAN DE VELASCO CREAR DATOS EN SQL

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

Optimizar base de datos WordPress

Ejercicios - Persistencia en Android: ficheros y SQLite

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

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

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

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

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

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

MANUAL BÁSICO DEL LENGUAJE SQL

Vistas en postgresql

Sub consultas avanzadas

Manual Usuario cpanel

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

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

1. DML. Las subconsultas

6 - Recuperar algunos registros (where)

EL ENTORNO DE TRABAJO SQL ORACLE

Instructivo para la sincronización de servidores Intellect

T12 Vistas y tablas temporales

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

Tema: USO DE COMBINACIONES EXTERNAS.

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

5- Uso de sentencias avanzadas

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

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

Manual de Reinstalación de base de datos AXTRAX NG

Conectar Flash con Access usando MDM Zinc

Microsoft SQL Server 2005

Exportación de cuentas contables del programa Aspel Coi

Auditoría en Windows NT INTRODUCCIÓN AL WINDOWS NT

Tema 4. Manipulación de datos con SQL

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

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

AUDITANDO EN LAS BASES DE DATOS

Operación Microsoft Access 97

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

PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS

Ejercicios: Administración de Bases de Datos en ORACLE

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

TRABAJO GRUPAL TEMA: COMO CREAR BASE DE DATOS EN SQL

III. ADMINISTRACIÓN DE ORACLE.

Presentaciones compartidas con Google Docs (tutorial)

Escrito por Administrator Miércoles, 15 de Diciembre de :30 - Actualizado Domingo, 19 de Diciembre de :16

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.

sql*plus es un programa de linea de comandos de oracle que puede ejecutar comandos sql y pl/sql de forma interactiva o mediante un script.

8 SQL SERVER 2008 RA-MA

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

Descripción de la BBDD para las prácticas

Oracle Standby File Management

Formas de llevar a cabo un backup de una base de datos MySQL

12 Minería de Datos Reglas de asociación.

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Configuracion Escritorio Remoto Windows 2003

Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN X

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER

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

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

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

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

MANUALITO MS-SQL SERVER

Modelos y Bases de Datos

Backup & Recovery Oracle 9i

Tema: Configuración de red AD-HOC

Recuperación de instancias dañadas usando RMAN

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

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

Curso SQL Nivel Avanzado 1. Miguel Jurado García

CURSO DE SQL SERVER 2005

Transcripción:

Facultad: Ingeniería Escuela: Computación Asignatura: Base de Datos II Tema: Auditoria de Base de datos. 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 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

2 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. 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.

4 Material y Equipo Computadora con Oracle 11G. 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', 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

6 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; 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; Ejercicios - Crear un usuario con su número de carnet - Aplicar auditoria a las creación de tablas - Aplicar las auditorias vistas en la guía

Tarea Investigar todas las posibles acciones que pueden auditarse Investigar parque sirve los archivos spfile.ora e init.ora