martes, 19 de noviembre de 2013

Auditoria de datos

DATOS

Es necesario contar con la seguridad de la Información que a la final es la preservación
de la confidencialidad ,integridad y disponibilidad.

 aspectos que hay que tener para garantizar así protección de la información:
  •  Política de seguridad
  •  Aspectos organizativos para la seguridad
  •  Clasificación y control de activos
  •  Seguridad ligada al personal
  •  Seguridad física y del entorno
  •  Gestión de comunicaciones y operaciones
  •  Control de accesos
  •  Desarrollo y mantenimiento de sistemas
  •  Gestión de incidentes de seguridad de la información
  •  Gestión de continuidad de negocio
  •  Conformidad
OBJETIVOS
  •  Poder identificar como es el proceso del manejo de los recursos informaticos
  •  Identificar que protocolos de seguridad usan para garantizar integridad en la red
  •  Poder identificar el manejo de los perfiles de usuario y contraseñas.
  •  Identificar el manejo que se le da al internet.
  • Evaluar el manejo de perfiles.
PUNTOS A EVALUAR
  •  Documentación sobre políticas de perfiles de usuario.
  •  Documentación de manejo de hardware y software.
  •  Documentación de manejo de internet.
  •  Listado de usuarios con sus roles y privilegios.
  •  Reglamento para usuarios de Sistemas.
  •  Manejo del internet por parte del administrador y de los usuarios.
  •  Planes de contingencia contra ataques.
  •  Medidas de seguridad para la información.
 INSTRUMENTOS Y TÉCNICAS
Para la recopilación de información:
  •  Cuestionario
  •  Entrevista.
  •  Inventarios.
Para el análisis y la evolución de la información:
  •  Guías de evaluación.
  •  Lista de verificación o chequeo.
  •  Confirmación.
  •  Comparación.

HERRAMIENTAS

Algunas preguntas para el Listado de Chequeo

1. ¿Tiene definidos e implementados protocolos de
seguridad?
2. ¿Existen planes de contingencia contra ataques de
hackers?
3. ¿Existen planes de contingencia contra virus,
troyanos, etc.?
4. ¿Existe un plan de medidas de seguridad contra
posibles ataques a la información?
5. ¿Se lleva a cabo en su totalidad el plan de seguridad?
6. ¿Existe historial de ataques a los sistemas de la
empresa?
7. ¿Existen reglamento para el uso de los recursos
informáticos de la empresa?
8. ¿Existe un proxy que delimite la navegación por
internet de los usuarios?
9. ¿Existe un correo interno de la empresa, para la
comunicación de los empleados?

 
 
Entrevista
 
10. ¿Existe historial de ataques a los
sistemas de la empresa? Y que se
realiza con ellos
11. ¿Existen perfiles de usuario para
acceder a los sistemas de la empresa?
Si es así, ¿Cómo están definidos?
12. ¿Existen políticas para la creación de
perfiles de usuario o por el contrario se
otorgan los perfiles cada que se
considera necesario?
13. ¿El manejo de los password asignados
a los usuarios se rige mediante queclase de normas?
14. ¿Cómo garantizan que los datos que
se usan para todos los procesos son
usados de la manera correcta?
15. Describa los tipos de monitoreo que
llevan a cabo para garantizar la
protección de los datos.

BASE DE DATOS


Para la verificación de la seguridad, consistencia y reglas de integridad en cualquier motor
de bases de datos es necesario verificar el ambiente de control establecido en la
instalación de este; es allí donde se encuentran elementos como:

  • Claves Primarias
  • Dominio de los atributos
  • Reglas de Integridad
  • Reglas de integridad del negocio
  • Vistas
  • Perfiles de usuario y Acceso

En este proceso de almacenamiento de información se puede utilizar Criptografía de
Datos como recurso de seguridad,(password). La criptografía es de gran importancia en las bases de datos pues la información esta almacenada por largos periodos de tiempo en medios de fácil acceso,
como discos duros.

DATAWAREHOUSE

