SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
Cifrando datos en
un ambiente Multitenant con
Oracle Transparent Data Encryption
Por Sebastián D’Alessandro.
.
 DBA, consultor, instructor Oracle - Arquitecto de Infraestructura
 20 años en IT aprox.
 +14 trabajando con tecnología Oracle
 Focalizado principalmente en:
• Seguridad de base de datos
• Alta disponibilidad
• Disasater recovery
• Performance
• Virtualización
www.sdalessandro.com
Agenda
1. Cifrado de datos.
2. Transparent Data Encryption.
3. TDE en ambientes Mutitenant.
4. Ejemplo de uso de TDE en ambiente Multitenant.
5. Conclusiones.
“El cifrado es el proceso de convertir un mensaje (datos) originalmente en
texto plano a un formato ilegible, aplicando un algoritmo en conjunto con una
clave (clave de cifrado) para que sólo pueda ser decodificado e interpretado
por quien tenga dicha clave.
La idea del cifrado es poder proteger datos “sensibles” que se encuentran
almacenados o en transito a traves de un medio que no presenta
protección”.
Cifrado de datos
Transparent Data Encryption
 Protege los datos almacenados a nivel físico.
 Datafiles, Redologs, Archivelogs, Dumps, RMAN
 Es parte de Oracle Advanced Security
 No es, ni reemplaza a ningún mecanismo de control de acceso
 Implementación transparente para las aplicaciones
 Dos modalidades de cifrado COLUMNAS y TABLESPACES
TDE – Dos niveles de granularidad de cifrado
 Cifrado a nivel de Columna
 Cifrado a nivel de Tablespace
 Permite granularizar el cifrado – Minimizar impacto en performance.
Características de TDE
 Bajo impacto en la performance.
 Arquitectura en dos capas para la gestión de claves.
 Los controles de acceso implementados a nivel aplicación o base de datos
permanecen intactos.
 Integración con tecnologías complementarias como:
Oracle Advanced Compression, Oracle Recovery Manager y
Oracle Multitenant.Aplicaciones como Siebel, JDEdwards,
E-Business Suite, etc.
Beneficios
 Fácil implementación. (Rápido, bajo impacto y económico).
 Alcanzar objetivos de compliance de manera rápida y segura.
 No requiere de cambios en la aplicación. Es totalmente transparente.
 No es necesario tablas, vistas y código adicional en la aplicación.
 Gestiona automáticamente las claves – La aplicación se despreocupa.
 Encripta los datos en: datafiles, redologs, archivelogs, RMAN files, dumps
 Encripta datos en memoria (solamente para el caso de columnas).
 Encripta a nivel índice.
 Permite la segregación de roles Admin. Seguridad - DBA
 Facilita los procesos de cambio de clave de cifrado (Rekeying).
Arquitectura de TDE
 Arquitectura de claves de cifrado basada en dos capas (two-tired).
 Para acceder a los datos almacenados en la base de datos y en backups es
necesario disponer de la Master Key.
 La Master Key es almacenada en un módulo de seguridad externo (fuera de
la base de datos):
• Oracle Software Keystore (Oracle Wallet versiones previas)
• Hardware Keystore (Hardware Security Module)
 Este solo puede ser accedido por el/los usuarios autorizados.
 La gestión de contraseñas requiere de privilegios especiales.
SYSKM o ADMINISTER KEY MANAGEMENT.
Algoritmos
Advanced Encryption Standart (AES)
Longitud de clave:
128 bits (AES128) - DEFAULT para cifrado a nivel tablespace
192 bits (AES192) - DEFAULT para cifrado a nivel columna
256 bits (AES256)
Triple Data Encryption Standart (3DES)
Longitud de clave:
168 bits (3DES168)
Almacenamiento de claves – Key Storage
 Key management Framework.
 Es un framework de gestión de claves de cifrado para TDE que
permite gestionar claves y credenciales.
 No diseñado para ser compartido por varias bases de datos.
 Archivo formateado de acuerdo a PKCS#12
Keystore
 Permite almacenar el historial de cambios de claves.
 Facilita la separación de roles entre en el DBA y el administrador
de seguridad. – Aún más importante con Multitenant.
 SYSKM – ADMINISTER KEY MANAGEMENT
 Facilita reset, rotación y operaciones de regeneración de claves.
 Provee backup.
 Puede ser almacenado en filesystems, ASM (RAC) y HSM.
 Permite la migración hacia y desde un HSM de manera muy
sencilla.
Algunos conceptos
Algunos conceptos utilizados en el cifrado y gestión de claves:
 Re-Keying (cambio de claves de encripción)
 SALT
 MAC (Message Authentication Code)
.
Cifrado de columnas
 Columnas consideradas críticas (información confidencial).
 Datos de columnas son encriptados y desencriptados por medio de una
TDE Table Key.
 Esta TDE Table Key es cifrada y descifrada por medio de la Master
Encryption Key (MEK).
 La Master Encryption Key (MEK) es almacenada en un módulo externo
llamado Keystore
.
Cifrado de columnas
Cifrado de tablespaces
 Objetos creados en el tablespaces cifrados automaticamente.
 Cifrado de varias columnas, tablas.
 Arquitectura de dos capas para almacenar las claves.
 El tablespace es cifrado por medio de una Tablespace Encryption Key.
 Esta TEK es cifrada por medio de la MEK que es almacenada en el Keystore.
 Los datos son protegidos para operaciones de JOIN y SORT.
(Protegidos en tablespaces temporales y UNDO)
 Oracle usa una única TDE MEK para tablespaces y columnas.
 TDE a nivel tablespace permite “index range scan” sobre los datos encriptados
en el tabespace. (A nivel columna esto no se permite).
Cifrado de tablespaces
Cambios de TDE en 12c
 El Keystore reemplaza al Wallet
 El Keystore puede ser almacenado en ASM - RAC
 Nuevo rol administrativo SYSKM y privilegio ADMINISTER KEY
MANAGEMENT.
.
Arquitectura multitenant
• Incrementa la utilización de los recursos de hardware del servidor.
• Gestionar varias bases de datos como una única.
• Aprovisionamiento de bases de datos de manera rápida, segura y ágil.
• Posibilidad de mover bases de datos de manera fácil entre distintos contenedores y
servidores.
.
Caracteristicas TDE en Multitenant
.
 Puede integrarse con Multitenant.
 Puede ser utilizado tanto para columnas como para tablespaces.
 El keystore reside en el host del contenedor multitenant NO dentro de
cada PDB en particular.
 Una Master Key por cada una de las PDB – cada PDB una tiene si propia
master key y puede gestionarla. .
 Operaciones de Plug & Unplug requieren la exportación de la Master Key
correspondiente.
 Existen operaciones que se deben realizar exclusivamente en el root
container. Operaciones estrcuturales del Keystore.
Operaciones de gestión de KEY
.
 Algunas operaciones solo pueden ser realizadas en el root container:
Operaciones relacionadas con la gestión del Keystore:
Crear keysore basado en password, aulogin
Cambiar la contraeña, Merge de software keytores
Backup / Migraciones a hardware keytore y viceversa-
 Algunas operaciones pueden ser realizadas desde el root o desde la PDB:
Operaciones sobre el keytore de gestión de master key:
Open, Close, Creación de Master Key, Export/Import etc.
 CONATINER=ALL Permite operaciones como open, close, creación de
TDE master encryption key, operaciones de rekey (afectan a las PDBs)
Realizadas desde el root para todas las PDBs:
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN CONTAINER=ALL;
Operación de Export/Import de clave
.  Transporte de datos de una base a otra (transportables
tablespaces, datapump, dataguard, MULTITENANT).
 La Master key en multitenant va pegada a la PDB.
 Realizar la operación desde la PDB, verificar que el Keystore este
