Vous êtes sur la page 1sur 8

Conexin

remota
Administracin de base de
datos

Bani Jesua Rosas Tabarez


Objetivo
Que el alumno implemente el uso de bitcora par las bases de datos para un mejor control de
accesos a la base de datos.

Crear una bitcora

Los sistemas de cmputo estn expuestos a mltiples amenazas, vulnerabilidades y ataques cada
vez ms complejos. Por lo tanto, es importante que las organizaciones implementen bitcoras (o
archivos logs) para almacenar los sucesos que ocurren en el sistema. La informacin contenida en
una bitcora es muy importante y til cuando ocurre un incidente de seguridad o cuando se realiza
una auditora de sistemas.

Una bitcora puede registrar mucha informacin acerca de eventos relacionados con el sistema
que la genera los cuales pueden ser:

La importancia de las bitcoras es la de recuperar informacin ante incidentes de seguridad,


deteccin de comportamiento inusual, informacin para resolver problemas, evidencia legal, es de
gran ayuda en las tareas de cmputo forense.

Se muestra a continuacin un ejercicio de desarrollo de bitcora.

1. Elabore la bitcora para registrar todos los movimientos (insertar, eliminar y modificar) que se
realicen en las tablas de la base de datos. Para lograr lo anterior es necesario crear un trigger para
que se ejecute despus de la operacin de insertar, otro para despus de eliminar y el ltimo para
despus de modificar para cada una de las 3 tablas de la base de datos. Los nueve triggers
necesarios para que funcione la bitcora son los siguientes:

El resultado que se espera de la bitcora se muestra en la siguiente imagen.

2. Instale y configure una red de computadoras ad-hoc(minimo dos computadoras). 3. Crear la


bitcora para cada sitio de la red, asi como sus repectivos triggers(para insertar,eliminar y
actualizar) 4. Crear al menos dos usuarios en cada servidor de Mysql con acceso tanto local como
remoto a la base de datos. 5. Realice consulta local y remota.
Creacin de tablas, triggers e ingreso de
datos
create database bitacora_bd;

use bitacora_bd;

CREATE TABLE IF NOT EXISTS `departamento` ( `num_departamento` int(11)

NOT NULL,`nombre_dept` varchar(20) NOT NULL, `jefe_num_tarjet` int(11) NOT

NULL, PRIMARY KEY (`num_departamento`), KEY `jefe_num_tarjet`

(`jefe_num_tarjet`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `bitacora` (`id` int(11) NOT NULL

AUTO_INCREMENT, `operacion` varchar(10) DEFAULT NULL, `usuario` varchar(40)

DEFAULT NULL, `host` varchar(30) NOT NULL, `modificado` datetime DEFAULT

NULL, `tabla` varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB

DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `carrera` (`clave` int(11) primary key NOT NULL

AUTO_INCREMENT, `nombre` varchar(40) DEFAULT NULL );

insert into carrera values(1,'Ingenieria en sistemas');

CREATE TABLE IF NOT EXISTS `maestro` (`clave` int(11) primary key NOT NULL

AUTO_INCREMENT, `nombre` varchar(25),`apaterno` varchar(25),`amaterno` varchar(25),`clave_carrera`


int(11) DEFAULT NULL );

CREATE TRIGGER `bitacora` AFTER INSERT ON `carrera` FOR EACH ROW

INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES

(SUBSTRING(USER(), (INSTR(USER(),'@')+1)), SUBSTRING(USER(),1,(instr

(user(),'@')-1)), "INSERTAR", NOW(), "CARRERA");

CREATE TRIGGER `bit_carr_upd` AFTER UPDATE ON `carrera` FOR EACH

ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES

(SUBSTRING(USER(), (INSTR(USER(),'@')+1)), SUBSTRING(USER(),1,(instr

(user(),'@')-1)), "ACTUALIZAR", NOW(), "CARRERA");

CREATE TRIGGER `bit_carr_del` AFTER DELETE ON `carrera` FOR EACH

ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES


(SUBSTRING(USER(), (INSTR(USER(),'@')+1)), SUBSTRING(USER(),1,(instr

(user(),'@')-1)), "ELIMINAR", NOW(), "CARRERA");

CREATE TRIGGER `bit_depto_ins` AFTER INSERT ON `departamento` FOR

EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla)

VALUES (SUBSTRING(USER(), (INSTR(USER(),'@')+1)),

SUBSTRING(USER(),1,(instr (user(),'@')-1)), "INSERTAR", NOW(),

"DEPARTAMENTO");

CREATE TRIGGER `bit_depto_upd` AFTER UPDATE ON `departamento` FOR

EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla)

VALUES (SUBSTRING(USER(), (INSTR(USER(),'@')+1)),

SUBSTRING(USER(),1,(instr (user(),'@')-1)), "ACTUALIZAR", NOW(),

"DEPARTAMENTO");

create table if not exists maestros(num_tarjeta int not null default 0,nombre varchar

(50),primary key (num_tarjeta));

CREATE TRIGGER `bit_mae_ins` AFTER INSERT ON `maestros` FOR EACH

ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES

(SUBSTRING(USER(), (INSTR(USER(),'@')+1)), SUBSTRING(USER(),1,(instr

(user(),'@')-1)), "INSERTAR", NOW(), "MAESTROS");

CREATE TRIGGER `bit_mae_upd` AFTER UPDATE ON `maestros` FOR EACH

ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES

(SUBSTRING(USER(), (INSTR(USER(),'@')+1)), SUBSTRING(USER(),1,(instr

(user(),'@')-1)), "ACTUALIZAR", NOW(), "MAESTROS");

CREATE TRIGGER `bit_mae_del` AFTER DELETE ON `maestros` FOR EACH

ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES

(SUBSTRING(USER(), (INSTR(USER(),'@')+1)),

SUBSTRING(USER(),1,(instr(user(),'@')-1)), "ELIMINAR", NOW(), "MAESTROS");

select * from departamento;

select * from bitacora;

create user 'Ernesto'@'localhost'identified by '1234';

Grant all privileges on *.* to 'Ernesto'@'localhost';


En esta imagen se puede apreciar cuando se entra como usuario root y podemos observar la tabla
bitcora_bd.

Ya que la tabla bitcora guardara las acciones que nosotros hagamos dentro de ella.
Aqu mismo hicimos la consulta a la bitcora y podemos observar las operaciones en este caso fue
con un usuario root.

Despus de ello ingresamos con un usuario creado el cual tena mi nombre Ernesto y se hizo
nuevamente el ingreso de datos, y se pudieron observas los cambios realizados.

Para la conexin remota usamos un cable tipo directo. Pero para ello se cre un usuario con las
caractersticas de la imagen.
Se le asignaron los privilegio y as mismo se hicieron sus consultas y se pudo observar en la tabla
bitcora.

Vous aimerez peut-être aussi