Blog
Segurança de Dados Oracle: Por Que Implementar o Native Network Encryption?
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
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)