F.22. passwordcheck

Le module passwordcheck vérifie les mots de passe des utilisateurs quand ils sont configurés avec CREATE ROLE(7) ou ALTER ROLE(7). Si un mot de passe est considéré trop faible, il sera rejeté et la commande terminera avec une erreur.

Pour activer ce module, ajoutez '$libdir/passwordcheck' dans le paramètre shared_preload_libraries du fichier postgresql.conf, puis redémarrez le serveur.

Vous pouvez adapter ce module à vos besoins en changeant son code source. Par exemple, vous pouvez utiliser CrackLib pour vérifier les mots de passe -- ceci requiert seulement la suppression des commentaires sur deux lignes du Makefile et la reconstruction du module. (Nous ne pouvons pas inclure CrackLib™ par défaut pour des raisons de licence.) Sans CrackLib™, le module force quelques règles simples sur la force du mot de passe, que vous pouvez modifier ou étendre au besoin.

[Attention]

Attention

Pour empêcher l'envoi en clair de mot de passe sur le réseau, leur écriture dans les journaux applicatifs ou leur récupération par un administrateur de bases de données, PostgreSQL™ permet à l'utilisateur de fournir des mots de passe déjà chiffrés. Beaucoup de programmes clients utilisent cette fonctionnalité et chiffrent le mot de passe avant de l'envoyer au serveur.

Ceci limite l'utilité du module passwordcheck car, dans ce cas, il peut seulement tenter de deviner le mot de passe. Pour cette raison, passwordcheck n'est pas recommandé si vos besoins en sécurité sont importants. Il est plus intéressant d'utiliser une méthode d'authentification externe comme GSSAPI (voir Chapitre 19, Authentification du client) plutôt que de se fier aux mots de passe internes.

Autrement, vous pouvez modifier passwordcheck pour rejeter les mots de passe pré-chiffrés, mais forcer les utilisateurs à initialiser les mots de passe en clair apporte son lot de problèmes de sécurité.