PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 01/07/2022 17:50:14

tholot
Membre

passage en postresql 14 et encryption en shram plutot que md5

Bonjour à tous,

Je teste actuellement une montée en version de postgresql sur un serveur non en production.

Je me confronte au problème d'encryption des mots de passe.

Dans ma procédure de migration , je commence par réinjecter tous les comptes (en provenance d'un postgresql 12 donc encrypté en md5)

puis je restaure ensuite chacune des bases une a une.

Mon problème est simple y-a-t-il une méthode qui permet lors de la migration (je fabrique un fichier .dump pour stocker les comptes) que je relis afin de le réinjecter dans la version 14 qui permet de hasher les mots de passe avec la nouvelle méthode?

Dans mon cas je n'upgrade pas un serveur en place mais je renvoie la derniere sauvegarde fiable sur une nouvelle version (ce qui permet de partir sur une configuration logicielle et matérielle plus récente).

D'avance merci pour vos éclairages!

Bonne soirée!

Hors ligne

#2 01/07/2022 18:06:33

gleu
Administrateur

Re : passage en postresql 14 et encryption en shram plutot que md5

Non, les mots de passe sont exportés avec leur hachage MD5. Il n'est pas possible de revenir vers la version non hachée, et donc impossible de calculer le nouveau hachage avec SCRAM.


Guillaume.

Hors ligne

#3 04/07/2022 15:36:55

tholot
Membre

Re : passage en postresql 14 et encryption en shram plutot que md5

Bonjour Guillaume,
Merci pour ces éléments de réponses.
Je conclus donc que dans mon cas de figure  :

soit je remets la valeur md5 dans password_encryption dans le postgresql.conf du postgresql 14.

Soit je ne transfert pas ma base de compte et je ressaisis ou fait ressaisir tous les mots de passe par les utilisateurs.

J'espère que ma synthése est juste?

Bonne journée

Hors ligne

#4 04/07/2022 18:42:57

dverite
Membre

Re : passage en postresql 14 et encryption en shram plutot que md5

Le fait de mettre password_encryption scram-sha-256 signifie que les mots de passe saisis à compter du changement seront encodés en scram-sha-256. Ca n'a pas d'effet sur l'acceptation ou pas des connexions de comptes avec des mots de passe déjà existants en md5, et donc il n'y pas d'intérêt particulier à rétrograder password_encryption sur postgresql 14.
Sauf si vous avez des vieux clients SQL qui ne savent pas faire du SCRAM (par exemple driver JDBC avant la version 42.2) et que vous ne pouvez pas les mettre à jour. Dans ce cas il faut que tous les comptes anciens comme nouveaux soient en md5, donc password_encryption=md5 obligatoire.

En revanche dans pg_hba.conf si on met scram-sha-256 comme méthode, on exprime que c'est le minimum acceptable. Les comptes qui ont des mots de passe en md5 ne passeront plus. Mais si on met md5, ça veut dire md5 "ou mieux", c'est-à-dire md5 ou scram-sha-256.


Donc en gros, il  y a 3 options
1) si on veut se débarasser de md5 maintenant, pour augmenter la sécurité des connexions
- mettre password_encryption=scram-sha-256 et scram-sha-256 à la place de md5 dans pg_hba.conf
- recréer les mots de passe de tous les comptes (et il faut obligatoirement les connaître en clair pour faire ça)


2) si on veut  une transition douce, avec un mix scram pour les nouveaux mots de passe, md5 pour les anciens
- mettre password_encryption=scram-sha-256 et laisser md5  dans pg_hba.conf
- ne pas recréer les mots de passe existants


3) si on ne veut pas de scram pour le moment
- mettre password_encryption=md5 et laisser md5 dans pg_hba.conf

Hors ligne

#5 05/07/2022 08:12:32

tholot
Membre

Re : passage en postresql 14 et encryption en shram plutot que md5

Bonjour Daniel,

Merci pour cette explicitation vraiment très claire.

Je crois que je me suis laissé abusé par le message d'erreur de mes connexions avec mon super user.

En effet dans mon cas je restaure une sauvegarde déjà hashée en md5 alors que j'ai recrée le superuser localement sur la nouvelle machine en le hashan avec shram.

Donc la connexion locale passe sans soucis (psql -U monsuperuser), alors que l'exécution du fichier contenant les comptes m'a obligé à redescendre la connexion en md5 car je fais des connexions au bases vivantes et en pg 12 pour avoir des stats sur le nombre de tables à sauvegarder et les comparer avec la restauration sachant que j'utilise une méthode de connexion distinct (tcp/ip) pour me connecter ...

Merci pour votre aide

Dernière modification par tholot (05/04/2023 09:50:14)

Hors ligne

#6 08/07/2022 13:55:08

genamiga
Membre

Re : passage en postresql 14 et encryption en shram plutot que md5

Bonjour,

Il est quand vraiment dommage qu'il n'y ai pas la possibilité de réencoder les mots de passe en scram-sha...

Dernière modification par genamiga (08/07/2022 13:56:35)

Hors ligne

Pied de page des forums