Команда Openldap “ldapmodify” не запускается.

Вопрос или проблема

Я пытаюсь обновить параметр конфигурации на своем сервере openldap с помощью ldapmodify, но получаю следующую ошибку:

# ldapmodify -Y EXTERNAL -H ldapi:/// -f tls.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Confidentiality required (13)
        additional info: stronger confidentiality required

Другие ответы на другие вопросы приводят к тому, что недостаточно сильное значение SSF, которое в данный момент установлено на 70, но мой вопрос – это ситуация безвыходная? Мне нужно использовать ту же команду ldapmodify, чтобы обновить значение SSF, не так ли?

Любая помощь будет приветствоваться.

Используйте slapadd или slapmodify, чтобы вносить изменения непосредственно в базу данных, обходя сервер LDAP.

sudo -u ldap slapmodify -n 0 -w < tls.ldif
systemctl restart slapd

Или, если в вашей конфигурации бекэнда для cn=config определен “root DN” и вы знаете его пароль, выполните аутентификацию ldapmodify от имени этого DN, а не используя EXTERNAL.

Попробуйте безопасное соединение, например ldapmodify -H "$LDAP_URI" -x -ZZ -D cn=config -W -f tls.ldif.

.

Ответ или решение

Чтобы устранить ошибку при выполнении команды ldapmodify, связанную с требованной конфиденциальностью, необходимо глубоко разобраться в теории, потенциальных примерах и применении решений на практике.

Теория

Ошибка ldap_modify: Confidentiality required (13) указывает на то, что OpenLDAP сервер настроен требовать более сильный уровень конфиденциальности соединения. По умолчанию, для обеспечения надежности и безопасности, сервер может быть сконфигурирован так, чтобы отклонять попытки модификации данных, если они не защищены хотя бы минимальным уровнем защиты, заданным параметром ssf (security strength factor).

SSF определяет минимальную степень защиты, выраженную в битах, для передачи данных. Если текущий SSF установлен на значение выше текущего уровня вашего соединения (например, только с использованием ldapi без защищённого соединения), то требуемый минимум не будет достигнут, и вы увидите данную ошибку.

Пример

Рассмотрим ситуацию, когда администратор хочет изменить значение SSF для cn=config в OpenLDAP. В текущей конфигурации, например, SSF установлен на 70, и данная модификация из команды ldapmodify требует усиленного уровня защиты, который не был выполнен из-за использования только сокета ldapi без дополнительного уровня шифрования или аутентификации на стороне клиента.

# ldapmodify -Y EXTERNAL -H ldapi:/// -f tls.ldif
modifying entry "cn=config"
ldap_modify: Confidentiality required (13)
additional info: stronger confidentiality required

Применение

Итак, какие есть практические пути решения этой проблемы?

  1. Использование slapadd/slapmodify: Это инструмент, который может применяться для внесения изменений непосредственно в базы данных OpenLDAP, минуя сервер LDAP. Это может быть полезно в случае аварийного восстановления или необходимости изменения параметров конфигурации вне непосредственно работающего LDAP.

    sudo -u ldap slapmodify -n 0 -w < tls.ldif
    systemctl restart slapd

    Причем, требуется убедиться, что сервер остановлен на время внесения изменений, чтобы избежать конфликтов.

  2. Аутентификация с помощью root DN: Если cn=config настроено с использованием специфического root DN и вы знаете пароль, можно попробовать аутентификацию от его имени:

    ldapmodify -H "ldaps://your-ldap-server" -x -D "root_dn" -W -f tls.ldif

    Эта команда использует шифрованное соединение, благодаря чему требуемая конфиденциальность будет достигнута.

  3. Увеличение уровня конфиденциальности: Используйте соединение через STARTTLS или LDAPS, чтобы обеспечить необходимую степень защиты.

    ldapmodify -H "ldap://your-ldap-server" -x -ZZ -D cn=config -W -f tls.ldif

    Здесь ключ -ZZ устанавливает защиту соединения STARTTLS, что поднимает уровень SSF.

  4. Временное снижение требований к конфиденциальности: Если ваш сервер открыт только в ограниченном и управляемом сегменте сети, в ряде случаев можно временно настроить меньшие требования к SSF, чтобы произвести требуемые изменения.

Каждое из этих решений имеет свои плюсы и минусы, и выбор зависит от конкретной инфраструктуры, ваших политик безопасности и возможностей доступа к серверу.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...