Установка openldap astra linux

Системное администрирование Linux

2018-04-16 11:38:51 9633 0

Установка и настройка Openldap и веб-интерфейса phpLDAPAdmin

OpenLDAP — это открытая реализация LDAP. Однако настройка сервера является очень непростой задачей даже для опытного системного администратора. В этой статье мы рассмотрим инструмент, который способен упростить эту задачу и сделать работу с сервером более легкой и удобной. Будет рассмотрена установка и настройка инструмента с веб-интерфейсом для управления сервером Openldap, который носит название phpLDAPAdmin.

Установку и настройку будем производить на сервере с оператионный системой Ubuntu 16.04.

Установка необходимых пакетов

Вводим пароль Администратора openldap

Сменить его можно будет позже, когда будем выполнять переконфигурацию демона slapd

Переконфигурируем настройки пакета slapd

Запрос на пропуск конфигурирования slapd, отвечаем «No»:

Указываем DNS имя нашей области LDAP:

Указываем имя организационной единицы:

Меняем пароль администратора LDAP, можео поставить такой же как был рньше при установке:

Выбираем тип базы данных для хранения записей LDAP, вибираем MDB:

Удалять ли базу данных при удалении демона slapd, отвечаем «No»:

Перенести старую базу данных в backup? Говорим «YES»:

Разрешаем ли использование протокола LDAPv2, старая версия. Отвечаем «No»:

С настройкой slapd закончили.

Он потянет с собой кучу зависимостей вроде apache и php

Идем в конфигурационный файл /etc/phpldapadmin/config.php и правим некоторые секции

Указываем ip-адрес сервера Openldap

Указываем область LDAP, DNS имя при настройе

Указываем Администратора LDAP

Переходим к настройке веб-сервера Apache

Идем в файл конфигурации виртуального хотса /etc/apache2/sites-available/000-default.conf
И правим директивы. Указываем расположение директории с openldapadmin и алиас для URL.

Заходим через браузер http://ip-адрес/openldap

Попвдвем в веб-интерфейс

Логинимся на сервис под учетной записть Администратора LDAP

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

Установка и настройка phpldapadmin закончена, теперь можно производить настройку LDAP сервера из удобного веб-интервейса. Для безопасности не забудьте ограничить к нему доступ. Можно воспользоваться методами аутентификации, которые предлагает веб-сервер Apache, но это уже на ваш выбор.

Источник

Linux.yaroslavl.ru

Установка и настройка
Пред. Глава 10. Объединённая служба каталога (LDAP). След.

Установка и настройка

Процесс сборки и установки сервера OpenLDAP не отличается от сборки и установки другого программного обеспечения, поставляемого с исходными кодами. Кроме того, практически во всех современных дистрибутивах Linux он поставляется в виде готового пакета. Поэтому уделим больше внимания настройке.

Настройка сервера

Сервер LDAP состоит из двух серверных процессов slapd и slurpd. Процесс slapd занимается приёмом и обработкой запросов от клиентов; это основной процесс, который непосредственно работает с базой данных. Сервис slurpd используется в тех случаях, когда данные нужно реплицировать на другие сервера— он контролирует изменения в базе и при необходимости пересылает их на подчинённые сервера.

Читайте также:  Windows http log files

Приведём пример конфигурационного файла:

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

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

Корнем информационной структуры будет являться объект dc=example,dc=com. В принципе, суффикс для каталога можно взять любой, например, o=Example Inc.,c=RU— это не накладывает абсолютно никаких ограничений на функциональность. Однако последнее время все чаще используется именно первый вид суффикса, который подчёркивает, что информационная структура данного предприятия тесно связана со структурой его домена.

DN, описывающий администратора и его пароль. В данном случае пароль записан в открытом виде, поэтому файл конфигурации сервера должен иметь соответствующие права доступа, ограничивающие его чтение обычными пользователями. Пароль можно записать и в виде хэша DES или MD5— тогда строка будет иметь следующий вид:

