Я перечислил пользователей с их паролями, используя ldapsearch
и пароли не указаны в открытом виде, но действительно ли это подтверждает, что они не хранятся в открытом виде?
Да нет наверное.
Я думаю ldapsearch
и например наложение политики паролей не заменяйте сохраненные пароли в открытом виде зашифрованной или хешированной версией в ответах поиска. Шифрование/хеширование паролей в открытом виде происходит только при установке/обновлении паролей. Я думаю, что в этом отношении вы можете доверять тому, что ldapsearch
показывает вам.
Но оба ldapsearch
и бездельник
отображать пользовательский пароль
в формате с кодировкой base64. Двойное двоеточие ::
после того, как имя атрибута используется для указания того, что значение закодировано в base64.
Пароль пользователя:: c2VjcmV0LXBhc3N3b3JkCg==
пароль пользователя:: e1NTSEF9RGtNVHdCbCthLzNEUVR4Q1lFQXBkVXROWEdnZFVhYzMK
На самом деле вы не узнаете, пока не расшифруете эту строку символов base64, является ли пароль хешированным или открытым текстом. Если вы найдете только пароли в виде {префикс хеша} соль/значение
:
Пароль пользователя: {SSHA}DkMTwBl+a/3DQTxCYEApdUtNXGgdUac3
Пароль пользователя: {SSHA}d0Q0626PSH9VUld7yWpR0k6BlpQmtczb
Пароль пользователя: {CRYPT}$1$czBJdDqS$TmkzUAb836oMxg/BmIwN.1
Пароль пользователя: {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
Пароль пользователя: {SMD5}4QWGWZpj9GCmfuqEvm8HtZhZS6E=
тогда ты в порядке. Пароли без такого префикса представляют собой обычный текст.
Просто проверить файл конфигурации недостаточно.
Верно. Когда хеширование/шифрование паролей включено/изменено, ни существующие пароли в открытом виде, ни существующие пароли, зашифрованные с помощью различных алгоритмов, не преобразуются.
Насколько мне известно, после изменения политики паролей по умолчанию существующий открытый текст и пароли, хэшированные с помощью других алгоритмов, также не перестанут работать, демон ldap просто перебирает все поддерживаемые механизмы всякий раз, когда выполняется запрос аутентификации.
Чтобы проверить содержимое фактических сохраненных данных в OpenLDAP, проще всего, вероятно, экспортировать базу данных в читаемый формат LDIF с помощью бездельник
; извлечь все значения атрибутов userPassword из этого LDIF и декодировать их с помощью base64.