Хеширование паролей Openldap с помощью olcPasswordHash

Я собираюсь сделать openldap для хранения всех хешированных атрибутов userPassword {SSHA} алгоритм. Мне удалось настроить базу данных внешнего интерфейса с помощью olcPasswordHash :

dn: olcDatabase={-1}frontend
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: {-1}frontend
structuralObjectClass: olcDatabaseConfig
creatorsName: cn=config
createTimestamp: 20181218082812Z
olcPasswordHash: {SSHA}     <------------configured with ldapmodify
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth

Но даже после перезапуска службы slapd новые изменения / создания паролей (я использую ldapvi для редактирования ldifs) все еще отображаются в открытом виде, и в ldap.log нет ничего плохого. Обратите внимание, что если я выберу запись пароля в зашифрованном формате (с тегом {SSHA} впереди), он будет работать нормально. Проблема в том, что когда я пишу его открытым текстом, он не шифруется автоматически после сохранения и выхода.

Есть идеи?

1
задан 31 May 2019 в 12:25
2 ответа

Когда ваш кеш страницы довольно велик (намного больше, чем ваше текущее использование подкачки), а подкачка и подкачка происходят по очереди, это когда вам нужно отбросить кеши. Я видел случаи, когда использование памяти увеличивалось на одном из моих серверов баз данных MariaDB под управлением Ubuntu 16.04LTS, а Linux просто увеличивал использование подкачки вместо удаления неиспользуемых кешей страниц. Прозрачные огромные страницы уже отключены в моей системе, потому что TokuDB требует, чтобы они были отключены. В любом случае, может быть, это и не ошибка, но Linux по-прежнему ведет себя так, что меня озадачивает. Различные источники заявили, что Linux удаляет кеш страниц, когда приложение запрашивает это:

Но на самом деле не все так просто. Обходной путь:

  1. Периодически запускать кэш отбрасывания
  2. Выполнять отбрасывание кеша, когда это необходимо (мониторинг с использованием vmstat 1 для замены действий)
  3. Посоветовать Linux удалить определенные файлы из кеша (как файлы журнала apache) с помощью таких утилит, как dd или python-fadvise. См. https://unix.stackexchange.com/questions/36907/drop-a-specific-file-from-the-linux-filesystem-cache

Пример выполнения dd:

dd if = / var /log/apache2/access_log.1 iflag = nocache count = 0

Пример python-fadvise:

pyadvise -d /var/log/apache2/access_log.1

121---3588-

Если вы хотите, чтобы slapd сгенерировал хеш пароля из значения userPassword в виде открытого текста в запросе на изменение, вам необходимо настроить slapo-ppolicy с помощью директивы ppolicy_hash_cleartext .

0
ответ дан 3 December 2019 в 23:04

Этот параметр применяется только при использовании расширенной операции RFC 3062, то есть при использовании ldappasswd . Просто редактировать записи с помощью обычных операций LDIF не получится. Если вы хотите заполнить записи зашифрованным значением, используйте slappasswd для генерации хэша.

Изменить: Если посмотреть конкретно на документацию ldapvi , кажется, что он использует LDIF-подобный формат с некоторыми расширениями. Чтобы получить зашифрованные атрибуты, вам нужно указать атрибут, используя форму:

userPassword:ssha mysecret

Я не думаю, что параметр olcPasswordHash имеет какое-либо отношение к этой функциональности.

1
ответ дан 3 December 2019 в 23:04

Теги

Похожие вопросы