Un Data Warehouse es un conjunto de datos integrados orientados a una materia, que
varían con el tiempo y que no son transitorios, los cuales soportan el proceso de toma de
decisiones de la administración. Está orientada al manejo de grandes volúmenes de
datos, provenientes de diversas fuentes, de muy diversos tipos.toma de decisiones oportunas y fundamentadas. Previo a su utilización se debe aplicar procesos de análisis, selección y transferencia de datos seleccionados desde las fuentes.

  •  Datos Antiguos
  • Datos Operacionales
  • Extractores de Datos
  • Metadatos
OBJETIVOS
 Identificar si la arquitectura del sistema Data Warehouse corresponde a las
necesidades del negocio.

MINERÍA DE DATOS

La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información
que reside de manera implícita en los datos.
El datamining (minería de datos), es el conjunto de técnicas y tecnologías que permiten
explorar grandes bases de datos, con el objetivo de encontrar patrones repetitivos, tendencias o reglas .
OBJETIVOS
  •  Evaluar las técnicas empleadas en la minería de datos.
  •  Evaluar la documentación presentada.
  •  Identificar el proceso de minería de datos.
  •  Identificar la forma de selección del grupo de datos.
ORACLE
Oracle es un sistema de gestión de base de datos relacional.
Se considera a Oracle como uno de los sistemas de bases de datos más completos,  destacando:

  •  Soporte de transacciones.
  •  Estabilidad.
  •  Escalabilidad.
  •  Soporte multiplataforma.
OBJETIVOS

  •  Evaluar el funcionamiento de la Base de Datos ORACLE.
  •  Identificar debilidades.
  •  Analizar funcionamiento de tablas, campos, etc.
1. Análisis de los Oracle Data Blocks, para determinar:

 Registros eliminados
 Localizar bloques asignados a tablas (OBJETOS DE INTERÉS)
 Seguimiento de Objetos creados y eliminados
 Localización de tablas eliminadas
 Localización de Funciones eliminadas

2. Obtención del SID de la BD

3. Enumeración de usuarios

4. Consultar Ataques de Fuerza bruta o Diccionario a cuentas de usuario

5. Consulta de Ataques de Fuerza Bruta a la cuenta SYS

6. Consulta de intentos del exploit AUTH_ALTER_SESSION

7. Consulta de intentos de iniciar una sesión la base de datos a través de XML (XDB)

8. Consulta del archivo sqlnet.log,Agntsrvc.log, spfilesid.ora, o el init.ora todas las
ubicaciones referentes a estos parámetros:

9. Consulta de archivos Log Listener

10. Revisión de los LOGS de sentencias

11. Consultando información de los inicios de Sesión:

12. Consultar una lista de usuarios y roles, usuarios con función de DBA, para buscar
inconsistencias, o usuarios creados por un atacante y la generación de
contraseñas fuertes con la validación de los hash, cuentas bloqueadas, tiempos de
password

13. Consultar una lista de objetos y privilegios en el sistema

14. Consulta de tablas eliminadas

15. Consulta de Directorios, archivos datos, archivos externos, tablas externas,
buscando elementos perdidos o ubicados en sitios diferentes por el atacante.

16. El Monitor del Sistema (SMON) MON_MOD$ Table

17. Revisión de Triggers al encendido, apagado, inicio y terminación de sesión

18. Consulta de librerías, que puedan estar ejecutando código arbitrario(malicioso)

19. Consultas de Flashback (nuevos privilegios, derechos asignados, nuevos objetos,
objetos eliminados) entre la tabla actual y la anterior en un tiempo determinado.

20. Consulta de los logs del Apache (Oracle Application Server)

21. Ingresar el siguiente comando SELECT * FROM SYS.DBA_TAB_PRIVSWHERE
TABLE_NAME = 'ALL_SOURCE; , para garantizar que los usuarios no tienen acceso a la
vista ALL_SOURCE.

22. Lleve a cabo funciones de INSERT, UPDATE o DELETE para revisar las
funciones que se llevan a cabo y discutir los requisitos de negocio para este tipo
de acceso.

SQL

El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas peraciones sobre los datos o sobre la estructura de los mismos por cualquier motor de datos. El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado.
Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las
Existen dos tipos de comandos SQL:
  •  DLL que permiten crear y definir nuevas bases de datos, campos e índices.
  •  DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos
