<Insert Picture Here>
Oracle Database 11g
Seguridad
1erTte. Yaimaris González Ramirez
Centro de Servicios Informáticos y Computacionales
Dirección de Tecnologías y Sistemas
Objectives
Completada la clase, usted será capaz de:
• Conocer tecnologías y herramientas de seguridad provistas por
Oracle
• Conocer la arquitectura y funcionalidades de las herramientas
Transparent Data Encryption, Oracle Database Vault y Oracle
Audit Vaut.
2
Antecedentes
Usuario final CDM
DBA
Responsables de
la Información
• Optimizar recursos y disminuir costos.
• Protección del Equipamiento.
• Disponibilidad de los sistemas.
• Recursos Humanos.
• Seguridad.
3
Antecedentes
Firewall
RED
IDS Autenticación
Seguridad BD
Escudo
4
Entorno actual
Inyección SQL Oportunismo Suplantación de identidad
Visibilidad Espionaje
Ingienería social
Desarrolladores
Usuarios Web
Funcionales
Usuarios de Aplicaciones
aplicaciones
Base Datos
Administradores
Seguridad en profundidad
5
Tecnologías de Seguridad
Autenticación
y
Autorización
Control de Enmascaramiento
acceso a
nivel de
objeto Seguridad a
nivel de
filas
cifrado de Respaldo
columnas y
recuperación
Auditar de
manera
segura
6
Tecnologías de Seguridad
Oracle Identity
Management
Oracle Database Enmascaramiento
Vault
Virtual Private
Database
Oracle Label
TDE Security
RMAN
Data Pump
Oracle Audit
Vault Data
Guard
FlashBac 7
Seguridad de bases de Datos
Defensa en Profundidad
Cifrado de Datos
• Transparent data encryption
Control de Acceso
• Oracle Label Security
• Oracle Virtual Private Database
• Oracle Database Vault
Auditoría
• Triggers
• Oracle Audit Vault
Organización y prevención
• Gestión de usuarios
• Gestión de contraseñas
• Gestión de cambios
• Ámbitos de seguridad
8
Seguridad de bases de Datos
Defensa en Profundidad
Organización y prevención
• Gestión de usuarios
• Gestión de contraseñas
• Gestión de cambios
• Ámbitos de seguridad
9
Línea base de seguridad
Métricas
• Cuentas de usuarios en desuso.
• Política de contraseñas.
• Política de visibilidad limitada.
• Clasificación de la información.
• Separación de responsabilidades.
10
Seguridad de bases de Datos
Defensa en Profundidad
Cifrado de Datos
• Transparent data encryption
11
Transparent data encryption
Acceso no autorizado
a datos cifrados
Intento de acceder a
Usuario del SO columnas de una tabla
• Protección de ficheros de datos de la base de datos contra acceso
no autorizado.
• Protección a nivel de columnas de tablas o de tablespace.
• Soporte de algoritmos de cifrado.
12
Seguridad de bases de Datos
Defensa en Profundidad
Control de Acceso
• Oracle Label Security
• Oracle Virtual Private Database
• Oracle Database Vault
13 13
Oracle Label Security
Sensible
Transacciones
Confidencial
Reporte de Datos
Público
Reportes
Confidencial Sensible
• Clasificación de los datos y los usuarios basándose en la lógica de
negocio.
• Control de acceso a nivel de fila.
• Integración con otras herramientas de control de acceso.
14
Virtual Private Database
where dpto=1
Select * from
empleados; where dpto=5
• Control de acceso a nivel de filas y columnas.
• Elevados niveles de flexibilidad en las políticas.
• Integración con otras herramientas de control de acceso.
15
Oracle Database Vault
Separación de responsabilidades y control de acceso
CUBAFIS
DBA
SCORE
Aplicación
CONTIC
select * from [Link]
• Protege los datos de los usuarios privilegiados.
• DBA separación de responsabilidades.
• Consolidación segura de los servicios.
• Transparente a las aplicaciones existentes.
16 16
Seguridad de bases de Datos
Defensa en Profundidad
Auditoría
• Triggers
• Oracle Audit Vault
17
Oracle Audit Vault
Recolección y reportes de auditorias de forma automática
CFGBDM ! Alertas
MTZBDM Reportes
Datos de
STGBDM
Auditoria Reportes
Personalizados
Politicas
Bases de Datos Auditor
• Consolidación de los datos de auditoría en un repositorio seguro.
• Creación o personalización de reportes.
• Detección de alertas y envíos de notificaciones.
• Gestión de políticas de auditoría centralizada.
• Depuración automática de las trazas de auditoría.
18
Transparent Data
Encryption
19
Transparent data encryption
• Cifra datos sensibles almacenados en datafiles.
• Es la forma mas rápida y fácil de cifrar datos.
• Cifra una o mas columnas en una tabla o un
tablespace completo.
• Soporta los algoritmos Advanced Encryption
Standard (AES) y Triple Data Encryption Standard
(3DES)
Vistas del
V$ENCRYPTED_TABLESPACES
diccionario
DBA_ENCRYPTED_COLUMNS de los datos
20
TDE cifrado de columna
21
TDE cifrado de tablespace
22
Transparent data encryption
El cifrado de datos incluye los siguientes
componentes:
Un algoritmo para cifrar los datos: Oracle soporta varios
algoritmos estándares de cifrado y de hash que están
aprobados por el Instituto Nacional de Estándares y
Tecnologías(NIST).
Una llave para cifrar y descifrar los datos: Utiliza una
llave y el dato en texto claro como entrada en el algoritmo
de cifrado.
23
Transparent data encryption
Para cifrar datos usando TDE se crean los siguientes
componentes:
Un wallet para guardar la llave maestra de cifrado: Es
un fichero del SO ubicado fuera de la base de datos. La
base de datos utiliza el wallet para guardar la llave de
cifrado maestra. Para crear un wallet se puede usar el
Enterprise Manager o el comando ALTER SYSTEM.
Una ubicación para la cartera : Se puede especificar la
ubicación de la cartera en el fichero [Link].
24
Transparent data encryption
Cuando el usuario entra datos la BD ejecuta los
siguientes pasos:
1. Devuelve la llave maestra de la cartera.
2. Descifra la llave de cifrado usando la llave maestra.
3. Usa la llave de cifrado para cifrar los datos que el usuario
entro.
4. Guarda los datos en formato cifrado en la BD.
25
Ventajas de Transparent data
encryption
El administrador puede estar seguro de que los datos
sensibles están a salvo si el medio de
almacenamiento o el fichero de datos es robado o
perdido.
Implementar TDE ayuda a resolver los problemas de
cumplimiento normativo en materia de seguridad.
Los datos de las tablas son transparentemente
descifrados por el usuario de la BD. No es necesario
crear vistas o disparadores para descifrar los datos.
26
Ventajas de Transparent data
encryption
Los datos son transparentemente descifrados por los
usuarios de la BD y se requiere ninguna acción de su
parte.
Las aplicaciones no necesitan ser modificadas para
manejar datos cifrados. El cifrado y descifrado es
administrado por la BD.
27
Pasos para configurar cifrado de columnas
1. Configurar la ubicación del wallet.
2. Crear un wallet.
3. Abrir (o cerrar) un wallet.
4. Cifrar (o descifrar) datos.
28
Pasos para configurar cifrado de columnas
• Paso 1:Configurar la ubicación del wallet
Para configurar la ubicación del wallet:
1. Crear un directorio bajo el $ORACLE_HOME de la BD
Ej. Crear el directorio ORACLE_WALLETS en
/app/oracle/db/11.2
2. Crear una copia al fichero [Link] que por defecto se encuentra en el
directorio $TNS_ADMIN.
3. Al final del fichero [Link] agregar algo similar a
ENCRYPTION_WALLET_LOCATION=
(SOURCE=
(METHOD=file)
(METHOD_DATA=
(DIRECTORY= /app/oracle/db/11.2 /ORA_WALLETS)))
4. Salvar y cerrar el fichero [Link]
29
Pasos para configurar cifrado de columnas
• Paso 2:Crear el wallet
Para crear el wallet:
1. En SQL*Plus conectarse con un usuario con privilegios
administrativos como el SYS .
2. Ejecutar la siguiente sentencia ALTER SYSTEM ,donde
password es la contraseña que se quiere utilizar para
proteger al wallet.
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "password";
30
Pasos para configurar cifrado de columnas
• Paso 3:Abrir (o cerrar) el wallet
Para abrir el wallet:
Ejecutar la siguiente sentencia ALTER SYSTEM ,donde
password es la contraseña que se utilizó para proteger el wallet.
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY
"password";
Para cerrar el wallet:
En SQL*Plus ejecutar la sentencia
ALTER SYSTEM SET ENCRYPTION WALLET CLOSE IDENTIFIED BY
"password";
Para chequear si esta abierta o no consultar la vista V$ENCRYPTION_WALLET
31
Pasos para configurar cifrado de columnas
• Paso 4:Cifrar (o no cifrar) el dato
Para cifra columnas de una tabla:
CREATE TABLE employee (
first_name VARCHAR2(128),
last_name VARCHAR2(128),
empID NUMBER ENCRYPT NO SALT,
salary NUMBER(6) ENCRYPT USING '3DES168'
);
32
Oracle Database Vault
33
Por qué Oracle Database Vault?
• Garantizar el control interno y la separación de
responsabilidades.
• Autorización basada en factores múltiples.
• Permite establecer políticas de seguridad flexibles.
• Transparente a las aplicaciones existentes.
• Integración con otras tecnologías
RAC OLS
DataGuard VPD
Oracle Stream Oracle Audit Vault
34
Arquitectura
ZONAS
FACTORES
DE
AUTORIZACIÓN
REPORTES
SEPARACION
AUDITORIA
REGLAS DE
DE RESPONSABILIDADES
COMANDO
35
Arquitectura
Control de administradores Políticas de seguridad flexibles
Zonas: Factores:
Previene que usuarios con Pareja ATRIBUTO = IDENTIDAD
privilegios fuertes accedan a los usado en la validación de reglas.
datos de las aplicaciones.
Separación de Responsabilidades: Reglas de Comando:
Controla las acciones administrativas
dentro de la BD que pueden violar Ejecución de comandos basada en
regulaciones y buenas prácticas. condiciones.
Reportes:
Reportes de seguridad
relacionados con la violaciones
de las políticas definidas.
36
Arquitectura
DATOS CRITICOS ADMINISTRADORES CONTROL DE ACCESO
Identidad 86061233217 Tiempo
DBA
Dirección IP
Información
Clasificada SCORE Realm
SCORE DBA
SCORE Realm
Realms
CUBAFIS Realm
CUBAFIS DBA CUBAFIS Realm
37
Oracle Database Vault
Separación de responsabilidades
truncate table personas;
REGLAS DE COMANDO
delete from personas where
estado <> ‘activo’;
DV_OWNER DV_ACCTMGR DBA
SEGURIDAD USUARIOS RECURSOS
• Distribuye las responsabilidades en tres nuevos roles.
• Previene que cualquier usuario ejecute cualquier comando.
• Protege a los objetos de ser modificados por sus dueños.
38
Oracle Database Vault
Control de acceso basado en factores
CUBAFIS
SCORE
Aplicación CONTIC
• Previene el by-pass de las aplicaciones
• Restringe quién, dónde, cuándo y cómo usando reglas y
factores
• Factores de usuario: Nombre, tipo de autenticación
• Factor de red: Hostname, IP, Sub-red
• Factores de BD: IP, Instancia, Hostname, SID
• Factores de tiempo: Fecha, Hora
39
Ejemplo Práctico
40
Ejemplo Práctico
41
Ejemplo Práctico
42
Ejemplo Práctico
43
Oracle Audit Vault
44
Por qué Oracle Audit Vault?
• Solución avanzada de auditoría.
• Simplificación de reportes y análisis práctico.
• Centralización de las políticas de auditoría.
• Integración con otras tecnologías.
RAC
BI o Herramientas propias
DataGuard
Oracle Stream
• Garantiza el principio CONFIA pero VERIFICA.
45
Arquitectura
BD Fuente Colectores
Oracle •OSAUD
audit_trail SQL Server •DBAUD
•REDO
IBM DB2
SYBASE Servidor
•Reporte
•Alertas
•Repositorio Central
•Seguridad
•Consola de Administración y Monitoreo
46
Arquitectura
Reporte
Monitoreo
Servidor
Políticas
Aplicación Seguridad
Agentes Colectores
Colectores
BD Fuentes
47
Separación de responsabilidades
AV_AUDITOR DV_ACCTMG
R
Auditor Usuario
AV_ADMIN
Administrador Seguridad
48
Políticas de Auditorias
• Sentencias SQL.
• Objetos del esquema de la bases de datos.
• Uso de privilegios.
• Actividades específicas en la bases de datos.
• Ficheros de redo logs.
49
Oracle Audit Vault [Link]
Reportes por defecto
50
<Insert Picture Here>
Oracle Database 11g
Seguridad
15/03/2013
1erTte. Yaimaris González Ramírez
Centro de Servicios Informáticos y Computacionales
Dirección de Tecnologías y Sistemas