E.23. passwordcheck
Модуль passwordcheck проверяет пароли пользователей, задаваемые командами CREATE ROLE и ALTER ROLE. Если пароль признаётся слишком слабым, он не принимается и команда завершается ошибкой.
Чтобы задействовать этот модуль, добавьте строку '$libdir/passwordcheck' в переменную shared_preload_libraries в postgresql.conf, а затем перезапустите сервер.
Этот модуль можно приспособить к вашим нуждам, изменив исходный код. Например, для проверки паролей вы можете использовать библиотеку CrackLib — для этого нужно только раскомментировать две строки в Makefile и пересобрать модуль. (Мы не можем включить CrackLib по умолчанию из-за лицензии.) Без CrackLib этот модуль проверяет стойкость пароля по простым правилам, которые вы можете изменить или расширить по своему усмотрению.
Чтобы незашифрованные пароли не передавались по сети, не записывались в журнал сервера и не стали каким-либо образом известны администратору баз данных, PostgreSQL позволяет пользователю передавать предварительно зашифрованные пароли. Используя это, клиентские программы могут шифровать пароль, прежде чем передавать его серверу.
Это ограничивает полезность модуля passwordcheck, так как в этом случае можно только попытаться угадать пароль. Поэтому использовать passwordcheck не рекомендуется, когда требуется высокий уровень безопасности. Более безопасно будет применить внешний вариант проверки подлинности, например GSSAPI (см. Главу 19), а не использовать пароли, хранящиеся в базе данных.
Password Check
Другие идентичные по назначению опции: Security Option.

Опция Password Check предназначена для выбора варианта проверки пароля (кодового слова) BIOS. Один из вариантов опции предполагает установку пароля для загрузки компьютера, другой – для входа в BIOS Setup.
Принцип работы
Практически все BIOS позволяют установить для компьютера парольную защиту, препятствующую доступу к компьютеру нежелательных лиц. Опция Password Check предназначена для выбора разновидности данной защиты. Обычно опция имеет два варианта – Always и Setup.
Вариант опции Always позволяет установить пароль для загрузки операционной системы. При выборе данного варианта сразу после включения ПК (точнее говоря, после прохождения всех необходимых тестов аппаратного обеспечения) на экран выводится предложение о вводе кодового слова. Если пользователь вводит верное кодовое слово, то загрузка компьютера продолжается. Если слово оказывается неверным, то пользователю предлагается повторить попытку. Всего для ввода кодового слова обычно предоставляется три попытки. Если все они окончились неудачей, то загрузка ПК останавливается. Для того, чтобы вновь ввести кодовое слово, теперь необходимо будет снова перезапустить компьютер. Если же пользователь попробует нажать после включения компьютера клавишу Del, чтобы войти в BIOS, то ему тоже будет предлагаться ввести пароль.
Вариант Setup позволяет пользователю загружать ПК без ввода пароля. Однако предложение ввода пароля при выборе данного варианта будет демонстрироваться пользователю каждый раз при попытке входа в BIOS Setup.
Какое значение опции выбрать?
Ответ на данный вопрос во многом зависит от вашей политики безопасности. Если вы не хотите, чтобы вашим ПК ни при каких обстоятельствах не пользовались бы посторонние (или пользовались бы лишь доверенные лица, знающие пароль), то лучше всего установить вариант Always. Вариант Setup не столь строг, и позволяет другим людям осуществлять загрузку операционной системы на вашем компьютере. Пароль на вход в BIOS можно установить лишь в том случае, если вы боитесь, что пользующиеся компьютером люди (например, ваши дети) испортят установленные вами настройки BIOS или установят параметры, которые будут негативно отражаться на работе ПК.
Проверьте свой пароль с помощью Kaspersky Secure Password Check

Что интересно, бесплатный инструмент подчеркивает слабые места в парольной фразе. Например, пользователи будут предупреждены о повторяющихся символах, клавиатурных последовательностях и распространённых паролях или словах, даже если сам пароль является сильным.
Kaspersky Secure Password Check сравнивает время, необходимое для взлома пароля c различными задачам. Например, пароль может быть взломан за время, пока вы пройдете 1 км, или совершите долгое путешествие на вашем новом Ferrari.
Инструмент предназначен для ознакомительных целей. Тестируемые пароли не собираются и не сохраняются «Лабораторией Касперского».
В то время как инструмент является полезным, есть еще один важный аспект. Вы не сможете проверить свой настоящий пароль при посторонних, так как она отображается в виде простого текста (вместо точек), когда вы вводите его.
Поэтому не забудьте включить скрытие пароля «звездочками», иначе в офисе или в общественном месте вы рискуете передать свой пароль, тому кто проходит мимо.
Так сколько времени потребуется хакерам взломать ваш пароль? Проверьте с помощью Kaspersky Secure Password Check.
Новый алгоритм для проверки надёжности паролей
Многие сайты пытаются помочь пользователям установить более сложные пароли. Для этого устанавливают базовые правила, которые требуют обычно указать хотя бы одну прописную букву, одну строчную букву, одну цифру и так далее. Правила обычно примитивные вроде таких:
К сожалению, такие простые правила означают, что пароль Abcd1234 будет признан хорошим и качественным, так же как и Password1 . С другой стороны, пароль mu-icac-of-jaz-doad не пройдёт валидацию.
Некоторые специалисты говорят, что это не лучший вариант.
В реальности Abcd1234 и Password1 — плохие пароли, а mu-icac-of-jaz-doad — хороший пароль. В этом несложно убедиться.
Вот первые два пароля.


А вот два пароля, которые не пройдут проверку на надёжность.


Что же делать? Может, не стоит принуждать к использованию спецсимволов и внедрять всё новые правила, вроде запрета на повтор нескольких символов подряд, использование не одного, а двух-трёх спецсимволов и цифр, увеличение минимальной длины пароля и т д.
Вместо всего этого достаточно сделать простую вещь — просто установить ограничение на минимальную энтропию пароля, и всё! Можно использовать для этого готовый оценщик zxcvbn.