SAS
SAS es un sistema integrado de productos software proporcionados por SAS Institute Inc.
Que permite a los programadores realizar:
  •  Entrada de datos , recuperación , gestión , y minería
  •  Informe escrito y gráfico
  •  Análisis estadístico
  •  Planificación empresarial , previsión y apoyo a las decisiones
  •  Investigación de operaciones y gestión de proyectos
  •  Mejora de la calidad
  •  Aplicaciones de desarrollo
  •  Almacenamiento de datos ( extracción, transformación, carga )
  •  Independiente de la plataforma y la informática a distancia
Además, SAS negocia muchas soluciones que permiten a escala dar soluciones de software para áreas como la administración de TI, gestión de recursos humanos, gestión financiera, inteligencia empresarial, gestión de relaciones con clientes y mucho más.
SAS es impulsada por los programas que definen una secuencia de operaciones que se efectúan en los datos almacenados en tablas. Los componentes de SAS exponen sus funcionalidades a través de interfaces de programación de aplicaciones, en forma de declaraciones y procedimientos.

 
  MICROSOFT SQL

Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (SGBD)
basado en el lenguaje Transact-SQL, y específicamente en Sybase IQ.

 Características:
  •  Soporte de transacciones.
  •  Escalabilidad, estabilidad y seguridad.
  •  Soporta procedimientos almacenados.
  •  Incluye también un potente entorno gráfico de administración, que permite el uso de   comandos DDL y DML gráficamente.
  •  Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información.
OBJETIVOS
  •  Evaluar el funcionamiento de la Base de Datos SQL Server.
  •  Identificar debilidades.
  •  Analizar funcionamiento de tablas, campos, etc. Además permite administrar información de otros servidores de datos.
 IBM

DB2 UDB es un sistema para administración de bases de datos relacionales (RDBMS)
multiplataforma, especialmente diseñada para ambientes distribuidos, permitiendo que los
usuarios locales compartan información con los recursos centrales.
Ventajas:
  •  Permite agilizar el tiempo de respuestas de esta consulta
  •  Recuperación utilizando accesos de sólo índices.
  •  Predicados correlacionados.
  •  Tablas de resumen
  •  Tablas replicadas
  •  Uniones hash
  •  DB2 utiliza una combinación de seguridad externa y control interno de acceso a proteger datos.
  •  DB2 proporciona un juego de datos de acceso de las interfaces para los diferentes tipos de usuarios y aplicaciones.
  •  DB2 guarda sus datos contra la pérdida, acceso desautorizado, o entradas inválidas.
  •  Usted puede realizar la administración de la DB2 desde cualquier puesto de trabajo.
OBJETIVOS

  •  Evaluar el funcionamiento de la Base de Datos DB2.
  •  Identificar debilidades.
  •  Analizar funcionamiento de tablas, campos, etc.
 PUNTOS A EVALUAR
  •  Estructura de base de datos DB2.
  •  Añadir campos a una tabla.
  •  Triggers y Tablas Espejo.
  •  Software especializado.
 Para verificar procesos más profundos se es necesario:
Para ver los registros de auditoría en la Base de datos DB2 de auditoría utilizamos dos vistas de Trust Authority. Al emplear estas vistas de base de datos, se puede ver todos los registros de auditoría almacenados actualmente en la base de datos. Los registros de auditoría se almacenan en la tabla de bases de datos, audit_log.
Las dos vistas son las siguientes:
 viewar: Esta es la vista básica que proporciona acceso a todas las descripciones textuales sin truncamientos.
 viewar_t: Esta vista es la misma que viewar, exceptuando que todas las columnas
de texto se truncan a 40 caracteres.



Ver los informes de la base de datos de auditoría:
1. Inicie la sesión como el usuario de Trust Authority (el usuario que instaló Trust Authority).
2. Inicie una sesión interactiva de línea de mandatos de DB2.
3. En la línea de mandatos de DB2, entre el mandato siguiente para conectar con la base de datos de auditoría:
            Connect to nombre_de_su_base_de_datos_de_auditoría
