Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Ma connexion JDBC à la base de données utilise-t-elle SSL ou non ?

La prise en charge de SSL/TLS n'est pas obligatoire dans la spécification JDBC. Vous ne pouvez donc pas vous attendre à cela dans tous les pilotes.

La configuration SSL sur le serveur de base de données peut être déduite de l'URL JDBC, mais cela n'a pas besoin d'être déterministe. Dans le cas d'Oracle, si vous remarquez que l'URL contient une chaîne de connexion indiquant que le protocole utilisé est TCPS au lieu de TCP, ce qui indique l'utilisation de SSL/TLS. Si vous faites cela pour valider une configuration de sécurité, je vous appellerais bâclé.

Il est déconseillé de vérifier uniquement la configuration du client pour déterminer si le serveur de base de données accepte les connexions via SSL, en particulier si les connexions non SSL sont interdites. Les mécanismes de vérification de la configuration SSL/TLS varient d'une base de données à l'autre, mais il existe des guides de sécurité appropriés pour configurer la base de données dans chaque cas.

Si vous voulez faire un test rapide cependant, pour vérifier si la connectivité est sur SSL/TLS, alors tout ce que vous devez savoir est que les connexions sécurisées SSL/TLS sont initiées avec une poignée de main. Si vous n'en voyez pas, votre pilote n'utilise pas SSL/TLS. Vous devrez renifler le trafic réseau pour cela (assurez-vous que vous avez l'autorisation de le faire). Bien sûr, il faudrait plus de temps pour établir le cas si un pool de connexions était utilisé, car les connexions physiques du pool pourraient être réutilisées maintes et maintes fois (sans que de nouvelles connexions soient configurées). De même, vous pourriez également trouver nmap utile, mais je ne l'ai jamais utilisé à cette fin.