Как настроить клиент ldap

Настройка общей адресной книги в различных почтовых клиентах

В данной инструкции мы просто разберем настройку почтовых клиентов, а именно, подключение глобальной адресной книги LDAP-пользователей. Другие варианты централизованного хранения пользовательских email-адресов не является универсальным.

Настройка LDAP

Для связки с LDAP нам понадобится учетная запись с минимальными правами. Поэтому настройка сводится к простому созданию пользователя.

В моем примере будет создана учетная запись gab (Global Address Book).

В зависимости от настроек клиента, могут использоваться фильтры, в которых можно отсечь ненужные записи. В разных реализациях LDAP мы можем иметь дело с различными атрибутами и значениями. Например, в Active Directory класс пользователя будет person, а в OpenLDAP — user. Такие нюансы необходимо учитывать, поэтому стоит заранее изучить все поля, которые мы хотим использовать в адресной книге.

Mozilla Thunderbird

Запускаем почтовый клиент и переходим к настройкам адресной книги:

* также к настройке адресной книги можно перейти в меню Инструменты — Адресная книга. Или сочетанием клавиш Ctrl + Shift + B.

В открывшемся окне кликаем по ФайлСоздатьКаталог LDAP:

На вкладке Основное вводим данные для подключения к LDAP:

  • Название — произвольное название для адресной книги.
  • Имя сервера — сервер ldap (имя или IP-адрес).
  • Корневой элемент (Base DN) — корень, в котором нужно искать нужные учетные данные. Можно задать конкретный контейнер.
  • Порт — порт для подключения к глобальному каталогу.
  • Имя пользователя (Bind DN) — учетная запись для привязки к LDAP, которую мы создали в самом начале. Обратите внимание, что формат данной учетной записи может отличаться в зависимости от реализации службы каталогов, например, во FreeIPA в качестве bind dn нужно будет прописать uid=gab,cn=users,cn=accounts,dc=dmosk,dc=local (при условии, что именно по данному пути расположена учетная запись).

На вкладке Дополнительно добавляем фильтр (mail=*):

* данный фильтр позволяет отбросить все записи без email.

Попробуем поискать что-либо в адресной книге:

. мы увидим запрос на ввод пароля для учетной записи связывания с LDAP:

Вводим пароль — поиск должен показать результаты найденных учетных записей. Можно закрывать адресную книгу.

Переходим на настройкам почтового клиента Mozilla Thunderbird. Для этого кликаем по значку настройки и выбираем Настройки:

В разделе Составление находим подраздел Адресация. Ставим галочку для Сервере каталогов и выбираем нашу созданную книгу:

Настройка завершена. При составлении письма в разделе «Кому» пишем имя получателя для его поиска по общей книге.

MS Outlook

В случае использования почтового сервера Exchange, нет необходимости вручную создавать адресную книгу, так как она создается автоматически. Без Exchange (например, при использовании Postfix / hMailServer / exim) необходимо ее подключить вручную.

Запускаем почтовый клиент. Кликаем по Файл:

Переходим в Настройка учетных записей — еще раз Настройка учетных записей:

На вкладке Адресные книги кликаем по Создать:

На странице выбора типа каталога выбираем Служба каталогов Интернета (LDAP):

В следующем окне вводим адрес сервера LDAP и логин с паролем для подключения:

* Обратите внимание, что формат записи для имени пользователя может отличаться в зависимости от реализации службы каталогов, например, во FreeIPA в качестве bind dn нужно будет прописать uid=gab,cn=users,cn=accounts,dc=dmosk,dc=local (при условии, что именно по данному пути расположена учетная запись).

Кликаем по кнопке Другие настройки и вводим имя для адресной книги:

. а на вкладке Поиск, при необходимости, задаем базу для поиска и ставим галочку Включить предпросмотр (для отображения всех контактов в адресной книге при ее открытии):

Готово. Чтобы Outlook увидел новую адресную книгу, перезапускаем его.

Roundcube