4. Consulte la base de datos empleando una de las vistas de Trust Authority del
modo siguiente:

               a. Para consultar la vista viewvar, entre este mandato:
                        "select * from viewvar"
               b. Para consultar la vista viewvar_t, entre este mandato:
                       "select * from viewvar_t"

5. Para filtrar la vista de los informes de auditoría, utilice la cláusula where SQL. Por ejemplo, para consultar informes para un determinado intervalo de fechas, entre elmandato siguiente:
            "select * from viewar where sourcetime between '1999-07-01- 8.00.00' and '1999-07-02-08.00.00'"


 MYSQL

MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con
más de seis millones de instalaciones.

OBJETIVOS
  •  Evaluar el funcionamiento de la Base de Datos MySQL.
  •  Identificar debilidades.
  •  Analizar funcionamiento de tablas, campos, etc
 PUNTOS A EVALUAR
  •  Estructura de base de datos MySQL.
  •  Añadir campos a una tabla.
  •  Triggers y Tablas Espejo.
  •  Software especializado.
INSTRUMENTOS Y TECNICAS
  • Para la recopilación de información:
  •  Verificación.
  • Para el análisis y la evolución de la información:
  •  Guías de evaluación.
HERRAMIENTAS
MySQL ofrece niveles de acceso y permisos, que incluyen las operaciones CRUD y las
vistas. Es posible combinar criterios de acceso y así restringir los permisos operativos
sobre algunas tablas en particular.


 POSTGRESS

PostgreSQL es un potente sistema de base de datos relacional libre (opensource, su
código fuente está disponible) liberado bajo licencia BSD.
OBJETIVOS
  • Evaluar el funcionamiento de la Base de Datos Postgress.
  • Identificar debilidades.
  • Analizar funcionamiento de tablas, campos, etc.
PUNTOS A EVALUAR
  • Estructura de base de datos Postgress.
  • Añadir campos a una tabla. Triggers y Tablas Espejo.
  • Manejar datos de auditoría.
  • Archivamiento.
INSTRUMENTOS Y TECNICAS
  • Para la recopilación de información:
  • Verificación.
  • Para el análisis y la evaluación de la información:
  • Guías de evaluación.
HERRAMIENTAS
  • Para auditar una base de datos Postgress se puede hacer de diferentes maneras:
  • Añadir campos a una tabla:
  • Triggers y Tablas Espejo:
  • Manejar datos de auditoría
  • Archivamiento

Actividad: REPLICACION

REPLICACION DE UNA BASE DE DATOS CON SQL SERVER 2008


Proceso de Replicación

Para realizar una réplica de BD en SQL Server 2008 debemos configurar previamente algunas cosas:

1) Configurar un usuario con autenticación de SQL Server.

2) Asegurarnos que el equipo tenga las siguientes configuraciones:

- Que el equipo de trabajo sea el mismo tanto para el equipo maestro como el cliente.

- Asegurarnos que ambos equipos tengan iniciado el servicio de enrutamiento y acceso remoto (Lo ponemos en Automático).

- En las opciones de configuración de SQL Server en Protocoles de cliente y Protocolos de SQL Server, esté habilitada la opción Canalizaciones con nombre y TCP/IP.







En nuestro caso el equipo maestro es un Equipo con Windows Server 2008R2 o Windows 7 (mismo kernel). En este caso el servicio que debemos habilitar es “Administrador de conexión automatica de acceso remoto”.



En el administrador de configuración de SQL Server 2008.



Finalmente abrimos SQL Server 2008 (con autenticación SQL Server) y en el panel izquierdo en nuestro gestor le damos clic derecho, elegimos la opción Facetas y del combo del cuadro de dialogo que nos aparecerá escogemos la opción RemoteDacEnabled y lo colocamos en True.





Proceso de Replicación.

Configuradas ya las dos máquinas procedemos a realizar la replicación.

Configuración Cliente:

1) Conectamos con el equipo maestro.

Panel de Control – Herramientas administrativas-Administración de equipos.

Administración del equipo (clic derecho). Conectar con otro equipo.



Avanzadas



Buscar Ahora



