Из документации я получил этот конфиг, который работает, но использует соль,
хэш пароля {CRYPT} пароль-крипта-соль-формат "$ 6 $%. 16s"
и мне нужно хранить пароли в каталоге LDAP, которые были сгенерированы без использования солт-шифрования.
Вам лучше использовать другую схему хранения паролей, которая не выполняет посол, например {SHA} или {MD5} вместо {CRYPT}:
password-hash {SHA}
Если использование {CRYPT} являетсятребование:
Вы все еще можете предоставить статическую соль (! плохо, небезопасно, почти как если бы соли не было!), просто соблюдайте указанный формат:
password-crypt-salt-format "$6$%.16s"
$6$ - идентификатор крипты для схемы SHA512, и мы предоставляем соль длиной 16 символов:
$6$
SHA512
~$ mkpasswd -m sha-512 --salt 'verybadseasoning' secret1 $6$verybadseasoning$Q2kceqwB2uYT2tU./QF.qRCIWjMQdObEAZ71Ni5Ko1zJOnxUwpu3oMeyjtgiR3hSVHIT20Ay9V1.pXaNhkHYk/ ~$ mkpasswd -m sha-512 --salt 'verybadseasoning' secret2 $6$verybadseasoning$SHof1u2BCPJhYoVOk.LkWax7n5g28rzMkNCRAC5NmlT29GSeWLAlv2AoSkOS4rYfMUXsmTcyIxKDUU8aL7TlP0
Обратите внимание, что mkpasswd не разрешит использоватьпустая соль:
mkpasswd
~$ mkpasswd -m sha-512 --salt '' secret Wrong salt length: 0 bytes when 8 <= n <= 16 expected.
Или вы можете попробовать сделать crypt игнорировать данную / сгенерированную строку соли, какой бы она ни была (беря из нее нулевой символ):
password-crypt-salt-format "$6$%.0s"
Он говорит crypt () использовать алгоритм SHA512, при этом %s заменяется строкой из нулевых символов соли (%.0s).Я не могу сказать, делает ли slapd преобразование% s обязательным или нет, но установка "$6$" без какой-либо замены соли может помочь, так как означает то же самое (без соли), то есть:
%s
%.0s
"$6$"
~$ php -r 'print(crypt("secret", "$6$"));' $6$$2M9DchxW4txWyTYoZrH9D3VvAAQxBpEezYsLY6Cao.jwzEXpyL9xwip9hiUZX7GqTqe/E/z6iKvZqXUuqniQH.
См. slapd.conf (5)
Обратите внимание, что недостаток соли подвергает вашу систему атакам по словарю.
Вы можете просто импортировать записи пользователя с существующими значениями userPassword без соли. Проверка пароля будет работать при условии, что схема хеширования поддерживается вашей локальной установкой OpenLDAP.
Директивы config хэш пароля и формат пароля-крипты-соли при установке новых паролей.