Для подключения адресной книги в Roundcube открываем конфигурационный файл на сервере:

* в моем примере roundcube установлен в каталог /var/www/webmail.

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

$config[‘ldap_cache’] = ‘db’;
$config[‘ldap_cache_ttl’] = ’10m’;

  • autocomplete_addressbooks — перечень источников адресных книг. В нашем примере не первом месте идет база данных, на втором — LDAP.
  • ldap_public — список подключений к LDAP. В нашем примере будет одно со следующими параметрами:
    • name — имя адресной книги.
    • hosts — перечень ldap-сервером.
    • port — порт для подключения к LDAP.
    • use_tls — нужно ли использовать шифрованное соединение. В данном примере, нет, но если требуется, необходимо также изменить порт подключения.
    • base_dn — в каком базовом контейнере искать учетные данные.
    • bind_dn — учетная запись, от которой будет идти обращение к LDAP. Формат данной записи может отличаться в зависимости от реализации службы каталогов, например, во FreeIPA в качестве bind dn нужно будет прописать uid=gab,cn=users,cn=accounts,dc=dmosk,dc=local (при условии, что именно по данному пути расположена учетная запись).
    • bind_pass — пароль для учетной записи, от которой будет идти обращение к LDAP.
    • search_fields — поля, по которым будет осуществляться поиск учетной записи.
    • name_field — поле для имени учетной записи.
    • email_field — поле с email.
    • filter — фильтр поиска учетных записей. В данном примере раскомметированный фильтр больше подходит для Microsoft Active Directory.
    • * стоит иметь ввиду, что у разных реализаций LDAP поля могут иметь разные имена.
  • ldap_cache — место хранения кэша. Возможны варианты db, apc и memcache.
  • ldap_cache_ttl — время хранения кэша.

Открываем Roundcube и переходим в контакты. Мы должны увидеть новую адресную книгу с название, описанным в поле name.

Источник

Аутентификация клиентов при помощи LDAP на сервере Ubuntu 12.04

LDAP (или Lightweight Directory Access Protocol) – это протокол, позволяющий хранить данные аутентификации в одном централизованном месте. В предыдущей статье было показано, как настроить сервер LDAP на Ubuntu 12.04.

Данная статья поможет настроить удалённую аутентификацию клиентских машин.

Примечание: Для выполнения руководства нужны предварительно настроенный сервер Ubuntu 12.04 и установленный сервер LDAP. Также понадобится ещё один сервер Ubuntu 12.04, который будет использован в качестве клиента.

Установка пакетов клиента

На клиентскую машину нужно установить несколько пакетов для корректной поддержки аутентификации LDAP.

Чтобы загрузить эти пакеты из стандартного репозитория Ubuntu, используйте следующие команды:

sudo apt-get update
sudo apt-get install libpam-ldap nscd

Система задаст несколько стандартных вопросов и запросит некоторые данные, а именно:

  • Uniform Resource Identifier сервера LDAP: ldap://IP-адрес-сервера-LDAP.
  • Будет предложено изменить начальную строку ldapi:/// на ldap://, прежде чем продолжить вводить данные.
  • Distinguished name of the search base: Это значение должно совпадать с тем, что было внесено в файл /etc/phpldapadmin/config.php на сервере LDAP. Найдите в файле server, base, array (в предыдущем руководстве это были значения dc=test,dc=com).
  • LDAP version to use: 3
  • Make local root Database admin: Yes
  • Does the LDAP database require login? No
  • LDAP account for root: Это значение тоже должно совпадать с тем, что было внесено в файл /etc/phpldapadmin/config.php на сервере LDAP. Найдите в файле login, bind_id (в предыдущем руководстве это были значения cn=admin,dc=test,dc=com).
  • LDAP root account password: пароль root-пользователя

Если вы допустили ошибку и хотите её исправить, можете вернуться в это меню при помощи команды:

sudo dpkg-reconfigure ldap-auth-config

Настройка клиента