Формат ldbm поддерживает простейшие индексы с целью ускорения операций поиска. Желательно создать такие индексы по тем атрибутам, по которым предполагается наибольшее количество запросов.

Не всегда данные каталога находятся в публичном доступе. Для управления доступам могут использоваться списки доступа ( access lists ). В данном примере приводятся два списка— в первом из них ограничивается доступ к атрибуту userPassword (полный доступ к нему могут иметь только сам объект либо администратор базы; для всех остальных доступ запрещён). Второе правило гласит, что всем даётся доступ на чтение любых данных (кроме ограниченного предыдущим правилом).

LDAP можно использовать для централизованной авторизации пользователей сети вместо NIS+. В таких случаях из каталога может запрашиваться конфиденциальная информация, например, пароль. Для предотвращения перехвата этих данных желательно использовать протокол LDAPS (LDAP via SSL/TLS).

После настройки можно сразу запустить процесс slapd— например, такой командой:

slapd -u ldap -h ldap://127.0.0.1/ ldaps://ldap.altlinux.ru/

или, если вы используете пакет из дистрибутивов ALT Linux

service ldap start

Первый объект, которые нужно создать в базе— это корневой элемент ( root entry ) который указан в конфигурационном файле как suffix.

Настройка репликации

Одной из важных особенностей LDAP являются встроенные средства репликации данных. Этот механизм реализован в виде отдельного серверного процесса, контролирующего изменения в базе данных и пересылающего эти изменения на другие сервера. Прежде чем включать такую репликацию, необходимо убедиться, что соответствующие данные на обоих серверах идентичны. Это связано с тем, что slurpd пересылает именно изменения на текущем сервере— он не проверяет и не анализирует состояние данных на удалённом сервере. Настройки slurpd находятся в том же файле, что и настройки slapd— поэтому перечислим, что нужно добавить к перечисленным выше параметрам:

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

Читайте также:  Топ иконки для windows 10

Для каждого подчинённого сервера описывается такая вот реплика. На подчинённом сервере нужно создать соответствующий объект и указать, что он имеет права на изменение информации. Это делается с помощью соответствующего списка доступа и параметров updatedn и updateref.

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

Существует огромное количество клиентов, работающих с LDAP. Это могут быть почтовые программы, которые обращаются к каталогу в поисках адреса электронной почты сотрудника или за информацией о маршрутизации почты, FTP-сервер, который берет информацию для авторизации своего клиента и многие другие программы— однако все они имеют схожие настройки. Прежде всего это адрес сервера и порт, на котором работает LDAP (обычно это 389 либо 636, если сервер поддерживает протокол LDAPS). Вторым важным параметром является база поиска ( Base DN )— в большинстве случаев этот параметр соответствует суффиксу сервера. Третий важный параметр— фильтр поиска. Кроме того, существуют параметры, позволяющие ограничить поиск снизу— например, только самой базой или базой и её под-объектами первого уровня, параметры управляющие поиском в алиасах ( alias ) и т.п.

Трёх этих параметров в большинстве случаев достаточно, чтобы выполнить запрос к любому серверу LDAP. Однако если на сервере существуют ограничения на доступ к данным, то может потребоваться авторизация. Авторизоваться в LDAP можно, указав DN одного из объектов базы данных LDAP; пароль для такого объекта будет искаться в его атрибуте userPassword.

Ниже приводится фрагмент настройки почтового сервера Postfix:

В данном фрагменте описывается, что при определении адреса получателя делается запрос в LDAP с целью найти объект которому это письмо адресовано. Поиск делается по атрибуту cn. Результат берётся из атрибутов mailLocalAddress и mailRoutingAddress. Эти классы и атрибуты описаны схемой misc.

Использование LDAP

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

После этого создадим пользователя ldap, от имени которого будет работать наш сервер и запустим процесс slapd следующей командой:

