Можно ли настроить пароли OpenLDAP Crypt без использования соли? - PullRequest
1 голос
/ 05 апреля 2019

Из документации я получил этот конфиг, который работает, но использует соль,

хэш пароля {CRYPT} пароль-крипта-соль-формат "$ 6 $%. 16s"

и мне нужно хранить пароли в каталоге LDAP, которые были сгенерированы без использования солт-шифрования.

Ответы [ 2 ]

1 голос
/ 07 апреля 2019

Вам лучше использовать другую схему хранения паролей, которая не выполняет посол, например {SHA} или {MD5} вместо {CRYPT}:

password-hash {SHA}

Если использование {CRYPT} являетсятребование:

  • Вы все еще можете предоставить статическую соль (! плохо, небезопасно, почти как если бы соли не было!), просто соблюдайте указанный формат:

    password-crypt-salt-format "$6$%.16s"
    

    $6$ - идентификатор крипты для схемы SHA512, и мы предоставляем соль длиной 16 символов:

    ~$ 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 -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$" без какой-либо замены соли может помочь, так как означает то же самое (без соли), то есть:

    ~$ php -r 'print(crypt("secret", "$6$"));'
    $6$$2M9DchxW4txWyTYoZrH9D3VvAAQxBpEezYsLY6Cao.jwzEXpyL9xwip9hiUZX7GqTqe/E/z6iKvZqXUuqniQH.
    

См. slapd.conf (5)

Обратите внимание, что недостаток соли подвергает вашу систему атакам по словарю.

0 голосов
/ 06 апреля 2019

Вы можете просто импортировать записи пользователя с существующими значениями userPassword без соли. Проверка пароля будет работать при условии, что схема хеширования поддерживается вашей локальной установкой OpenLDAP.

Директивы config хэш пароля и формат пароля-крипты-соли при установке новых паролей.

...