En esta presentación revisamos algunas tecnológicas nuevas de SQL 2016+ que sirven para dar seguridad al ambiente de Data Warehouse, incluyendo: Row Level Security, Data Masking, Always Encrypted, TDE y backups encriptados dentro de otros. Presentada en el SQLSaturday BI 2017 de Costa Rica. Carlos Loria fue mi co-presentador.
1. Mantenga su
Data Warehouse seguro,YA!
Javier Loria
JLoria@PrimusData.net
/in/JavierSQL
@JavierSQL
https://javiersql.wordpress.com
Carlos Loria
Carlos@loria.com
6. Javier Loria
Mentor de Primus Data
Arquitecto y Diseñador de Software
Conferenciante y Blogger
7. Agenda
• Definiciones
• Modelo Stride
Definiciones y Seguridad
• Respaldos Encriptados
• Seguridad a nivel de Fila
• Enmascaramiento de datos
• Siempre encriptado
Tecnologías
8. Security is mostly a superstition
It does not exist in nature
Hellen Keller
9. Activos y medio ambiente
Intranet Extranet Internet
PublicInternalConfidential
Disconnected
10. Definiciones
Atacante
Aplicación
Vulnerabilidades • Defectos de software con consecuencias de seguridad
Amenazas • Riesgos potenciales del software
Ataques • Intento de dañar o ganar acceso al Sistema
Explotación • Ataque exitoso
Borde de Confianza • Donde el nivel de confianza cambia para código o datos
22. Agenda
• Definiciones
• Modelo Stride
Definiciones y Seguridad
• Respaldos Encriptados
• Seguridad a nivel de Fila
• Enmascaramiento de datos
• Siempre encriptado
Tecnologías
23. Nuevas Tecnologías y Seguridad
Tecnologías S T R I D E
Backup with Encryption X X
Row Level Security X X
Data Masking X
Always Encrypted X - X
Transparent Data Encryption X
SQL Audit X
Resource Governor X
Data Encryption X - X
25. Porque encriptar respaldos?
Atacante
Aplicación
Vulnerabilidades • Defectos de software con consecuencias de seguridad
Amenazas • Riesgos potenciales del software
Ataques • Intento de dañar o ganar acceso al Sistema
Explotación • Ataque exitoso
Borde de Confianza • Donde el nivel de confianza cambia para código o datos
26. Encriptación de Respaldos
Generar
Master Key
*
•CREATE
MASTER KEY
Crear
Certificado
•CREATE
CERTIFICATE
Respaldar
Certificado
•BACKUP
CERTIFICATE
Respaldo de
Base de
Datos
• BAKUP
DATABASE
WITH
ENCRYPTION
(…)
30. Como controlar acceso por fila?
Basado en
Filtros
(Vistas)
Basado en
Predicados
(Políticas)
31. Conceptos de RLS
Función de Predicado
• Fusión in-line definida de usuario que implementa la lógica
de seguridad
• Puede combinarse con JOINS que usan otras tablas
Predicado de seguridad
• Une a la función de predicado con la tabla y aplica a la
función a todos las consultas.
• Dos tipos de predicado: filtro y bloqueo
Política de Seguridad
• Colección de predicados de seguridad para manejar la
seguridad entre múltiples tablas
41. Encryption Types
Randomized
encryption
• Encrypt('123-45-6789') = 0x17cfd50a
• Repeat: Encrypt('123-45-6789') = 0x9b1fcf32
• Allows for transparent retrieval of encrypted
data but no operations
• More secure
Deterministic
encryption
• Encrypt('123-45-6789') = 0x85a55d3f
• Repeat: Encrypt('123-45-6789') = 0x85a55d3f
• Allows for transparent retrieval of encrypted
data and quality comparison (for example, in
WHERE clauses and joins, distinct, group by)
43. Agenda
• Definiciones
• Modelo Stride
Definiciones y Seguridad
• Respaldos Encriptados
• Seguridad a nivel de Fila
• Enmascaramiento de datos
• Siempre encriptado
Tecnologías