Теперь нужно отредактировать некоторые настройки, чтобы файлы аутентификации могли обращаться к серверу LDAP за информацией.

Для начала отредактируйте файл /etc/nsswitch.conf. Он позволяет настроить изменение учетных данных LDAP при запуске пользователями определённых команд аутентификации.

sudo nano /etc/nsswitch.conf

Найдите в файле строки passwd, group и shadow и отредактируйте их следующим образом:

passwd: ldap compat
group: ldap compat
shadow: ldap compat

Затем нужно добавить некоторые значения в настройки PAM.

PAM (или Pluggable Authentication Modules) – это система, которая соединяет приложения, обеспечивающие аутентификацию в тех приложениях, которые требуют проверки подлинности.

Система PAM внедрена по умолчанию на большинстве компьютеров, работает в фоновом режиме и не требует вмешательства пользователя. После установки модуля PAM для LDAP большая часть необходимой информации была добавлена в конфигурационные файлы.

Отредактируйте файл /etc/pam.d/common-session:

sudo nano /etc/pam.d/common-session

В конец файла добавьте строку:

session required pam_mkhomedir.so skel=/etc/skel umask=0022

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

Чтобы обновить настройки, перезапустите сервис:

sudo /etc/init.d/nscd restart

Права доступа

Как помните, во время настройки сервера LDAP была создана группа admin. Это название выбрано не случайно. Оно совпадает с названием группы, созданной на машине Ubuntu по умолчанию.

Пользователи LDAP, добавленные в группу admin, получают доступ к команде sudo согласно настройкам файла /etc/sudoers.

Отредактируйте этот файл:

%admin ALL=(ALL) ALL

Все записи, начинающиеся с символа %, обозначают группу, а не пользователя. Чтобы отключить доступ пользователей к команде sudo или передать права доступа только определённым пользователям, закомментируйте эту строку:

#%admin ALL=(ALL) ALL

Вход пользователя LDAP

Теперь клиентская машина настроена и может подключиться в качестве пользователя LDAP. Этот пользователь не должен существовать на клиентском компьютере.

В новом окне терминала создайте SSH-подключение к клиентскому компьютеру, используя учетные данные пользователя LDAP.

Примечание: Рекомендуется оставить исходное окно терминала на случай ошибок в конфигурации.

Пользователь должен подключиться так, будто он был создан локально. Запросите рабочий каталог:

Команда вернёт домашний каталог, созданный при входе этого пользователя.

Попробуйте выйти и войти снова как другой пользователь LDAP. На сервере появится ещё один домашний каталог пользователя:

ls /home
user1 user2

Если пользователь входит в группу admin, и вы не отключили доступ к sudo в предыдущем разделе, то тот пользователь сможет запускать команды с sudo.

Запустите команду passwd, чтобы изменить пароль. Как видите, сервер LDAP позволяет изменить учётные данные:

passwd
Enter login(LDAP) password:

Ограничение доступа по группам

Чтобы возможность войти на данный компьютер была только у членов определенных групп, можно отредактировать файлы PAM.

Откройте для редактирования с правами root:

sudo nano /etc/pam.d/common-auth

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

auth required pam_access.so

Сохраните и закройте файл.

Файл, к которому обращается PAM за информацией о доступе – /etc/security/access.conf. Откройте его:

sudo nano /etc/security/access.conf

В конец этого файла нужно добавить правило.

Символ тире в начале строки значит, что это ограничение. Между символами двоеточия указывается само правило.

В данном случае правило касается всех пользователей, кроме root и членов группы admin. Группы указываются в скобках.

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

-:ALL EXCEPT root (admin):ALL EXCEPT LOCAL

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

Заключение

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

Такой подход позволяет предотвратить рассредоточение, дублирование и потерю контроля над данными. Аутентификация LDAP особенно важна в случаях, когда количество пользователей, имеющих доступ к серверам и проектам, постоянно растет.

Источник

Читайте также:  Как починить раскладывающийся диван
Оцените статью