Árvore de páginas

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:

  1. Crie a chave via sqlplus:

    ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY <password>;
  2. 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
  3. 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)
  4. 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>;
  5. Verifique o status do wallet com a query abaixo.

    SQL> select * from v$encryption_wallet;
  6. 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 altered
  7. Criando 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;
No recurso usado havia um disco SSD em uma storage performática. O tamanho da tablespace era de 5 datafiles, de 30 GB cada, e o tempo para criptografar foi de 30 minutos (para as tablespaces de dados e de índices).