Настройка общей адресной книги в различных почтовых клиентах
В данной инструкции мы просто разберем настройку почтовых клиентов, а именно, подключение глобальной адресной книги 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 особенно важна в случаях, когда количество пользователей, имеющих доступ к серверам и проектам, постоянно растет.
Источник