Назад | Перейти на главную страницу

Изменить алгоритм хеширования паролей для пользователей SuSE с blowfish на MD5

У меня есть сеть из примерно 1000 машин SuSE с 20-200 пользователями на каждой. Используемый алгоритм хеширования паролей - по умолчанию, то есть blowfish. Чтобы проверить, использовал ли пользователь словарное слово в качестве пароля, написали небольшую утилиту, которая использует системный вызов crypt. Системный вызов crypt для blowfish выполняет 10 циклов и работает очень медленно. Это использует blowfish с 10 итерациями, поскольку алгоритм хеширования паролей невозможен. Следовательно, вы хотите изменить алгоритмы хеширования для всех пользователей на всех машинах на MD5. Может ли кто-нибудь предложить способ, который требует меньше всего или совсем не требует работы для пользователей.

Вы как бы задаете этот вопрос:

изменение алгоритма теневого хеширования на bcrypt: как перехешировать

по крайней мере, с точки зрения перехода от одного хеша к другому для / etc / shadow. Ваш наименее трудоемкий способ - заставить всех изменить свои пароли после того, как у вас установлен MD5 (хотя, я полагаю, использование чего-то вроде SHA тоже не было бы плохим).

Что касается предотвращения повторного ввода пользователями паролей на основе слов из словаря, посмотрите на запуск cracklib. по мере ввода пароля, а не задним числом. Это должно быть сделано через PAM (например, pam_cracklib.so вызывается для смены пароля). Вот информация о пакете CentOS для cracklib:

Name       : cracklib
Arch       : i386
Version    : 2.8.9
Release    : 3.3
Size       : 140 k
Repo       : installed
Summary    : A password-checking library.
URL        : http://sourceforge.net/projects/cracklib/
License    : Artistic
Description: CrackLib tests passwords to determine whether they match certain
           : security-oriented characteristics, with the purpose of stopping users
           : from choosing passwords that are easy to guess. CrackLib performs
           : several tests on passwords: it tries to generate words from a username
           : and gecos entry and checks those words against the password; it checks
           : for simplistic patterns in passwords; and it checks for the password
           : in a dictionary.

Там должен быть пакет или библиотека для SuSE.

В этом-то и дело. Если вы беспокоитесь о том, что люди получат хэши ваших паролей и взломают их (как вы пытаетесь это сделать), вам следует использовать более сильный хеш, чтобы усложнить задачу.

Если вас не беспокоит, что люди получат хэши ваших паролей, не стоит тратить время на их хеширование и просто хранить их в виде обычного текста.

Если вы хотите, чтобы ваши пользователи не выбирали небезопасные пароли, было бы лучше запретить им выбирать небезопасные пароли, используя что-то вроде passwdqc чем гонка против взломщиков, чтобы поймать их постфактум.