passwordcheck
Модуль passwordcheck проверяет пароли пользователей, задаваемые командами
CREATE ROLE
или ALTER ROLE
. Если пароль признается слишком слабым, он не
принимается, и команда завершается ошибкой.
Чтобы загрузить этот модуль, добавьте строку '$libdir/passwordcheck'
в
переменную shared_preload_libraries в qhb.conf, а затем перезапустите
сервер.
Вы можете приспособить этот модуль к своим нуждам, изменив исходный код. Например, для проверки паролей можно использовать библиотеку CrackLib — для этого нужно только раскомментировать две строки в Makefile и пересобрать модуль. (Мы не можем включить CrackLib по умолчанию из-за лицензии.) Без CrackLib этот модуль проверяет надежность пароля по простым правилам, которые вы можете модифицировать или расширить по своему усмотрению.
ВНИМАНИЕ!
Чтобы незашифрованные пароли не передавались по сети, не записывались в журнал сервера и не стали каким-либо иным образом известны администратору базы данных, QHB позволяет пользователю передавать предварительно зашифрованные пароли. Многие клиентские программы могут воспользоваться этой функциональной возможностью и шифровать пароль, прежде чем передавать его серверу.
Это ограничивает полезность модуля passwordcheck, так как в этом случае он может лишь попытаться угадать пароль. По этой причине не рекомендуется использовать passwordcheck, если требуется высокий уровень безопасности. Более безопасно будет применить внешний метод проверки подлинности, например GSSAPI (см. главу Аутентификация клиентского приложения), чем полагаться на пароли в базе данных.
Как вариант, можно модифицировать passwordcheck, чтобы предварительно зашифрованные пароли не принимались, но если вынудить пользователей задавать пароли открытым текстом, это повлечет свои риски безопасности.