auditoria extendida
Ingeniero de Sistemas
Especialista en Auditoría de Sistemas
Especialista en Administración de Empresas
Especialista en Estudios Pedagógicos
Especialista en Informática y Telemática
Magíster en Software Libre
yesidpachecocabana@yahoo.com
cel 3008041039
Auditoría extendida
Son las acciones o complementos que se deben dara la Auditoria
básica. Dándole un valor agregado o más detallado y un factor
de detección y aviso en tiempo real.
Primordial para la atención de incidentes y al análisis informático
forense.
Se basa en la implementación de Triggers
Trigger
Bloques de código que son implícitamente invocados cuando algo
sucede
Trigger
Apoyar todos los estándar ANSI
Comprobar, prevenir y evitarla entrada de mala información en
la base de datos
Modificar o anular sentencias INSERT, UPDATE, y DELETE
Controlar actividades de cambios de datos a lo largo de una
sesión
Auditar la información contenida en la tabla
Trigger
Implementando Triggers sobre los objetos
Ins, Upd, Del
Trigger
DBA
Database
Tabla o Vista
Capturando el valor pre y post y enviándolo un recipientealterno.
Trigger
Un insert tiene imagen post
Un update tiene imagen pre y post
Un delete tiene imagen pre
tabla Nomina
Modifica
Usuario
Tabla Auditoria
Registra
Trigger
Además de registrarse en un log-table, see puede enviar a:
Correo Celular
Beeper Otros medios
Tabla Auditoria
Modifica
Nomina
Registra
Usuario
Alerta
Usuario
Dueño Inf.
TriggerCREATE [OR REPLACE] TRIGGER
{BEFORE|AFTER} {DELETE|INSERT|UPDATE [OF col1,
col2, . . ., colN]
[OR {DELETE|INSERT|UPDATE [OF col1, col2, . . .,
colN]. . .]}
ON table
[REFERENCING OLD AS oldname, NEW as newname]
[FOR EACH ROW [WHEN (condition)]]
{ BEFORE | AFTER }
Tiempo: Tiene una acción en el tiempo, ellos pueden activarse antes o después de un
evento
{ INSERT | UPDATE | DELETE }Evento: Ellos pueden activarse durante la inserción, actualización o borrado
FOR EACH ROW
Granularidad: La cláusula FOR EACH ROW le dice al trigger que debe activarse a nivel
de fila, si no existe es a nivel de sentencia
Trigger
Condición
•
Expresa una condición que debe cumplirse en el momento de producirse el evento,
para que la acción sea ejecutada
WHEN alumno.apellido = ‘JUAN’ ORalumno.edad > 20
•
Se puede utilizar cualquier combinación de operadores lógicos (AND, OR, NOT) y
relacionales (< >= =18) then
mensaje := 'La cédula '||:new.cedula||' es mayor de edad';
ELSE
mensaje := 'La cédula '||:new.cedula||' es menor de edad';
END IF;
raise_application_error (-20001, mensaje);
END;
/
trigger_edad010.sql
trigger10
trigger_edad010.sql
Trigger DML – oracletrigger10
Trigger DML – oracle
trigger10
Trigger DML – oracle
CREATE TABLE edad_mensaje(
cedula VARCHAR2(10) PRIMARY KEY,
edad
NUMBER,
mensaje VARCHAR2(50));
---CREATE OR REPLACE TRIGGER edad AFTER insert ON edad
FOR EACH ROW
DECLARE
edad NUMBER;
mensaje VARCHAR2(100);
BEGIN
edad := (sysdate - :NEW.fecha)/365;
IF (edad >=18) then
mensaje := 'mayor de edad';
ELSEmensaje := 'menor de edad';
END IF;
INSERT INTO edad_mensaje VALUES(:new.cedula,edad,mensaje);
END;
/
trigger_edad020.sql
trigger10
trigger_edad020.sql
Trigger DML – oracle
trigger10
Trigger DML – oracle
conn system
drop user trigger10 cascade;
create user trigger10 identified by trigger10 default tablespace users;
grant connect,resource,unlimited tablespace to trigger10;connect trigger10/trigger10
creacion_trigger010.sql
system
trigger10
creacion_trigger010.sql
Trigger DML – oracle
DROP TABLE clase;
DROP TABLE profesor;
DROP TABLE cargo;
-CREATE TABLE cargo(
codigo_cargo
VARCHAR2(10) PRIMARY KEY,
rango_minimo
NUMBER,
rango_maximo
NUMBER);
-INSERT INTO cargo VALUES ('C10', 1000, 10000);
INSERT INTO cargo VALUES ('C20', 5000, 20000);...
Regístrate para leer el documento completo.