Configuring TDE (Transparent Data Encryption) for RMAN operations

Das 3 opções para utilizar criptografia no RMAN (Transparent Encryption, Password Encryption e Dual Mode encryption), em 2 delas é necessário ter o TDE (Transparent Data Encryption) habilitado no banco de dados. Neste artigo vamos abordar essa configuração mínima para que o recurso possa ser utilizado.

Criando um diretório onde o conteúdo de keystore será hospedado:

[oracle@oel8 RMANDB]$ pwd
/oracle/dados/RMANDB
[oracle@oel8 RMANDB]$ mkdir keystore
[oracle@oel8 RMANDB]$ cd keystore/
[oracle@oel8 keystore]$ pwd
/oracle/dados/RMANDB/keystore

Com o usuário de S.O que é o owner do banco de dados, vamos editar o arquivo sqlnet.ora adicionando o conteúdo abaixo:

[oracle@oel8 keystore]$ cd $ORACLE_HOME/network/admin
[oracle@oel8 admin]$ vi sqlnet.ora
ENCRYPTION_WALLET_LOCATION =  
(SOURCE =
 (METHOD = FILE)  (METHOD_DATA =
 (DIRECTORY = /oracle/dados/RMANDB/keystore)))

Conteúdo do arquivo:

[oracle@oel8 admin]$ cat sqlnet.ora
# sqlnet.ora Network Configuration File: /oracle/18.0.0/product/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
 
NAMES.DIRECTORY_PATH= (TNSNAMES,EZCONNECT)
 
ENCRYPTION_WALLET_LOCATION =
(SOURCE =
 (METHOD = FILE)  (METHOD_DATA =
 (DIRECTORY = /oracle/dados/RMANDB/keystore)))
[oracle@oel8 admin]$

Logando no banco de dados e criando o Keystore:

[oracle@oel8 admin]$ sqlplus / as sysdba
 
SQL*Plus: Release 18.0.0.0.0 - Production on Fri Jun 25 05:02:33 2021
Version 18.13.0.0.0
 
Copyright (c) 1982, 2018, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.13.0.0.0
 
SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/oracle/dados/RMANDB/keystore' IDENTIFIED BY oracle;
 
keystore altered.

Podemos notar que um arquivo (ewallet.p12) já foi criado em nosso diretório:

SQL> ! ls -al /oracle/dados/RMANDB/keystore
total 4
drwxr-xr-x. 2 oracle oinstall   25 Jun 25 05:02 .
drwxr-x---. 9 oracle oinstall  126 Jun 25 04:57 ..
-rw-------. 1 oracle oinstall 2555 Jun 25 05:02 ewallet.p12

De posse da senha que usamos para criar o Keystore, agora podemos fazer a sua abertura:

SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY oracle;
 
keystore altered.

Por fim, podemos criar um master encryption key que usaremos em artigos posteriores para as operações dentro do RMAN. Mas é importante citar que o recurso do TDE pode ser usado para criptografia de informações do banco de dados, e não só os seus backups:

SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY oracle WITH BACKUP USING 'RMAN';
 
keystore altered.

Podemos até consultar as chaves existentes com a query abaixo:

SQL> SELECT KEY_ID FROM V$ENCRYPTION_KEYS;
 
KEY_ID
------------------------------------------------------------------------------
AT9N7czvLk/pv70/WkuP9SIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

E consultando o nosso diretório, já temos um arquivo novo:

SQL> ! ls -al /oracle/dados/RMANDB/keystore
total 8
drwxr-xr-x. 2 oracle oinstall   66 Jun 25 05:06 .
drwxr-x---. 9 oracle oinstall  126 Jun 25 04:57 ..
-rw-------. 1 oracle oinstall 2555 Jun 25 05:06 ewallet_2021062508065797_RMAN.p12
-rw-------. 1 oracle oinstall 3995 Jun 25 05:06 ewallet.p12

Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laboratório pessoal para fins de aprendizado.

2 thoughts on “Configuring TDE (Transparent Data Encryption) for RMAN operations”

  1. Pingback: Producing Transparent-mode Encrypted Backups – Bruno Santos da Silva

  2. Pingback: Producing Transparent-mode Encrypted Backups – SWIV

Leave a Comment

Your email address will not be published.