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.
Pingback: Producing Transparent-mode Encrypted Backups – Bruno Santos da Silva
Pingback: Producing Transparent-mode Encrypted Backups – SWIV