slapd -u ldap -h ‘ldap://127.0.0.1/ ldap//ldap.altlinux.ru/ ldaps://ldap.altlinux.ru’

Теперь можно создать базу данных— например, с помощью утилиты ldapadd:

ldapadd -xWD cn=admin,dc=altlinux,dc=ru -H ldaps://ldap.altlinux.ru -f initial.ldif

Содержимое файла initial.ldif будет такое:

Проверим, что сервер работает сделав к нему анонимный запрос:

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

Адресная книга

На сегодняшний день почти все популярные почтовые программы поддерживают возможность использовать LDAP как адресную книгу. В качестве примера возьмём пакет Mozilla ; установите пакеты libldap, mozilla, mozilla-mail и запустите программу. Далее:

откройте окно настройки (Edit->Preferences. );

Читайте также:  Com порт linux программирование

справа в опциях Address Autocompletion включите Directory Server и нажмите кнопку Edit Directories. ;

в новом окне нажмите кнопку Add и на вкладке General заполните поля Name: ExampleLDAP, Hostname:ldap.example.com и BaseDN:dc=example,dc=com;

при желании на вкладке Advanced можно указать ограничение на количество возвращаемых записей (по умолчанию это 100) и фильтр поиска.

После этого сохраните изменения— и теперь при заполнении поля To: можно писать не адрес, а имя получателя из атрибута cn. Программа произведёт соответствующий поиск и предложит варианты атрибута mail, которые найдёт в базе.

Для настройки другого пакета обратитесь к руководству пользователя вашей программы.

Маршрутизация почты в Postfix.

Предположим, что наше предприятие не имеет своего POP3/IMAP-сервера либо для некоторых сотрудников удобнее получать почту через другой сервер. Для этого нам необходимо принять почту пользователя, приходящую в наш домен, и переправить её на тот адрес который для сотрудника удобнее. Решений для этой задачи существует несколько: в простейшем варианте можно создать в домашнем каталоге пользователя файл .forward, в котором он сам мог бы указать нужный ему адрес. Однако усложним задание— предположим, что на нашем почтовом сервере нет учётной записи для данного пользователя; тогда получается, что этот файл некуда поместить. Второй вариант— настроить пересылку на самом сервере; для этого создается файл /etc/postfix/virtual приблизительного такого вида:

а в конфигурационном файле Postfix указывается

Теперь остаётся только создать хэш и перезапустить Postfix; однако, если мы имеем много таких пользователей и если почтовых серверов существует несколько, то отслеживать синхронное изменение файлов /etc/postfix/virtual становится нелёгкой задачей.

Немного модифицируем наше последнее решение. Перенесём данные из файла /etc/postfix/virtual в LDAP; для этого модифицируем приведённую выше базу следующим образом: добавим пользователю класс inetLocalMailRecipient и новый атрибут mailRoutingAddress.

После этого изменим настройки Postfix:

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

Централизованная авторизация.

Разобравшись с почтой, хочется перенести в LDAP и авторизацию. Обычно для этих целей используют NIS+, однако хочется использовать для этого более совершенную технологию— в конце концов, у нас уже есть сервер LDAP, содержащий все необходимые данные по нашим пользователям. Для того, чтобы система искала своих пользователей не только в файле /etc/passwd, необходимо установить пакеты nss_ldap и pam_ldap. Оба пакета имеют общий конфигурационный файл /etc/ldap.conf (в других дистрибутивах это могут быть другие файлы, но синтаксис у них одинаковый).

Подправим файл /etc/nsswitch.conf:

Теперь проверяем, подключены ли пользователи из базы:

Обратите внимание на то, что сейчас мы обращаемся к серверу по защищённому протоколу LDAPS. Поскольку теперь мы берём из базы крайне важную информацию— пароль пользователя, дополнительная степень защиты будет весьма кстати.

Источник

Оцените статью