Escogemos al equipo maestro y clic en Aceptar.

Configuración maestro:

1) Conectamos con el cliente







2) Iniciamos el Agente de SQL Server 2008 en ambos equipos.



3) Realizamos la publicación de la BD



Seleccionamos la Base de datos a replicar, en este caso Temporal



Elegimos nuestro tipo de publicación, en este caso vamos elegir una publicación de mezcla, la idea es hacer que los datos se repliquen inmediatamente.



Elegimos la compatibilidad con versiones anteriores



Elegimos las tablas a replicar, en este caso toda la Base de Datos.



Nos avisa de los cambios realizados a la Base de datos.



No agregamos filtros, hacemos clic en Siguiente.



Creamos la instantánea inmediatamente y programamos el tiempo en el que se realizaran estas.





Configuramos la seguridad de la Base de Datos. Aplicamos el inicio de sesión creado en el cliente. (Datos del usuario SQL Server creado.)



Creamos la publicación



Colocamos finalmente un nombre a la publicación.



Clic en finalizar para realizar los cambios.





El asistente finalizará correctamente con todas las tareas si realizamos todos los pasos indicados.

Creamos una nueva suscripción para poder utilizar nuestra replicación.

- Clic derecho en la publicación creada y luego en nuevas suscripciones.



Seleccionamos publicador, en este caso el equipo servidor.

 

Ejecutamos todo desde el Servidor de la BD.



Agregamos al suscriptor cliente.

- Clic en nombre del servidor. Buscar más.





En servidores de redes seleccionamos al equipo cliente, que es donde queremos que se replique la BD.





Conectamos con el cliente

- Clic en Agregar suscriptor de SQL Server y elegimos al equipo Cliente.



Creamos la base de datos replica en el cliente en una base de datos nueva.



Colocamos un nombre para la base de datos réplica.



Clic en siguiente



Especificamos la conexión con el suscriptor. Colocamos los datos del usuario SQL Server creado.



Hacemos que la programación elegida se ejecute continuamente e inmediatamente.













 
 
REPLICACION EN ORACLE10G
Activando el modo "Archive Log" 1.Iniciar sesion, es importante logearse con un usuario que posea los privelegios DBA como lo es el usuario SYS. 2.Es importante que antes de configurar la replicacion la base de de datos se encuentre en un MODO ARCHIVELOG para eso damos clic en MANTENIMIENTO y buscamos la opcion "valores de recuperacion"...

Activando el modo "Archive Log"

1.Iniciar sesion, es importante logearse con un usuario que posea los privelegios DBA como lo es el usuario SYS.


2.Es importante que antes de configurar la replicacion la base de de datos se encuentre en un MODO ARCHIVELOG para eso damos clic en MANTENIMIENTO y buscamos la opcion "valores de recuperacion"


3.Nos aseguramos q este chekeada la opcion de "Modo ARCHIVELOG" sino lo esta la elegimos.


4.Le damos en "Aplicar" y esperamos.


5.Luego nos pide que confirmemos y le damos clic en "Si"


6.Luego nos pedira reiniciar la Base de Datos, es importante saber que en la parte de Credenciales de Host tenemos que escribir en usuario valga la redundancia el usuario administrador de nuestra computadora asi como su respectiva contraseña. Ademas en la parte de Credenciales de Base de Datos debemos poner un usuario con privilegios DBA y su respectiva contraseña y luego hacer clic en Aceptar.


7.Despues confirmamos dando clic en Si y esperamos.


8.Y para finalizar le damos clic en Refrescar.


Configurando la replicacion

9.En la pestaña de MANTENIMIENTO buscamos la opcion de "Configuracion" dentro de FLUJOS y accesamos a ella.


10.Elegir la opcion de "Asistente de Replicacion Global, de Esquemas, Tablas y Subjuegos de Streams" es importante recalcar q esta opcion solo replica esquemas especificios si se desea replicar un tablespace completo se elige la opcion de "Asistente de Replicacion de Tablespaces de Streams" y se siguen los mismos pasos que a continuacion siguen.


11.Luego hacemos clic en "Crear Administrador de Streams".


