Re: Question sur la sécurité PostgreSQL 9.6
Michael Paquier <[email protected]> Tue, 12 Dec 2017 08:05:20 +0900
| Newsgroups | gmane.comp.db.postgresql.french |
|---|---|
| Message-ID | <CAB7nPqSfeJvmWBfAM+vXwdPEBA-Q6xQAJXEdOAX4rLxiNae2Kw@mail.gmail.com> |
2017-12-12 2:57 GMT+09:00 talk to ben <[email protected]>: > J'ai trouvé cet article qui semble dire que sans ssl l'identification par > md5 est vulnérable car le hash du md5 apparait sur le réseau et peut être > utilisé pour s'authentifier: > > https://hashcat.net/forum/thread-4148.html > https://www.postgresql.org/message-id/[email protected] Ce problème s'appelle Pass the hash (https://en.wikipedia.org/wiki/Pass_the_hash). Il est simple de modifier un client libpq pour créer ce problème. Normalement un individu n'a pas accès à aux MD5 de mots de passe, mais si un attaquant a accès à des backups passés il peut facilement les extraire. Donc vous feriez mieux d'encrypter la connection. SCRAM résout aussi ces problèmes. Pour répondre à la question posée ici, si "password" est utilisé dans pg_hba.conf, oui le mot de passe est envoyé en clair. Si c'est "md5", le serveur envoie d'abord 4 octets comme sel, que le client utilise pour compiler md5(md5(password || username), salt), qui est ce que le serveur utilise pour la comparaison de mot de passe. Un sel ayant seulement 4 octets, et une compilation de MD5 étant très rapide, MD5 est sensible à ce qui s'appelle aux attaques par rejeu. -- Michael