Licenciamento
Esta feature é parte do pacote Oracle Advanced Security, e deve ser adquirida com o fornecedor à parte.
Ela também pode ser adquirida como uma opção adicional licenciada para o Oracle Database Enterprise Edition.
Para utilizar o TDE, é necessário configurar a Wallet que armazenará a chave-mestre de criptografia do TDE.
Primeiro, crie o diretório manualmente em qualquer lugar de seu sistema.
Atenção
Verifique se a variável ORACLE_BASE foi configurada. De acordo com as práticas recomendadas para o TDE, o uso da Wallet deve ser local, fora do $Oracle_Base.
A TOTVS não se responsabiliza pelo diretório de instalação, criação da Wallet e armazenamento da mesma.
A Wallet armazena credenciais de acesso à database. Assegure-se que apenas pessoas que possuam acesso à administração da database possam acessar a Wallet. Com acesso à Wallet, é possível visualizar todos os dados armazenados.
Criando a Wallet e criptografando as tablespaces:
Crie a chave via sqlplus:
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY <password>;
Crie o diretório para a Wallet manual, no sistema operacional. No nosso caso, deixamos abaixo da raiz da instalação do Oracle:
mkdir -p /u01/app/oracle/admin/PROTHEUS/wallet
Abra o arquivo sqlnet.ora para adicionar o arquivo keystore da wallet:
vim /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/sqlnet.ora
Adicione o seguinte conteúdo ao arquivo sqlnet.ora para criar o arquivo keystore do wallet de criptografia no diretório especificado:
ENCRYPTION_WALLET_LOCATION
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /u01/app/oracle/admin/PROTHEUS/wallet
)SQLNET.AUTHENTICATION_SERVICES = (NTS)Crie a wallet, juntamente com uma senha segura, com caracteres alfanuméricos. Ressaltamos que a TOTVS não é responsável por essa chave, recomenda-se o uso de um cofre ou procure um DBA para uma melhor forma de armazenar a chave.
SQL> alter system set encryption key identified by <password>;
Verifique o status do wallet com a query abaixo.
SQL> select * from v$encryption_wallet;
Se o status da wallet estiver em modo close, altere para open através da seguinte query:
SQL> alter system set wallet open identified by <password>;
System alteredCriando tablespaces vazias e criptografando-as:
create tablespace BRTS12127_DATA_ENCRY DATAFILE
'/u02/bases_protheus/BRTS12127_DATA_ENCRY01.dbf' SIZE 30G autoextend on,
'/u02/bases_protheus/BRTS12127_DATA_ENCRY02.dbf' size 30G autoextend on,
'/u02/bases_protheus/BRTS12127_DATA_ENCRY03.dbf' size 30G autoextend on
ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);create tablespace BRTS12127_INDX_ENCRY DATAFILE
'/u02/bases_protheus/BRTS12127_INDX_ENCRY01.dbf' SIZE 30G autoextend on,
'/u02/bases_protheus/BRTS12127_INDX_ENCRY02.dbf' size 30G autoextend on,
'/u02/bases_protheus/BRTS12127_INDX_ENCRY03.dbf' size 30G autoextend on
ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);Caso você já possua tablespaces utilizadas pelo Protheus, apenas altere a tablepsace para criptografá-la:
ALTER TABLESPACE BRTS12127_INDXV1 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE BRTS12127_DATAV1 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;