Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Minha conexão JDBC com o banco de dados usa SSL ou não?


O suporte para SSL/TLS não é obrigatório na especificação JDBC. Portanto, você não pode esperar isso em todos os drivers.

A configuração SSL no servidor de banco de dados pode ser inferida a partir da URL JDBC, mas isso não precisa ser determinístico. No caso do Oracle, se você notar que a URL contém uma string de conexão que indica que o protocolo em uso é TCPS em vez de TCP, o que aponta para o uso de SSL/TLS. Se você estiver fazendo isso para validar uma configuração de segurança, eu o chamaria de desleixado.

Não é aconselhável verificar apenas a configuração do cliente para determinar se o servidor de banco de dados aceita conexões via SSL, especialmente se as conexões não SSL não forem permitidas. Os mecanismos para verificar a configuração SSL/TLS variam de banco de dados para banco de dados, mas haveria guias de segurança apropriados para configurar o banco de dados em cada caso.

Se você quiser fazer um teste rápido, no entanto, para verificar se a conectividade é sobre SSL/TLS, tudo o que você precisa saber é que as conexões seguras SSL/TLS são iniciadas com um handshake. Se você não vir nenhum, seu driver não está usando SSL/TLS. Você precisará sniffar o tráfego de rede para isso (certifique-se de ter autorização para fazê-lo). Obviamente, levaria mais tempo para estabelecer o caso se um pool de conexões estivesse em uso, pois as conexões físicas no pool poderiam ser reutilizadas várias vezes (sem que novas conexões fossem configuradas). Da mesma forma, você também pode achar o nmap útil, mas nunca o usei para essa finalidade.