Назад | Перейти на главную страницу

Что нужно помнить при настройке OpenLDAP в первый раз?

Я сейчас изучаю документацию и настраиваю OpenLDAP для обработки аутентификации по всей моей сети, для электронной почты, веб-служб, учетных записей пользователей и всего остального, что я мог бы использовать. Это не будет ничего СУПЕР большого, но я хочу, чтобы он был живым, поскольку я делаю это в своей домашней лаборатории.

О чем следует помнить или о чем-то, что всегда помнить при настройке OpenLDAP? Следует ли мне всегда использовать SSL? Стоит ли использовать Kerbeos? Было бы полезно иметь в виду все, что угодно.

Неполный список в произвольном порядке:

  • Использовать cn=config (видеть man slapd-config).
  • Настроить Мастер-Мастер репликация в вашем ядре.
  • Всегда используйте какое-то шифрование для аутентификации.
  • LDAPS (порт 636) устарел и заменен STARTTLS для LDAP.
  • SASL-GSSAPI и SASL-EXTERNAL полезны, если вы не очень любите вводить пароли.
  • Отключите механизм SASL, который вы не поддерживаете.
  • Не используйте корневой DN, когда вам это не нужно.
  • Обратите внимание на свои ACL (например, пользователи не должны иметь права на запись в uidNumber и gidNumber).
  • ldapseach -x -H $URI это анонимный поиск. (ldapwhoami -x -H $URI).
  • Ограниченные локальные реплики могут быть намного лучше, чем nscd (самостоятельный доступ через ldapi:///).
  • Оверлей memberof очень удобен для членства в группах.

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

Библиотеки SSL

Пакет Debian (и, следовательно, Ubuntu) OpenLDAP скомпилирован с использованием gnuTLS вместо OpenSSL. Это нормально для игры, но gnuTLS значительно медленнее в нашей сети. Я всегда перестраиваю пакет Ubuntu, скомпилированный с использованием OpenSSL.

Другие дистрибутивы могут делать то же самое или отличаться.

Kerberos

Kerberos действительно не кажется полезным в моей среде (~ 200 рабочих станций Linux, ~ 40 компьютеров Mac, серверы nfs, imap, smtp, веб-сервер). Ни одно из наших стандартных клиентских приложений не поддерживает аутентификацию Kerberos (Firefox, Thunderbird). Он будет просто использоваться на уровне хоста для NFS и как модуль PAM для аутентификации. Я думаю, что SSL может так же хорошо хранить пароли в секрете.

Если вы все же используете kerberos, вы должны использовать Heimdal для интеграции с оверлеем OpenLDAP smbk5pwd.

Клиентские библиотеки

Библиотека по умолчанию для nss от PADL немного раздута и хлопотна. Я рекомендую вам попробовать SSS или nss-pam-ldapd. Они оба очень хорошо работают в моем окружении.

SSS делает гораздо больше, чем библиотеки PADL. Он включает кеширование, поэтому вам не нужен nscd.

nss-pam-ldapd - это переработанная версия библиотек PADL, которая стала намного более эффективной.

Управление вашими данными

Я большой поклонник phpLDAPAdmin. Это позволяет очень легко просматривать ваши схемы и изменять отдельные записи.

Другие серверы LDAP

Они могут быть медленнее, но у них есть более продвинутые функции.

Возможно, вы захотите попробовать ApacheDS, поскольку он имеет встроенный Kerberos.

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

Некоторые вещи я рассмотрел бы следующие:

  • Имеет ли смысл LDAP в качестве системы аутентификации?
    • Если нет, что может быть лучше?
  • Имеет ли смысл LDAP в качестве системы авторизации?
    (авторизация будет выглядеть как sudoers)
    • Если нет, что может быть лучше?
  • Какая безопасность имеет смысл?
    • SSL? (в значительной степени определенно)
    • Керберос? (Все ли это поддерживает? Будет ли все поддерживать это в будущем?)
    • Что насчет безопасности в самом LDAP (ACL)
      • Разрешения объекта / поддерева
      • Доступен для просмотра / поиска ... (кто угодно (анонимно), зарегистрированные пользователи, администраторы и т. Д.)
      • Как пользователи будут менять свой пароль?
  • Как мы заставим отдельные рабочие станции уважать информацию LDAP?
    • pam_ldap / nss_ldap? (старый и сломанный, но работает)
    • pam_ldapd (новинка: меньшее количество LDAP-соединений, другие преимущества, но некоторые нереализованные функции)
  • Придется ли нам взаимодействовать с Windows - КОГДА-ЛИБО?
    (Если вы скажете здесь «да», вам действительно нужно использовать AD в качестве сервера LDAP)