12.En el siguiente paso tenemos que especificar en Usuario DBA el usuario que creara nuestro nuevo usuario stream al cual especificamos en la parte de "Usuario Administrador de Streams" con su respectiva contraseña y hacemo clic en Aceptar.


13.Podremos observar que si toda la informacion esta correcta nos aparecera ya la informacion del usuario stream creado y luego hacemos clic en siguiente.


14.Luego le damos clic en la opcion de "Crear Administrador de Streams" esto es para crearlo en la base de datos DESTINO.


15.Llenamos la informacion que se nos pide, en Nombre de Host ponemos el nombre de la computadora DESTINO o la ip q esta tiene, el puerto de escuha el cual es por defecto el 1521, el nombre del servicio que es el nombre de la base de datos por lo general, el usuario DBA que crea el usuario stream y la informacion del usuario stream y clic en Aceptar.


16.Luego elegimos la opcion Regla de Esquema y elegimos o creamos un Objeto de datos para la Base de Datos ORIGEN.


17.Si ya la tenemos creada solo la elegimos.


18. Hacemos lo mismo que el paso 16 solo que ahora para la Base de Datos destino.


19.Si tenemos uno previamente creado lo buscamos y elegimos.


20. Elegimos el Esquema a replicar, en este caso tenemos uno previamente creado y lo elegimos.


21.Luego se nos muestra un Resumen de la configuracion y damos clic en Terminar.


22.Inicamos el Trabajo elegimos la opcion Inmediatamente y luego Confirmamos escribiendo las Credenciales de Host, las cuales son Usuario administrador de la Computadora y su respectiva contraseña.



23.Confirmamos el trabajo dandole clic en aceptar y listo...



 
 
 
Beneficios
 
La replicación se usa mucho en sistema de acceso a datos por varios motivos:
  • Rendimiento: Normalmente y dependiendo del caso, hay mas lectura que escritura en una base de datos, por lo que tener varios nodos solo procesando la lectura puede traer un gran beneficio de rendimiento en una base de datos muy consultada. Rendimiento.- Se mejora para las transacciones de consulta cuando se introduce la replicación en un sistema que estuviera aquejado de sobrecarga de recursos centralizados.
  • Prueba de fallas: Un esclavo estando casi sincrónicamente actualizado puede ser útil en caso de que el nodo maestro caiga, este puede reemplazarlo y así no detener el servicio.
  • Fiabilidad: Muchas veces se puede tener una replicación para tener la seguridad de que los datos están siendo copiados a otro nodo, en caso de sufrir un desperfecto en el maestro. Fiabilidad.- Al haber múltiples copias de los datos disponibles en el sistema, se dispone de un mecanismo excelente de recuperación cuando existan fallos en nodos.
  • Generación de bloqueos: aunque esta es mas precisa, también se puede usar para procesos que necesiten leer datos, generando bloqueos, al hacerlo sobre un esclavo esto no interviene en el funcionamiento de todo el sistema, es muy usado para por ejemplo, hacer copias de seguridad, o extraer grandes cantidades de datos para generar estadísticas.
  • Disponibilidad.-El modo en que la replicación incrementa la disponibilidad de los datos para los usuarios y aplicaciones.
  • Reducción de la carga.- Modo en que se utiliza la replicación para distribuir datos en ubicaciones remotas
  • Copia de seguridad: En condiciones normales, una base de datos replicada de forma correcta es válida como copia de seguridad.Además se puede realizar copias de seguridad usando un servidor esclavo para así no interferir al servidor maestro.
  • Mejorar la escalabilidad: Podríamos configurar nuestras aplicaciones para balancear las consultas de lectura (SELECT) entre los servidores replicados.
  • Alta disponibilidad:En aplicaciones y entornos en donde sólo se requieren lecturas, podríamos configurar nuestras aplicaciones para balancear las consultas de lectura (SELECT) entre los servidores replicados de manera que si uno se cae se continue prestando servicio.
Las replicas locales constituyen una ayuda especialmente útil cuando se desea trabajar en una computadora que en ocasiones no estará conectada a la red donde se encuentra el servidor en el que reside el curso.