abierto para la misma.
 Necesario para operaciones de unplug y plug de PDBs que utilizan
Transparent Data Encryption.
Ejemplo de uso de TDE
en ambiente Multitenant
.
Ejemplo de utilización de TDE en Multitenant
.
 Configuración del TDE keystore y gestión de las masterkeys.
 Verificación de funcionalidades de cifrado para columna y tablespaces.
.
 Pasos necesarios para una operación de “unplug” y “plug” de una PDBs
que está utilizando Transparent Data Encryption.
Ambiente:
. Host: myserver01
CDB: CDB1
PDB: PDB1
Esquema: HR
Ejemplo de movimiento de una PDB entre CDBs:
Host: myserver02
CDB: CDB2
PDB: PDB1
Esquema: HR
Configuración del Keystore – SQLNET.ORA
.
Establecer en el sqlnet.ora la ubicación del keystore:
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
ENCRYPTION_WALLET_LOCATION=
(SOURCE=
(METHOD=FILE)
(METHOD_DATA=
(DIRECTORY=/home/oracle/wallet)))
1. Parámetro: ENCRYPTION_WALLET_LOCATION (sqlnet.ora)
2. WALLET_LOCATION (sqlnet.ora)
3. Ubicación default del keystore:
$ORACLE_BASE/admin/DB_UNIQUE_NAME/wallet o
$ORACLE_HOME/admin/DB_UNIQUE_NAME/wallet
Creación de usuario con el rol SYSKM
.
SQL> CREATE USER c##admsec
IDENTIFIED BY admsec;
User created.
SQL> GRANT connect, resource, SYSKM TO c##admsec;
Grant succeeded.
Creación del Keystore
.
[oracle@myserver01]$ sqlplus c##admsec as SYSKM
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE
'/home/oracle/wallet' IDENTIFIED BY "0r4cl3";
keystore altered.
Verificando la creación del Keystore
.SQL> select * from V$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID
---------- ------------------------- --------- --------------- --------- --------- ------
FILE /home/oracle/wallet/ CLOSED UNKNOWN SINGLE UNDEFINED 0
SQL> host ls -lrt /home/oracle/wallet
total 16
-rw-r--r--. 1 oracle oinstall 4928 Jun 23 15:23 ewallet.p12
Formato de archivo PKCS#12 (Public-Key Cryptography Standards)
Apertura del Keystore
.
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY
"0r4cl3";
keystore altered.
Verificando la apertura del Keystore
.
SQL> SELECT * FROM V$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID
-------- -------------------- ------------------- -------------- --------- --------- ---------
FILE /home/oracle/wallet/ OPEN_NO_MASTER_KEY PASSWORD SINGLE UNDEFINED 0
Apertura autologin del Keystore
.SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM
KEYSTORE '/home/oracle/wallet' IDENTIFIED BY "0r4cl3";
keystore altered.
Verificando la creación del Keystore
.
SQL> SELECT * FROM V$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID
---------- ---------------------- -------- ---------------- --------- --------- ----------
FILE /home/oracle/wallet/ OPEN AUTOLOGIN SINGLE NO 0
SQL> host ls -lrt /home/oracle/wallet
total 16
-rw-r--r--. 1 oracle oinstall 4928 Jun 23 15:23 ewallet.p12
-rw-r--r--. 1 oracle oinstall 4501 Jun 23 15:26 cwallet.sso
Creación de la Master Key en la CDB
.
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "0r4cl3" WITH
BACKUP;
keystore altered.
Verificación de la Master Key en CDB
.
SQL> SELECT * FROM V$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID
---------- ------------------------- -------- -------------- --------- --------- ----------
FILE /home/oracle/wallet/ OPEN PASSWORD SINGLE NO 0
SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME
FROM V$ENCRYPTION_KEYS;
CON_ID KEY_ID KEYSTORE_TYPE CREATOR_DBNAME CREATOR_PDBNAME
------ ---------------------------------------------------- ------------------- -------------- --------------
0 Ac52v6i1xE+KvztJQ6SviEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE cdb1 CDB$ROOT
Apertura del Keystore en la PDB
.
Conexión a la PDB y verificación de status
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>ALTER SESSION SET CONTAINER=PDB1;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
PDB1
Apertura del Keystore en la PDB
.
Conexión a la PDB y verificación de status previo:
SQL> SELECT * FROM V$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID
---------- --------------------- ------------ ------------ --------- --------- ----------
FILE /home/oracle/wallet/ CLOSED UNKNOWN SINGLE UNDEFINED 0
SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME
FROM V$ENCRYPTION_KEYS;
no rows selected
Apertura del Keystore en la PDB
.
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN
IDENTIFIED BY "0r4cl3";
keystore altered.
Verificamos:
SQL> SELECT * FROM V$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID
---------- --------------------- ------------------- ----------- --------- --------- --------
FILE /home/oracle/wallet/ OPEN_NO_MASTER_KEY PASSWORD SINGLE UNDEFINED 0
SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME
FROM V$ENCRYPTION_KEYS;
no rows selected
Creación de la MasterKey en la PDB
.
SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "0r4cl3" WITH BACKUP;
keystore altered.
SQL> SELECT * FROM V$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID
---------- -------------------- ------- -------------- --------- --------- --------
FILE /home/oracle/wallet/ OPEN PASSWORD SINGLE NO 0
SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME FROM
V$ENCRYPTION_KEYS;
CON_ID KEY_ID KEYSTORE_TYPE CREATOR_DBNAME CREATOR_PDBNAME
------ ----------------------------------------------------- ----------------- -------------- ----------------
0 Aa8PlMTAuk+ev4216qNHHiEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE cdb1 PDB1
Cifrado de columna – Creación de tablas
.
SQL> sqlplus hr@pbd1
SQL> CREATE TABLE HR.EMP_CRYP01
2 (
CLIENT_ID NUMBER(6),
FIRST_NAME VARCHAR2(20 BYTE),
LAST_NAME VARCHAR2(25 BYTE) NOT NULL,
CREDIT_CARD_TYPE VARCHAR (25) ENCRYPT,
CREDIT_CARD# VARCHAR2(20 BYTE) ENCRYPT USING '3DES168' NO SALT
);
Table created.
SQL> CREATE TABLE HR.EMP_NOCRYP01
(
CLIENT_ID NUMBER(6),
FIRST_NAME VARCHAR2(20 BYTE),
LAST_NAME VARCHAR2(25 BYTE) NOT NULL,
CREDIT_CARD_TYPE VARCHAR (25),
CREDIT_CARD# VARCHAR2(20 BYTE)
);
Table created.
Cifrado de columna – Inserción de registros
.
SQL> INSERT INTO HR.EMP_CRYP01
VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> INSERT INTO HR.EMP_NOCRYP01
VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955');
1 row created.
SQL> COMMIT;
Commit complete
Cifrado de columna – Verificación
.
[oracle@myserver01 ~]$ sqlplus system@pdb1
SQL> select file_id, block_id, blocks
from dba_extents
where segment_name = 'EMP_CRYP01' and owner = 'HR';
FILE_ID BLOCK_ID BLOCKS
---------- ---------- ----------
25 128 8
SQL> ALTER SYSTEM FLUSH buffer_cache;
System altered.
SQL> ALTER SYSTEM checkpoint;
System altered.
SQL> ALTER SYSTEM DUMP datafile 25 block min 128 block max 143;
System altered.
Cifrado de columna – Verificación
.-rw-r-----. 1 oracle oinstall 176281 Jul 25 23:21 cdb1_ora_6263.trc
. . .
. . .
7F870EFA2D60 A9FC10B6 12D6FFCF 9547124C 3919E5A8 [........L.G....9]
7F870EFA2D70 5A3FE27B 555FEF53 53F24E5B 533AA834 [{.?ZS._U[N.S4.:S]
7F870EFA2D80 203F608B A251DB75 17278AC9 BCF92480 [.`? u.Q...'..$..]
7F870EFA2D90 0305012C 04390DC2 6E61754A 72655005 [,.....9.Juan.Per]
7F870EFA2DA0 332C7A65 AE043E16 60974AFE 1AE2FB66 [ez,3.>...J.`f...]
7F870EFA2DB0 FBB9DA11 54B59D74 F17B2B92 84AFE79B [....t..T.+{.....]
7F870EFA2DC0 D74D3425 34E7AADA C7999350 2C0DD00A [%4M....4P......,]
7F870EFA2DD0 98E26F92 51058921 B206A011 5AECB89E [.o..!..Q.......Z]
7F870EFA2DE0 9AE8877A 61F14D1F CB096CED 66C7C7E6 [z....M.a.l.....f]
7F870EFA2DF0 B0973BD7 06CB96FB 859FD5E0 E36E0601 [.;............n.]
Block header dump: 0x06400087
. . .
. . .
Cifrado de columna – Verificación
.
[oracle@myserver01 ~]$ sqlplus system@pdb1
SQL> select file_id, block_id, blocks
from dba_extents
where segment_name = 'EMP_NOCRYP01' and owner = 'HR';
FILE_ID BLOCK_ID BLOCKS
---------- ---------- ----------
25 136 8
SQL> ALTER SYSTEM FLUSH buffer_cache;
System altered.
SQL> ALTER SYSTEM checkpoint;
System altered.
SQL> ALTER SYSTEM DUMP datafile 25 block min 136 block max 135;
System altered.
Cifrado de columna – Verificación
.
-rw-r-----. 1 oracle oinstall 49601 Jul 25 23:21 cdb1_ora_6285.trc
. . .
7FA574B40E90 00000000 00000000 00000000 00000000 [................]
Repeat 497 times
7FA574B42DB0 00000000 2C000000 C5060300 39061C23 [.......,....#..9]
7FA574B42DC0 03C1024D 53595309 45535524 0305012C [M....SYS$USE,...]
7FA574B42DD0 04390DC2 6E61754A 72655005 4D0A7A65 [..9.Juan.Perez.M]
7FA574B42DE0 45545341 52414352 30301244 35342D31 [ASTERCARD.001-45]
7FA574B42DF0 302D3334 2D303930 35353938 E3AE0601 [43-0090-8955....]
Block header dump: 0x0640008f
. . .
Cifrado de tablespace – Creación
.
Conectados a la PDB verificamos los tablespaces existentes:
[oracle@myserver01]$ sqlplus system@pdb1
SQL> SELECT tablespace_name FROM dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
TEMP
USERS
4 rows selected.
Cifrado de tablespace – Creación
.
SQL> CREATE TABLESPACE NOENC_TBS DATAFILE
'/u02/oradata/cdb1/pdb1/noenc_tbs01.dbf' size 100m;
Tablespace created.
SQL> CREATE TABLESPACE ENC_TBS DATAFILE '/u02/oradata/cdb1/pdb1/enc_tbs01.dbf'
size 100m ENCRYPTION DEFAULT STORAGE (ENCRYPT);
Tablespace created.
SQL> SELECT tablespace_name, encrypted FROM dba_tablespaces;
TABLESPACE_NAME ENC
------------------------------ ---
SYSTEM NO
SYSAUX NO
TEMP NO
USERS NO
NOENC_TBS NO
ENC_TBS YES
6 rows selected.
Cifrado de tablespace – Creación de tablas
.
[oracle@myserver01]$ sqlplus hr@pdb1
SQL> CREATE TABLE HR.EMP_NOENC_TBS
(
EMPLOYEE_ID NUMBER(6),
FIRST_NAME VARCHAR2(20 BYTE),
LAST_NAME VARCHAR2(25 BYTE) NOT NULL,
CREDIT_CARD_TYPE VARCHAR (25),
CREDIT_CARD# VARCHAR2(20 BYTE)) TABLESPACE NOENC_TBS ;
Table created.
SQL> CREATE TABLE HR.EMP_ENC_TBS
(
EMPLOYEE_ID NUMBER(6),
FIRST_NAME VARCHAR2(20 BYTE),
LAST_NAME VARCHAR2(25 BYTE) NOT NULL,
CREDIT_CARD_TYPE VARCHAR (25),
CREDIT_CARD# VARCHAR2(20 BYTE)) TABLESPACE ENC_TBS ;
Table created.
Cifrado de tablespace – Insert de datos
.
SQL> INSERT INTO HR.EMP_NOENC_TBS
VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955');
1 row created.
SQL> commit;
Commit complete.
SQL> INSERT INTO HR.EMP_ENC_TBS
VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955');
1 row created.
SQL> COMMIT;
Commit complete
Cifrado de tablespace – Verificación
. Forzamos la escritura a disco:
[oracle@myserver01]$ sqlplus system@pdb1
SQL> ALTER SYSTEM FLUSH buffer_cache;
System altered.
SQL> ALTER SYSTEM checkpoint;
System altered.
Cifrado de tablespace – Verificación
. Verificación de contenido en tablespace NO CIFRADO:
[oracle@myserver01 pdb1]$ pwd
/u02/oradata/cdb1/pdb1
[oracle@myserver01]$ strings -a noenc_tbs01.dbf
}|{z
33CDB1
NOENC_TBS
...
..
.
$8.0
Juan
Perez
MASTERCARD
001-4543-0090-8955
Cifrado de tablespace – Verificación
.
Verificación de contenido en tablespace CIFRADO:
[oracle@myserver01 pdb1]$ strings -a enc_tbs01.dbf
}|{z
33CDB1
ENC_TBS
}%)|1+
Vl?4>
xS.v]
yVh5
e}E.X
j:e
9Bs&
~q:lHrVKB/
rF|c
43%L
_-0p
($0p<
Oj7U
n#Cwa
. . .
TDE y operaciones de plug y unplug
.
Pasos para la operación de unplug y plug de una PDB con TDE configurado:
1. Exportar las Master Key
2. Realizar el unplug de la PDB
3. Mover los archivos correspondientes incluido el export de la masterkey
4. Configurar la nueva CDB para utilizar TDE
5. Crear el Keystore correspondiente
6. Realizar el plug de la PDB en la nueva CDB
7. Importar el Keystore
8. Reiniciar la PDB y verificar
TDE y operaciones de plug y unplug
. Export de la masterkey de la PDB1 en la CDB1 de myserver01:
[oracle@myserver01 ~]$ sqlplus sys@pdb1 as sysdba
SQL> ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET
"sd0010" to '/home/oracle/exp_pdb1.p12' IDENTIFIED BY "0r4cl3";
keystore altered.
TDE y operaciones de plug y unplug
.
Aquí se debe realizar el unplug de la PDB1 de la CDB1 según los
procedimientos correspondientes:
También deben moverse al servidor los archivos necesarios, base de datos
PDB, manifiesto, etc y especialmente en nuestro caso el export de la
masterkey de la PDB1: /home/oracle/exp_pdb1.p12
.
TDE y operaciones de plug y unplug
.
Creación del Keystore en la CDB2 del servidor myserver02:
[oracle@myserver02]$ sqlplus / as sysdba
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/home/oracle/wallet/'
IDENTIFIED BY "3lc4r0";
almacen de claves modificado.
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY
"3lc4r0";
almacen de claves modificado
TDE y operaciones de plug y unplug
.
En este paso se debe realizar la creación (plug) de la PDB1 en la container
database CDB2, esto se debe realizar siguiendo los procedimientos
correspondientes:
SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN READ WRITE;
Warning: PDB altered with errors.
TDE y operaciones de plug y unplug
.
Import de la masterkey de la PDB1 en el keystore de la CDB2:
SQL> ALTER SESSION SET CONTAINER=pdb1;
Sesion modificada.
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "3lc4r0";
almacen de claves modificado.
SQL> select CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME
from v$encryption_keys;
ninguna fila seleccionada
SQL> ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET "sd0010"
FROM '/home/oracle/exp_pdb1.p12' IDENTIFIED BY "3lc4r0" WITH BACKUP;
almacen de claves modificado.
TDE y operaciones de plug y unplug
.
Verificación del Import de la masterkey de PDB1:
SQL> select CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME from
v$encryption_keys;
CON_ID KEY_ID KEYSTORE_TYPE CREATOR_DBN CREATOR_PDB
------ ---------------------------------------------------- ----------------- ------------ -----------
0 AdkNucaURE+5v1F7i9tlzO0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE CDB2 PDB1
Reinicio de la PDB:
SQL> SHUTDOWN;
Base de datos de conexion cerrada.
SQL> STARTUP;
Base de datos de conexion abierta.
Apertura del Keysotore en la PDB:
SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "3lc4r0";
almacen de claves modificado
.
Verificación consultando las tablas creadas:
[oracle@myserver02 dbs]$ sqlplus hr@pdb1 (TABLESPACE ENCRIPTADO)
SQL> select * from HR.EMP_ENC_TBS;
EMPLOYEE_ID FIRST_NAME LAST_NAME CREDIT_CARD_TYPE CREDIT_CARD#
----------- ------------ ------------ ------------------ -------------------
1256 Juan Perez MASTERCARD 001-4543-0090-8955
SQL> select * from HR.EMP_CRYP01; (COLUMNAS ENCRIPTADAS)
EMPLOYEE_ID FIRST_NAME LAST_NAME CREDIT_CARD_TYPE CREDIT_CARD#
----------- ------------ ------------ ------------------ -------------------
1256 Juan Perez MASTERCARD 001-4543-0090-8955
TDE y operaciones de plug y unplug
.
 Garantizar confidencialidad de los datos sensibles. (medio NO seguro).
 Como lo logramos?: cifrado o encripción.
 Oracle provee varias soluciones, la más completa e intergral es Transparent Data
Encryption (TDE).
 TDE es parte del opcional Oracle Advanced Security. (licenciamiento extra).
 Transparente para las aplicaciones. (Nivel de base de datos).
 Soporta la gran mayoría de “features” y funcionalidades de la base datos Oracle.
 Está certificado su uso con muchas aplicaciones del mercado Oracle/NO Oracle.
 Funciona y está soportado para ambientes MULTITENANT.
Conclusiones
Muchas Gracias!
Preguntas?

Weitere ähnliche Inhalte

Was ist angesagt?

Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2EQ SOFT EIRL
 
Gestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGuatemala User Group
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISGonzalo Chacaltana
 
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cGustavo Rene Antunez
 
Beneficios de Oracle Cloud
Beneficios de Oracle CloudBeneficios de Oracle Cloud
Beneficios de Oracle CloudDeiby Gómez
 
Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)barcelonajug
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.EtiCAGNU
 
HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2
HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2
HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2José Francisco Gómez Díez
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7Mario Alfonso
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 

Was ist angesagt? (20)

Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2
 
Arquitectura Multitenant en Oracle 12c
Arquitectura Multitenant en Oracle 12cArquitectura Multitenant en Oracle 12c
Arquitectura Multitenant en Oracle 12c
 
Gestión de grandes volúmenes de información
Gestión de grandes volúmenes de informaciónGestión de grandes volúmenes de información
Gestión de grandes volúmenes de información
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDIS
 
TALLER 2 COMANDOS PLSQL
TALLER 2 COMANDOS PLSQLTALLER 2 COMANDOS PLSQL
TALLER 2 COMANDOS PLSQL
 
Postgre
PostgrePostgre
Postgre
 
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
 
Meetup spark + kerberos
Meetup spark + kerberosMeetup spark + kerberos
Meetup spark + kerberos
 
Beneficios de Oracle Cloud
Beneficios de Oracle CloudBeneficios de Oracle Cloud
Beneficios de Oracle Cloud
 
Oracle Clusterware 12c
Oracle Clusterware 12cOracle Clusterware 12c
Oracle Clusterware 12c
 
Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)
 
Oracle rac
Oracle racOracle rac
Oracle rac
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 
HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2
HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2
HOWTO - Upgrade de la Infraestuctura Grid de Oracle11gR2 a Oracle12cR2
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7Manual de instalacion de Oracle - Windows 7
Manual de instalacion de Oracle - Windows 7
 
Admon PG 1
Admon PG 1Admon PG 1
Admon PG 1
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 

Andere mochten auch

The Latest HR Technology to Drive Productivity & Profit
The Latest HR Technology to Drive Productivity & ProfitThe Latest HR Technology to Drive Productivity & Profit
The Latest HR Technology to Drive Productivity & ProfitCornerstone OnDemand
 
Результати 2016 - Розвиток 2017
Результати 2016 - Розвиток 2017 Результати 2016 - Розвиток 2017
Результати 2016 - Розвиток 2017 APPAU_Ukraine
 
CIRCULAR ACTIVITATS EXTRAESCOLARS
CIRCULAR ACTIVITATS EXTRAESCOLARSCIRCULAR ACTIVITATS EXTRAESCOLARS
CIRCULAR ACTIVITATS EXTRAESCOLARSAlex Dominguez Puig
 
OBIEE 11.1.1.7: Upgrade y Nuevas Características
OBIEE 11.1.1.7: Upgrade y Nuevas CaracterísticasOBIEE 11.1.1.7: Upgrade y Nuevas Características
OBIEE 11.1.1.7: Upgrade y Nuevas CaracterísticasEdelweiss Kammermann
 
Burnout presentacion de tesis1
Burnout presentacion de tesis1Burnout presentacion de tesis1
Burnout presentacion de tesis1juanpi1985
 
Apresentação Laudo de Insalubridade e Periculosidade
Apresentação Laudo de Insalubridade e PericulosidadeApresentação Laudo de Insalubridade e Periculosidade
Apresentação Laudo de Insalubridade e PericulosidadeJussiê Pereira da Silva
 
Empowering Business Users: OBIEE 12c Visual Analyzer and Data Mashup
Empowering Business Users: OBIEE 12c Visual Analyzer and Data MashupEmpowering Business Users: OBIEE 12c Visual Analyzer and Data Mashup
Empowering Business Users: OBIEE 12c Visual Analyzer and Data MashupEdelweiss Kammermann
 
Turning Performance Feedback Into Positive Employee Engagement
Turning Performance Feedback Into Positive Employee EngagementTurning Performance Feedback Into Positive Employee Engagement
Turning Performance Feedback Into Positive Employee EngagementTalentMap
 

Andere mochten auch (12)

Cambio técnico y cambio social
Cambio técnico y cambio socialCambio técnico y cambio social
Cambio técnico y cambio social
 
Estilos.doc
Estilos.docEstilos.doc
Estilos.doc
 
Listado combinacion
Listado combinacionListado combinacion
Listado combinacion
 
The Latest HR Technology to Drive Productivity & Profit
The Latest HR Technology to Drive Productivity & ProfitThe Latest HR Technology to Drive Productivity & Profit
The Latest HR Technology to Drive Productivity & Profit
 
Результати 2016 - Розвиток 2017
Результати 2016 - Розвиток 2017 Результати 2016 - Розвиток 2017
Результати 2016 - Розвиток 2017
 
Cambio técnico y cambio social (1)
Cambio técnico y cambio social (1)Cambio técnico y cambio social (1)
Cambio técnico y cambio social (1)
 
CIRCULAR ACTIVITATS EXTRAESCOLARS
CIRCULAR ACTIVITATS EXTRAESCOLARSCIRCULAR ACTIVITATS EXTRAESCOLARS
CIRCULAR ACTIVITATS EXTRAESCOLARS
 
OBIEE 11.1.1.7: Upgrade y Nuevas Características
OBIEE 11.1.1.7: Upgrade y Nuevas CaracterísticasOBIEE 11.1.1.7: Upgrade y Nuevas Características
OBIEE 11.1.1.7: Upgrade y Nuevas Características
 
Burnout presentacion de tesis1
Burnout presentacion de tesis1Burnout presentacion de tesis1
Burnout presentacion de tesis1
 
Apresentação Laudo de Insalubridade e Periculosidade
Apresentação Laudo de Insalubridade e PericulosidadeApresentação Laudo de Insalubridade e Periculosidade
Apresentação Laudo de Insalubridade e Periculosidade
 
Empowering Business Users: OBIEE 12c Visual Analyzer and Data Mashup
Empowering Business Users: OBIEE 12c Visual Analyzer and Data MashupEmpowering Business Users: OBIEE 12c Visual Analyzer and Data Mashup
Empowering Business Users: OBIEE 12c Visual Analyzer and Data Mashup
 
Turning Performance Feedback Into Positive Employee Engagement
Turning Performance Feedback Into Positive Employee EngagementTurning Performance Feedback Into Positive Employee Engagement
Turning Performance Feedback Into Positive Employee Engagement
 

Ähnlich wie OTN Tour 2015 AROUG

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
Cuadro comparativo-de-manejadores-de-base-de-datos
Cuadro comparativo-de-manejadores-de-base-de-datosCuadro comparativo-de-manejadores-de-base-de-datos
Cuadro comparativo-de-manejadores-de-base-de-datoswoyxez
 
Instrucciones Transact Sql
Instrucciones Transact SqlInstrucciones Transact Sql
Instrucciones Transact SqlOlaya Molina
 
Instrucciones Transact S Q L
Instrucciones Transact  S Q LInstrucciones Transact  S Q L
Instrucciones Transact S Q LOlaya Molina
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloConferencias FIST
 
Taller nº2
Taller nº2Taller nº2
Taller nº2uceva
 
Los 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentesLos 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentesCesar Loor
 
Tres gestores de bases de datos
Tres gestores de bases de datosTres gestores de bases de datos
Tres gestores de bases de datossatakin_armando7
 
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...SolidQ
 
OVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptxOVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptxMARGOTHLORENAMARTINE
 
Integridad y seguridad de la informacion
Integridad y seguridad de la informacionIntegridad y seguridad de la informacion
Integridad y seguridad de la informacionGabo101101
 
Trabajo nuevo manejadores base de datos
Trabajo nuevo manejadores base de datosTrabajo nuevo manejadores base de datos
Trabajo nuevo manejadores base de datosantonietagarciavelas
 
Seguridad de los dispositivos de red
Seguridad de los dispositivos de redSeguridad de los dispositivos de red
Seguridad de los dispositivos de redCarlitos Alvarado
 
5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scriptsHelpSystems
 

Ähnlich wie OTN Tour 2015 AROUG (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
avanttic - webinar: Oracle Seguridad-Regulación (02-07-2015)
avanttic - webinar: Oracle Seguridad-Regulación (02-07-2015)avanttic - webinar: Oracle Seguridad-Regulación (02-07-2015)
avanttic - webinar: Oracle Seguridad-Regulación (02-07-2015)
 
Cuadro comparativo-de-manejadores-de-base-de-datos
Cuadro comparativo-de-manejadores-de-base-de-datosCuadro comparativo-de-manejadores-de-base-de-datos
Cuadro comparativo-de-manejadores-de-base-de-datos
 
Base datos
Base datosBase datos
Base datos
 
Instrucciones Transact Sql
Instrucciones Transact SqlInstrucciones Transact Sql
Instrucciones Transact Sql
 
Instrucciones Transact S Q L
Instrucciones Transact  S Q LInstrucciones Transact  S Q L
Instrucciones Transact S Q L
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el Desarrollo
 
Taller nº2
Taller nº2Taller nº2
Taller nº2
 
Los 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentesLos 10 Gestores de Base de Datos mas potentes
Los 10 Gestores de Base de Datos mas potentes
 
Tres gestores de bases de datos
Tres gestores de bases de datosTres gestores de bases de datos
Tres gestores de bases de datos
 
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
 
OVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptxOVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptx
 
Bd nosql clave valor
Bd nosql clave valorBd nosql clave valor
Bd nosql clave valor
 
Integridad y seguridad de la informacion
Integridad y seguridad de la informacionIntegridad y seguridad de la informacion
Integridad y seguridad de la informacion
 
Trabajo nuevo manejadores base de datos
Trabajo nuevo manejadores base de datosTrabajo nuevo manejadores base de datos
Trabajo nuevo manejadores base de datos
 
Seguridad de los dispositivos de red
Seguridad de los dispositivos de redSeguridad de los dispositivos de red
Seguridad de los dispositivos de red
 
Caracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL ServerCaracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL Server
 
5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts
 
Exposicion Mysql
Exposicion MysqlExposicion Mysql
Exposicion Mysql
 
Base de datos
Base de datos Base de datos
Base de datos
 

Kürzlich hochgeladen

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 

Kürzlich hochgeladen (20)

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 

OTN Tour 2015 AROUG

  • 1. Cifrando datos en un ambiente Multitenant con Oracle Transparent Data Encryption Por Sebastián D’Alessandro. .
  • 2.  DBA, consultor, instructor Oracle - Arquitecto de Infraestructura  20 años en IT aprox.  +14 trabajando con tecnología Oracle  Focalizado principalmente en: • Seguridad de base de datos • Alta disponibilidad • Disasater recovery • Performance • Virtualización www.sdalessandro.com
  • 3. Agenda 1. Cifrado de datos. 2. Transparent Data Encryption. 3. TDE en ambientes Mutitenant. 4. Ejemplo de uso de TDE en ambiente Multitenant. 5. Conclusiones.
  • 4. “El cifrado es el proceso de convertir un mensaje (datos) originalmente en texto plano a un formato ilegible, aplicando un algoritmo en conjunto con una clave (clave de cifrado) para que sólo pueda ser decodificado e interpretado por quien tenga dicha clave. La idea del cifrado es poder proteger datos “sensibles” que se encuentran almacenados o en transito a traves de un medio que no presenta protección”. Cifrado de datos
  • 5. Transparent Data Encryption  Protege los datos almacenados a nivel físico.  Datafiles, Redologs, Archivelogs, Dumps, RMAN  Es parte de Oracle Advanced Security  No es, ni reemplaza a ningún mecanismo de control de acceso  Implementación transparente para las aplicaciones  Dos modalidades de cifrado COLUMNAS y TABLESPACES
  • 6. TDE – Dos niveles de granularidad de cifrado  Cifrado a nivel de Columna  Cifrado a nivel de Tablespace  Permite granularizar el cifrado – Minimizar impacto en performance.
  • 7. Características de TDE  Bajo impacto en la performance.  Arquitectura en dos capas para la gestión de claves.  Los controles de acceso implementados a nivel aplicación o base de datos permanecen intactos.  Integración con tecnologías complementarias como: Oracle Advanced Compression, Oracle Recovery Manager y Oracle Multitenant.Aplicaciones como Siebel, JDEdwards, E-Business Suite, etc.
  • 8. Beneficios  Fácil implementación. (Rápido, bajo impacto y económico).  Alcanzar objetivos de compliance de manera rápida y segura.  No requiere de cambios en la aplicación. Es totalmente transparente.  No es necesario tablas, vistas y código adicional en la aplicación.  Gestiona automáticamente las claves – La aplicación se despreocupa.  Encripta los datos en: datafiles, redologs, archivelogs, RMAN files, dumps  Encripta datos en memoria (solamente para el caso de columnas).  Encripta a nivel índice.  Permite la segregación de roles Admin. Seguridad - DBA  Facilita los procesos de cambio de clave de cifrado (Rekeying).
  • 9. Arquitectura de TDE  Arquitectura de claves de cifrado basada en dos capas (two-tired).  Para acceder a los datos almacenados en la base de datos y en backups es necesario disponer de la Master Key.  La Master Key es almacenada en un módulo de seguridad externo (fuera de la base de datos): • Oracle Software Keystore (Oracle Wallet versiones previas) • Hardware Keystore (Hardware Security Module)  Este solo puede ser accedido por el/los usuarios autorizados.  La gestión de contraseñas requiere de privilegios especiales. SYSKM o ADMINISTER KEY MANAGEMENT.
  • 10. Algoritmos Advanced Encryption Standart (AES) Longitud de clave: 128 bits (AES128) - DEFAULT para cifrado a nivel tablespace 192 bits (AES192) - DEFAULT para cifrado a nivel columna 256 bits (AES256) Triple Data Encryption Standart (3DES) Longitud de clave: 168 bits (3DES168)
  • 11. Almacenamiento de claves – Key Storage  Key management Framework.  Es un framework de gestión de claves de cifrado para TDE que permite gestionar claves y credenciales.  No diseñado para ser compartido por varias bases de datos.  Archivo formateado de acuerdo a PKCS#12 Keystore  Permite almacenar el historial de cambios de claves.  Facilita la separación de roles entre en el DBA y el administrador de seguridad. – Aún más importante con Multitenant.  SYSKM – ADMINISTER KEY MANAGEMENT  Facilita reset, rotación y operaciones de regeneración de claves.  Provee backup.  Puede ser almacenado en filesystems, ASM (RAC) y HSM.  Permite la migración hacia y desde un HSM de manera muy sencilla.
  • 12. Algunos conceptos Algunos conceptos utilizados en el cifrado y gestión de claves:  Re-Keying (cambio de claves de encripción)  SALT  MAC (Message Authentication Code) .
  • 13. Cifrado de columnas  Columnas consideradas críticas (información confidencial).  Datos de columnas son encriptados y desencriptados por medio de una TDE Table Key.  Esta TDE Table Key es cifrada y descifrada por medio de la Master Encryption Key (MEK).  La Master Encryption Key (MEK) es almacenada en un módulo externo llamado Keystore .
  • 15. Cifrado de tablespaces  Objetos creados en el tablespaces cifrados automaticamente.  Cifrado de varias columnas, tablas.  Arquitectura de dos capas para almacenar las claves.  El tablespace es cifrado por medio de una Tablespace Encryption Key.  Esta TEK es cifrada por medio de la MEK que es almacenada en el Keystore.  Los datos son protegidos para operaciones de JOIN y SORT. (Protegidos en tablespaces temporales y UNDO)  Oracle usa una única TDE MEK para tablespaces y columnas.  TDE a nivel tablespace permite “index range scan” sobre los datos encriptados en el tabespace. (A nivel columna esto no se permite).
  • 17. Cambios de TDE en 12c  El Keystore reemplaza al Wallet  El Keystore puede ser almacenado en ASM - RAC  Nuevo rol administrativo SYSKM y privilegio ADMINISTER KEY MANAGEMENT. .
  • 18. Arquitectura multitenant • Incrementa la utilización de los recursos de hardware del servidor. • Gestionar varias bases de datos como una única. • Aprovisionamiento de bases de datos de manera rápida, segura y ágil. • Posibilidad de mover bases de datos de manera fácil entre distintos contenedores y servidores. .
  • 19. Caracteristicas TDE en Multitenant .  Puede integrarse con Multitenant.  Puede ser utilizado tanto para columnas como para tablespaces.  El keystore reside en el host del contenedor multitenant NO dentro de cada PDB en particular.  Una Master Key por cada una de las PDB – cada PDB una tiene si propia master key y puede gestionarla. .  Operaciones de Plug & Unplug requieren la exportación de la Master Key correspondiente.  Existen operaciones que se deben realizar exclusivamente en el root container. Operaciones estrcuturales del Keystore.
  • 20. Operaciones de gestión de KEY .  Algunas operaciones solo pueden ser realizadas en el root container: Operaciones relacionadas con la gestión del Keystore: Crear keysore basado en password, aulogin Cambiar la contraeña, Merge de software keytores Backup / Migraciones a hardware keytore y viceversa-  Algunas operaciones pueden ser realizadas desde el root o desde la PDB: Operaciones sobre el keytore de gestión de master key: Open, Close, Creación de Master Key, Export/Import etc.  CONATINER=ALL Permite operaciones como open, close, creación de TDE master encryption key, operaciones de rekey (afectan a las PDBs) Realizadas desde el root para todas las PDBs: ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN CONTAINER=ALL;
  • 21. Operación de Export/Import de clave .  Transporte de datos de una base a otra (transportables tablespaces, datapump, dataguard, MULTITENANT).  La Master key en multitenant va pegada a la PDB.  Realizar la operación desde la PDB, verificar que el Keystore este abierto para la misma.  Necesario para operaciones de unplug y plug de PDBs que utilizan Transparent Data Encryption.
  • 22. Ejemplo de uso de TDE en ambiente Multitenant .
  • 23. Ejemplo de utilización de TDE en Multitenant .  Configuración del TDE keystore y gestión de las masterkeys.  Verificación de funcionalidades de cifrado para columna y tablespaces. .  Pasos necesarios para una operación de “unplug” y “plug” de una PDBs que está utilizando Transparent Data Encryption.
  • 24. Ambiente: . Host: myserver01 CDB: CDB1 PDB: PDB1 Esquema: HR Ejemplo de movimiento de una PDB entre CDBs: Host: myserver02 CDB: CDB2 PDB: PDB1 Esquema: HR
  • 25. Configuración del Keystore – SQLNET.ORA . Establecer en el sqlnet.ora la ubicación del keystore: NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE) (METHOD_DATA= (DIRECTORY=/home/oracle/wallet))) 1. Parámetro: ENCRYPTION_WALLET_LOCATION (sqlnet.ora) 2. WALLET_LOCATION (sqlnet.ora) 3. Ubicación default del keystore: $ORACLE_BASE/admin/DB_UNIQUE_NAME/wallet o $ORACLE_HOME/admin/DB_UNIQUE_NAME/wallet
  • 26. Creación de usuario con el rol SYSKM . SQL> CREATE USER c##admsec IDENTIFIED BY admsec; User created. SQL> GRANT connect, resource, SYSKM TO c##admsec; Grant succeeded.
  • 27. Creación del Keystore . [oracle@myserver01]$ sqlplus c##admsec as SYSKM SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/home/oracle/wallet' IDENTIFIED BY "0r4cl3"; keystore altered.
  • 28. Verificando la creación del Keystore .SQL> select * from V$ENCRYPTION_WALLET; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID ---------- ------------------------- --------- --------------- --------- --------- ------ FILE /home/oracle/wallet/ CLOSED UNKNOWN SINGLE UNDEFINED 0 SQL> host ls -lrt /home/oracle/wallet total 16 -rw-r--r--. 1 oracle oinstall 4928 Jun 23 15:23 ewallet.p12 Formato de archivo PKCS#12 (Public-Key Cryptography Standards)
  • 29. Apertura del Keystore . SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "0r4cl3"; keystore altered.
  • 30. Verificando la apertura del Keystore . SQL> SELECT * FROM V$ENCRYPTION_WALLET; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID -------- -------------------- ------------------- -------------- --------- --------- --------- FILE /home/oracle/wallet/ OPEN_NO_MASTER_KEY PASSWORD SINGLE UNDEFINED 0
  • 31. Apertura autologin del Keystore .SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE '/home/oracle/wallet' IDENTIFIED BY "0r4cl3"; keystore altered.
  • 32. Verificando la creación del Keystore . SQL> SELECT * FROM V$ENCRYPTION_WALLET; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID ---------- ---------------------- -------- ---------------- --------- --------- ---------- FILE /home/oracle/wallet/ OPEN AUTOLOGIN SINGLE NO 0 SQL> host ls -lrt /home/oracle/wallet total 16 -rw-r--r--. 1 oracle oinstall 4928 Jun 23 15:23 ewallet.p12 -rw-r--r--. 1 oracle oinstall 4501 Jun 23 15:26 cwallet.sso
  • 33. Creación de la Master Key en la CDB . SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "0r4cl3" WITH BACKUP; keystore altered.
  • 34. Verificación de la Master Key en CDB . SQL> SELECT * FROM V$ENCRYPTION_WALLET; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID ---------- ------------------------- -------- -------------- --------- --------- ---------- FILE /home/oracle/wallet/ OPEN PASSWORD SINGLE NO 0 SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; CON_ID KEY_ID KEYSTORE_TYPE CREATOR_DBNAME CREATOR_PDBNAME ------ ---------------------------------------------------- ------------------- -------------- -------------- 0 Ac52v6i1xE+KvztJQ6SviEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE cdb1 CDB$ROOT
  • 35. Apertura del Keystore en la PDB . Conexión a la PDB y verificación de status SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL>ALTER SESSION SET CONTAINER=PDB1; Session altered. SQL> show con_name CON_NAME ------------------------------ PDB1
  • 36. Apertura del Keystore en la PDB . Conexión a la PDB y verificación de status previo: SQL> SELECT * FROM V$ENCRYPTION_WALLET; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID ---------- --------------------- ------------ ------------ --------- --------- ---------- FILE /home/oracle/wallet/ CLOSED UNKNOWN SINGLE UNDEFINED 0 SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; no rows selected
  • 37. Apertura del Keystore en la PDB . SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "0r4cl3"; keystore altered. Verificamos: SQL> SELECT * FROM V$ENCRYPTION_WALLET; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID ---------- --------------------- ------------------- ----------- --------- --------- -------- FILE /home/oracle/wallet/ OPEN_NO_MASTER_KEY PASSWORD SINGLE UNDEFINED 0 SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; no rows selected
  • 38. Creación de la MasterKey en la PDB . SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "0r4cl3" WITH BACKUP; keystore altered. SQL> SELECT * FROM V$ENCRYPTION_WALLET; WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR FULLY_BAC CON_ID ---------- -------------------- ------- -------------- --------- --------- -------- FILE /home/oracle/wallet/ OPEN PASSWORD SINGLE NO 0 SQL> SELECT CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS; CON_ID KEY_ID KEYSTORE_TYPE CREATOR_DBNAME CREATOR_PDBNAME ------ ----------------------------------------------------- ----------------- -------------- ---------------- 0 Aa8PlMTAuk+ev4216qNHHiEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE cdb1 PDB1
  • 39. Cifrado de columna – Creación de tablas . SQL> sqlplus hr@pbd1 SQL> CREATE TABLE HR.EMP_CRYP01 2 ( CLIENT_ID NUMBER(6), FIRST_NAME VARCHAR2(20 BYTE), LAST_NAME VARCHAR2(25 BYTE) NOT NULL, CREDIT_CARD_TYPE VARCHAR (25) ENCRYPT, CREDIT_CARD# VARCHAR2(20 BYTE) ENCRYPT USING '3DES168' NO SALT ); Table created. SQL> CREATE TABLE HR.EMP_NOCRYP01 ( CLIENT_ID NUMBER(6), FIRST_NAME VARCHAR2(20 BYTE), LAST_NAME VARCHAR2(25 BYTE) NOT NULL, CREDIT_CARD_TYPE VARCHAR (25), CREDIT_CARD# VARCHAR2(20 BYTE) ); Table created.
  • 40. Cifrado de columna – Inserción de registros . SQL> INSERT INTO HR.EMP_CRYP01 VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955'); 1 row created. SQL> COMMIT; Commit complete. SQL> INSERT INTO HR.EMP_NOCRYP01 VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955'); 1 row created. SQL> COMMIT; Commit complete
  • 41. Cifrado de columna – Verificación . [oracle@myserver01 ~]$ sqlplus system@pdb1 SQL> select file_id, block_id, blocks from dba_extents where segment_name = 'EMP_CRYP01' and owner = 'HR'; FILE_ID BLOCK_ID BLOCKS ---------- ---------- ---------- 25 128 8 SQL> ALTER SYSTEM FLUSH buffer_cache; System altered. SQL> ALTER SYSTEM checkpoint; System altered. SQL> ALTER SYSTEM DUMP datafile 25 block min 128 block max 143; System altered.
  • 42. Cifrado de columna – Verificación .-rw-r-----. 1 oracle oinstall 176281 Jul 25 23:21 cdb1_ora_6263.trc . . . . . . 7F870EFA2D60 A9FC10B6 12D6FFCF 9547124C 3919E5A8 [........L.G....9] 7F870EFA2D70 5A3FE27B 555FEF53 53F24E5B 533AA834 [{.?ZS._U[N.S4.:S] 7F870EFA2D80 203F608B A251DB75 17278AC9 BCF92480 [.`? u.Q...'..$..] 7F870EFA2D90 0305012C 04390DC2 6E61754A 72655005 [,.....9.Juan.Per] 7F870EFA2DA0 332C7A65 AE043E16 60974AFE 1AE2FB66 [ez,3.>...J.`f...] 7F870EFA2DB0 FBB9DA11 54B59D74 F17B2B92 84AFE79B [....t..T.+{.....] 7F870EFA2DC0 D74D3425 34E7AADA C7999350 2C0DD00A [%4M....4P......,] 7F870EFA2DD0 98E26F92 51058921 B206A011 5AECB89E [.o..!..Q.......Z] 7F870EFA2DE0 9AE8877A 61F14D1F CB096CED 66C7C7E6 [z....M.a.l.....f] 7F870EFA2DF0 B0973BD7 06CB96FB 859FD5E0 E36E0601 [.;............n.] Block header dump: 0x06400087 . . . . . .
  • 43. Cifrado de columna – Verificación . [oracle@myserver01 ~]$ sqlplus system@pdb1 SQL> select file_id, block_id, blocks from dba_extents where segment_name = 'EMP_NOCRYP01' and owner = 'HR'; FILE_ID BLOCK_ID BLOCKS ---------- ---------- ---------- 25 136 8 SQL> ALTER SYSTEM FLUSH buffer_cache; System altered. SQL> ALTER SYSTEM checkpoint; System altered. SQL> ALTER SYSTEM DUMP datafile 25 block min 136 block max 135; System altered.
  • 44. Cifrado de columna – Verificación . -rw-r-----. 1 oracle oinstall 49601 Jul 25 23:21 cdb1_ora_6285.trc . . . 7FA574B40E90 00000000 00000000 00000000 00000000 [................] Repeat 497 times 7FA574B42DB0 00000000 2C000000 C5060300 39061C23 [.......,....#..9] 7FA574B42DC0 03C1024D 53595309 45535524 0305012C [M....SYS$USE,...] 7FA574B42DD0 04390DC2 6E61754A 72655005 4D0A7A65 [..9.Juan.Perez.M] 7FA574B42DE0 45545341 52414352 30301244 35342D31 [ASTERCARD.001-45] 7FA574B42DF0 302D3334 2D303930 35353938 E3AE0601 [43-0090-8955....] Block header dump: 0x0640008f . . .
  • 45. Cifrado de tablespace – Creación . Conectados a la PDB verificamos los tablespaces existentes: [oracle@myserver01]$ sqlplus system@pdb1 SQL> SELECT tablespace_name FROM dba_tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX TEMP USERS 4 rows selected.
  • 46. Cifrado de tablespace – Creación . SQL> CREATE TABLESPACE NOENC_TBS DATAFILE '/u02/oradata/cdb1/pdb1/noenc_tbs01.dbf' size 100m; Tablespace created. SQL> CREATE TABLESPACE ENC_TBS DATAFILE '/u02/oradata/cdb1/pdb1/enc_tbs01.dbf' size 100m ENCRYPTION DEFAULT STORAGE (ENCRYPT); Tablespace created. SQL> SELECT tablespace_name, encrypted FROM dba_tablespaces; TABLESPACE_NAME ENC ------------------------------ --- SYSTEM NO SYSAUX NO TEMP NO USERS NO NOENC_TBS NO ENC_TBS YES 6 rows selected.
  • 47. Cifrado de tablespace – Creación de tablas . [oracle@myserver01]$ sqlplus hr@pdb1 SQL> CREATE TABLE HR.EMP_NOENC_TBS ( EMPLOYEE_ID NUMBER(6), FIRST_NAME VARCHAR2(20 BYTE), LAST_NAME VARCHAR2(25 BYTE) NOT NULL, CREDIT_CARD_TYPE VARCHAR (25), CREDIT_CARD# VARCHAR2(20 BYTE)) TABLESPACE NOENC_TBS ; Table created. SQL> CREATE TABLE HR.EMP_ENC_TBS ( EMPLOYEE_ID NUMBER(6), FIRST_NAME VARCHAR2(20 BYTE), LAST_NAME VARCHAR2(25 BYTE) NOT NULL, CREDIT_CARD_TYPE VARCHAR (25), CREDIT_CARD# VARCHAR2(20 BYTE)) TABLESPACE ENC_TBS ; Table created.
  • 48. Cifrado de tablespace – Insert de datos . SQL> INSERT INTO HR.EMP_NOENC_TBS VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955'); 1 row created. SQL> commit; Commit complete. SQL> INSERT INTO HR.EMP_ENC_TBS VALUES (1256, 'Juan','Perez','MASTERCARD','001-4543-0090-8955'); 1 row created. SQL> COMMIT; Commit complete
  • 49. Cifrado de tablespace – Verificación . Forzamos la escritura a disco: [oracle@myserver01]$ sqlplus system@pdb1 SQL> ALTER SYSTEM FLUSH buffer_cache; System altered. SQL> ALTER SYSTEM checkpoint; System altered.
  • 50. Cifrado de tablespace – Verificación . Verificación de contenido en tablespace NO CIFRADO: [oracle@myserver01 pdb1]$ pwd /u02/oradata/cdb1/pdb1 [oracle@myserver01]$ strings -a noenc_tbs01.dbf }|{z 33CDB1 NOENC_TBS ... .. . $8.0 Juan Perez MASTERCARD 001-4543-0090-8955
  • 51. Cifrado de tablespace – Verificación . Verificación de contenido en tablespace CIFRADO: [oracle@myserver01 pdb1]$ strings -a enc_tbs01.dbf }|{z 33CDB1 ENC_TBS }%)|1+ Vl?4> xS.v] yVh5 e}E.X j:e 9Bs& ~q:lHrVKB/ rF|c 43%L _-0p ($0p< Oj7U n#Cwa . . .
  • 52. TDE y operaciones de plug y unplug . Pasos para la operación de unplug y plug de una PDB con TDE configurado: 1. Exportar las Master Key 2. Realizar el unplug de la PDB 3. Mover los archivos correspondientes incluido el export de la masterkey 4. Configurar la nueva CDB para utilizar TDE 5. Crear el Keystore correspondiente 6. Realizar el plug de la PDB en la nueva CDB 7. Importar el Keystore 8. Reiniciar la PDB y verificar
  • 53. TDE y operaciones de plug y unplug . Export de la masterkey de la PDB1 en la CDB1 de myserver01: [oracle@myserver01 ~]$ sqlplus sys@pdb1 as sysdba SQL> ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "sd0010" to '/home/oracle/exp_pdb1.p12' IDENTIFIED BY "0r4cl3"; keystore altered.
  • 54. TDE y operaciones de plug y unplug . Aquí se debe realizar el unplug de la PDB1 de la CDB1 según los procedimientos correspondientes: También deben moverse al servidor los archivos necesarios, base de datos PDB, manifiesto, etc y especialmente en nuestro caso el export de la masterkey de la PDB1: /home/oracle/exp_pdb1.p12 .
  • 55. TDE y operaciones de plug y unplug . Creación del Keystore en la CDB2 del servidor myserver02: [oracle@myserver02]$ sqlplus / as sysdba SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/home/oracle/wallet/' IDENTIFIED BY "3lc4r0"; almacen de claves modificado. SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "3lc4r0"; almacen de claves modificado
  • 56. TDE y operaciones de plug y unplug . En este paso se debe realizar la creación (plug) de la PDB1 en la container database CDB2, esto se debe realizar siguiendo los procedimientos correspondientes: SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN READ WRITE; Warning: PDB altered with errors.
  • 57. TDE y operaciones de plug y unplug . Import de la masterkey de la PDB1 en el keystore de la CDB2: SQL> ALTER SESSION SET CONTAINER=pdb1; Sesion modificada. SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "3lc4r0"; almacen de claves modificado. SQL> select CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME from v$encryption_keys; ninguna fila seleccionada SQL> ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET "sd0010" FROM '/home/oracle/exp_pdb1.p12' IDENTIFIED BY "3lc4r0" WITH BACKUP; almacen de claves modificado.
  • 58. TDE y operaciones de plug y unplug . Verificación del Import de la masterkey de PDB1: SQL> select CON_ID,KEY_ID,KEYSTORE_TYPE,CREATOR_DBNAME,CREATOR_PDBNAME from v$encryption_keys; CON_ID KEY_ID KEYSTORE_TYPE CREATOR_DBN CREATOR_PDB ------ ---------------------------------------------------- ----------------- ------------ ----------- 0 AdkNucaURE+5v1F7i9tlzO0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE CDB2 PDB1 Reinicio de la PDB: SQL> SHUTDOWN; Base de datos de conexion cerrada. SQL> STARTUP; Base de datos de conexion abierta. Apertura del Keysotore en la PDB: SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "3lc4r0"; almacen de claves modificado
  • 59. . Verificación consultando las tablas creadas: [oracle@myserver02 dbs]$ sqlplus hr@pdb1 (TABLESPACE ENCRIPTADO) SQL> select * from HR.EMP_ENC_TBS; EMPLOYEE_ID FIRST_NAME LAST_NAME CREDIT_CARD_TYPE CREDIT_CARD# ----------- ------------ ------------ ------------------ ------------------- 1256 Juan Perez MASTERCARD 001-4543-0090-8955 SQL> select * from HR.EMP_CRYP01; (COLUMNAS ENCRIPTADAS) EMPLOYEE_ID FIRST_NAME LAST_NAME CREDIT_CARD_TYPE CREDIT_CARD# ----------- ------------ ------------ ------------------ ------------------- 1256 Juan Perez MASTERCARD 001-4543-0090-8955 TDE y operaciones de plug y unplug
  • 60. .  Garantizar confidencialidad de los datos sensibles. (medio NO seguro).  Como lo logramos?: cifrado o encripción.  Oracle provee varias soluciones, la más completa e intergral es Transparent Data Encryption (TDE).  TDE es parte del opcional Oracle Advanced Security. (licenciamiento extra).  Transparente para las aplicaciones. (Nivel de base de datos).  Soporta la gran mayoría de “features” y funcionalidades de la base datos Oracle.  Está certificado su uso con muchas aplicaciones del mercado Oracle/NO Oracle.  Funciona y está soportado para ambientes MULTITENANT. Conclusiones