null

Лечим "RSA-SHA1 (broken!)" для LDAP в Ubuntu.

Сначала быстрое решение:
Добавить следующую строку в файл /etc/ldap/ldap.conf:

TLS_CIPHER_SUITE  NORMAL:%VERIFY_ALLOW_BROKEN

 

А теперь немного контекста.
На Ubuntu 20.04 LTS столкнулся проблемой, аналогичной этой.
Т.е. идём клиентом в LDAP (через STARTTLS), корневой сертификат в систему добавлен, но, например, следующая команда:

ldapwhoami -H ldap://domain.com -x -ZZ

говорит "ldap_start_tls: Connect error (-11)"

А следующая команда из пакета gnutls-bin:

gnutls-cli --print-cert --starttls-proto ldap -p 389 domain.com

проверяет цепочку сертификатов и сообщает следующее: "signed using RSA-SHA1 (broken!)",  "- Status: The certificate is NOT trusted."

Методом чтения документации, проб и ошибок, приходим к выводу, что ключевое слово NORMAL включает все секурные на данный момент алгоритмы, а %VERIFY_ALLOW_BROKEN допускает использование алгоритмов MD5 и SHA1 в подписях. Разделяются они двоеточием.
Итоговая команда для теста выглядит так:

gnutls-cli --print-cert --starttls-proto ldap -p 389 --priority NORMAL:%VERIFY_ALLOW_BROKEN domain.com

Ну а параметр конфига для LDAP я уже привёл в самом начале статьи.

Напоследок замечу, что на уровне всей системы эту задачу можно решить с помощью криптополитик.

Вперед