In che modo JDBC invia le password al server?

1

Sono davvero curioso di sapere come JDBC manda le password al server. Mentre capisco che è semplicemente un'API e dipende dall'implementazione, sono solitamente sottoposti a hash e quindi inviati al server?

Se potessi vedere la password in chiaro usando uno strumento come wireshark, vuol dire che è a causa di una cattiva implementazione o semplicemente del modo in cui funziona JDBC?

Qualcuno può darmi un esempio con qualsiasi db vendor? Pronuncia il driver JDBC MySQL o il driver JDBC Postgres?

    
posta NEO 18.05.2016 - 03:56
fonte

1 risposta

2

JDBC è un'API Java. Utilizza i driver del database JDBC per comunicare effettivamente con i server di database. Questi driver possono supportare o meno TLS.

Il driver JDBC PostgreSQL supporta TLS: link

Quindi, si collegherebbe al server del database usando TLS, quindi invierà il nome utente e la password per l'autenticazione. Non saresti in grado di vedere la password usando Wireshark.

PostgreSQL supporta anche "passa l'hash (md5) stile" autenticazione ma è non consigliato. Questo cancellerebbe la password con md5 sul client e la invierà al server.

    
risposta data 18.05.2016 - 10:26
fonte

Leggi altre domande sui tag