Segurança de Dados Oracle: Por Que Implementar o Native Network Encryption? Um Estudo de Caso Prático

A criptografia da conexão em um banco de dados é fundamental para proteger a comunicação entre cliente/servidor, garantindo que dados não sejam interceptados por terceiros durante a transmissão.

Esta medida é especialmente importante em ambientes de rede onde há múltiplos usuários e dispositivos conectados, como redes corporativas ou na nuvem.

Através do Oracle Database Native Network Encryption é possível criptografar dados em trânsito, protegendo a comunicação entre cliente/servidor. Esse recurso é nativo do Oracle Database, e não requer a compra de software de terceiros ou configurações complexas para funcionar. A criptografia é aplicada diretamente ao tráfego de rede utilizando o protocolo TNS (Transparent Network Substrate).

Vantagens da sua utilização:

  • Simplicidade: A configuração é feita diretamente pelo arquivo de configuração sqlnet.ora, e não requer mudanças de infraestrutura, como a implementação de VPNs ou certificados SSL/TLS.
  • Desempenho: Sendo nativa, a criptografia está otimizada para trabalhar com o Oracle Database, geralmente com menor impacto no desempenho do que métodos de criptografia externos.
  • Flexibilidade de Configuração: Administradores podem facilmente configurar e exigir a criptografia entre clientes e servidores, com diferentes níveis de algoritmos suportados (como AES128, AES192 e AES256), ajustando o nível de segurança conforme necessário.
Neste artigo foi utilizado o wireshark para realizar uma coleta dos dados que estavam sendo trafegados entre uma estação e o servidor de banco de dados Oracle. 

Ao ativar o wireshark para coletar dados na porta 1521 e realizar uma consulta no banco  de dados, na tabela usuário é possível verificar os dados que estão sendo trafegados, conforme evidencias abaixo.

Exemplo sem a utilização do Native Network Encryption. Consulta realizada via prompt windows, usando o client oracle. 


Dados coletados no wireshark


Fazendo upload: 49832 de 49832 bytes.

Nas informações capturadas pelo wireshark é fácil identificar a consulta realizada, os campos que retornaram e algumas informação dos dados retornados, como nome e sobrenome.

Após implementar o native network encryption, a mesma consulta foi realizada. Veja que as informações coletadas pelo wireshark agora estão criptografadas, impossibilitando a identificação de qualquer informação.

Para habilitar a criptografia native network encryption é bastante simples, basta que sejam definidos alguns parâmetros no arquivo sqlnet.ora do servidor de banco e dados e do client. Segue um exemplo de configuração básica que pode ser utilizada para habilita-la.

Parâmetros no lado do servidor:

SQLNET.ENCRYPTION_SERVER = REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER = (definir um dos tipos de criptografia AES256, AES192, AES128)

Parâmetros no lado do client:

SQLNET.ENCRYPTION_CLIENT = REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER = (definir um dos tipos de criptografia AES256, AES192, AES128)

Artigos Relacionados: 

Fonte: https://docs.oracle.com/en/database/oracle/oracle-database/21/dbseg/configuring-network-data-encryption-and-integrity.html#GUID-972DB745-9022-46EC-9D06-A79EE5B2C437

Comentários