Criptografar os Dados no Banco de Dados de Origem

O TDE (Transparent Data Encryption) criptografa de forma transparente os dados em repouso em um Oracle Database. Ele interrompe tentativas não autorizadas do sistema operacional de acessar dados do banco de dados armazenados em arquivos, sem afetar a forma como os aplicativos acessam os dados usando SQL. O TDE está totalmente integrado ao Oracle Database e pode criptografar backups inteiros do banco de dados (RMAN), exportações do Data Pump, tablespaces inteiros da aplicação ou colunas confidenciais específicas. Os dados criptografados permanecem criptografados no banco de dados, seja em arquivos de armazenamento de tablespaces, tablespaces temporários, tablespaces de undo ou outros arquivos, como redo logs.

Determine se o TDE está Ativado no Banco de Dados de Origem

Quando a TDE (Transparent Data Encryption) não está ativada no banco de dados de origem, os dados não são criptografados quando você migra o banco de dados para o Oracle Cloud Infrastructure (OCI) ou durante a recuperação de desastres. Será necessário criptografar manualmente os dados não criptografados. Uma vez no OCI, todos os novos dados são criptografados automaticamente.

  1. Determine se o tablespace está criptografado.
    SQL> select tablespace_name, encrypted from dba_tablespaces;

    Quando o tablespace não estiver criptografado, a saída terá uma aparência semelhante a:

    TABLESPACE_NAME 	       		ENC
    ------------------------------ ---
    SYSTEM                          NO
    SYSAUX                          NO
    UNDOTBS1                        NO
    TEMP                            NO
    USERS			      NO
  2. Localize os arquivos de dados do banco de dados associados (. dbf ) no sistema de arquivos.
    SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files;

    A saída terá uma aparência semelhante a esta:

    TABLESPACE_NAME
    ------------------------------
    FILE_NAME
    
    SYSTEM
    /opt/oracle/oradata/ORCLCDB/system01.dbf
    
    SYSAUX
    /opt/oracle/oradata/ORCLCDB/sysaux01.dbf
    
    UNDOTBS1
    /opt/oracle/oradata/ORCLCDB/undotbs01.dbf
    
    USERS
    /opt/oracle/oradata/ORCLCDB/users01.dbf

Ativar Criptografia TDE no Banco de Dados de Origem

A Criptografia de Dados Transparente (TDE) permite criptografar dados confidenciais armazenados em tabelas e tablespaces. Os dados criptografados são descriptografados de forma transparente para um usuário ou aplicativo de banco de dados que tem acesso aos dados.

  1. Vá para o diretório $ORACLE_BASE no banco de dados de origem.
    bash-4.2$ pwd
    /opt/oracle/admin/ORCLCDB
  2. Crie um diretório chamado wallet.
    $ mkdir wallet
  3. Crie a wallet, juntamente com uma senha segura que use uma mistura de caracteres alfanuméricos.
    Esta etapa cria e abre a wallet. Depois que o banco de dados é aberto, a wallet permanece aberta até que a wallet seja fechada explicitamente ou o banco de dados seja desativado, momento em que a wallet é fechada automaticamente.
    SQL> alter system set encryption key identified by "wallet_password";
  4. Reabra uma wallet fechada após o banco de dados ser reiniciado.
    SQL> alter system set wallet open identified by "wallet_password";
  5. Criptografar o tablespace.
    O código a seguir usa a criptografia AES-128.
    alter tablespace system encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/system01.dbf','/opt/oracle/oradata/ORCLCDB/system01_enc.dbf');
    
    alter tablespace sysaux encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/sysaux01.dbf','/opt/oracle/oradata/ORCLCDB/sysaux01_enc.dbf');
    
    alter tablespace undotbs1 encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/undotbs01.dbf','/opt/oracle/oradata/ORCLCDB/undotbs01_enc.dbf');
    
    alter tablespace users encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/users01.dbf','/opt/oracle/oradata/ORCLCDB/users01_enc.dbf');
    
  6. Verifique se o tablespace está criptografado.
    SQL> select tablespace_name, encrypted from dba_tablespaces;

    A saída terá uma aparência semelhante a esta:

    TABLESPACE_NAME 	       ENC
    ------------------------------ ---
    SYSTEM			    YES
    SYSAUX			    YES
    UNDOTBS1                       YES
    TEMP			      NO
    USERS			     YES
  7. Verifique se os arquivos de dados do banco de dados associados (. dbf ) no sistema de arquivos estão criptografados.
    SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files;

    A saída terá uma aparência semelhante a esta:

    TABLESPACE_NAME
    ------------------------------
    FILE_NAME
    
    SYSTEM
    /opt/oracle/oradata/ORCLCDB/system01_enc.dbf
    
    SYSAUX
    /opt/oracle/oradata/ORCLCDB/sysaux01_enc.dbf
    
    UNDOTBS1
    /opt/oracle/oradata/ORCLCDB/undotbs01_enc.dbf
    
    USERS
    /opt/oracle/oradata/ORCLCDB/users01_enc.dbf