Как установить и настроить сервер OpenLDAP на Ubuntu

В современном быстро меняющемся цифровом мире отслеживание учетных записей пользователей и контроль доступа – нелегкая задача. Но не бойтесь! OpenLDAP – это решение ваших проблем, широко распространенная открытая реализация протокола доступа к каталогам (LDAP).

Этот учебник проведет вас через все тонкости настройки сервера OpenLDAP на вашем компьютере с Ubuntu. Прощайте рассеянные данные пользователей, здравствуйте, централизованное управление, аутентификация и авторизация.

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

Предварительные требования

В этом учебнике содержатся практические демонстрации по настройке сервера OpenLDAP. Если вы хотите следовать за мной, убедитесь, что у вас есть следующее:

  • Два компьютера (один для сервера и один для клиента), работающие под управлением Ubuntu 20.04 или более поздней версии.
  • A non-root user with sudo privileges on both machines.

Установка сервера OpenLDAP на UbuntuПосле обеспечения готовности вашей системы вы погружаетесь в сердце вашей настройки, устанавливая сервер OpenLDAP. LDAP имеет большое значение в администрировании сервера, особенно при управлении учетными записями пользователей и контроле доступа в сети организации.

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

Чтобы установить сервер OpenLDAP на вашу систему, выполните следующие действия:

? На протяжении этого руководства вам необходимо использовать свой домен для замены ata.com.

1. Откройте терминал и выполните следующую команду, чтобы установить имя вашего хоста (например, ldap.ata.com). Эта команда не выводит результаты в терминал, но позволяет другим устройствам в сети распознать ваш компьютер.

sudo hostnamectl set-hostname ldap.ata.com

2. Затем запустите команду apt update ниже, чтобы обновить индекс пакета вашей системы.

sudo apt update -y
Updating the system’s package list

3. После обновления запустите следующую команду apt install, чтобы установить веб-сервер Apache и необходимые компоненты (модули PHP). Эти компоненты необходимы для правильной работы OpenLDAP.

sudo apt install apache2 php php-cgi libapache2-mod-php php-mbstring php-common php-pear -y
Installing Apache web server and essential PHP modules

4. Теперь вызовите эту команду, чтобы установить сервер OpenLDAP и LDAP Account Manager (LAM), удобное веб-приложение для управления учетными записями.

sudo apt install slapd ldap-utils -y && sudo apt install ldap-account-manager -y
Installing the OpenLDAP server and LAM

5. Укажите пароль администратора для вашего сервера LDAP при запросе во время установки.

Providing an admin password for the LDAP server

6. После установки выполните следующую команду systemctl, чтобы подтвердить статус сервера OpenLDAP (slapd).

sudo systemctl status slapd
Confirming the OpenLDAP server is active and running

7. Наконец, запустите нижеследующую команду slapcat, чтобы проверить содержимое базы данных LDAP.

sudo slapcat

A list of default schemas and configurations below indicates that OpenLDAP has been installed correctly.

Checking the LDAP database contents

Защита сервера OpenLDAP с помощью брандмауэра UFW

Вы успешно установили сервер OpenLDAP, но перед тем как он сможет защищать вашу сеть, его необходимо укрепить. Как это сделать? Воспользовавшись помощью UFW, надежного стандартного брандмауэра Ubuntu.

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

Чтобы обеспечить безопасные соединения на вашем сервере OpenLDAP, необходимо открыть определенные порты для сервера OpenLDAP, как описано ниже:

Выполните следующие команды ufw для allow входящего трафика на портах для HTTP (80), HTTPS (443) и LDAP (389).

# Разрешить трафик HTTP
sudo ufw allow 80
# Разрешить трафик HTTPS
sudo ufw allow 443
# Разрешить трафик LDAP
sudo ufw allow 389
Configuring the UFW Firewall for OpenLDAP Server

Теперь запустите следующую команду для проверки подробного обзора текущего статуса и конфигурации UFW на вашей системе.

sudo ufw status verbose

Вывод ниже подтверждает, что правила брандмауэра, которые вы добавили, были успешно применены.

Checking the UFW status

Включение поддержки PHP в Apache для LAM

После укрепления безопасности вашего сервера LDAP с помощью брандмауэра UFW, вы должны убедиться, что Apache распознает и эффективно обрабатывает файлы PHP. Этот критический шаг прокладывает путь для плавного интегрирования между Apache и LAM, позволяя эффективно управлять вашим каталогом LDAP.

Чтобы включить поддержку PHP в Apache, выполните следующие действия:

1. Запустите следующую команду a2enconf для включения файла конфигурации для PHP Common Gateway Interface (CGI) Apache.

Эти файлы конфигурации обычно содержат директивы, связанные с настройкой PHP для Apache, такие как настройка обработчиков или определение параметров выполнения PHP. Включив эти файлы конфигурации, вы обеспечите правильную настройку Apache для обработки скриптов PHP с использованием интерфейса CGI.

sudo a2enconf php*-cgi
Enabling the PHP module

2. После включения выполните приведенную ниже команду для перезагрузки службы Apache (apache2), чтобы внести изменения.

Эта команда не выводит ничего, но обеспечивает, что любые изменения, внесенные в конфигурацию Apache, вступят в силу. Этот процесс включает в себя включение модуля PHP CGI без перезапуска всей службы Apache.

sudo systemctl reload apache2

3. Теперь вызовите эту команду, чтобы проверить статус службы apache2, чтобы убедиться, что все работает гладко.

sudo systemctl status apache2

Вывод покажет текущий статус веб-сервера Apache как активен (работает) без каких-либо ошибок, как ниже.

Checking the status of the Apache service

Настройка веб-интерфейса LAM

Перейдя от включения поддержки PHP в Apache для LAM, теперь вы сосредоточитесь на централизованном хабе, где вы сможете контролировать свой сервер OpenLDAP – веб-интерфейс LAM. Этот веб-интерфейс предлагает интуитивно понятную платформу для администраторов, таких как вы, чтобы контролировать службы каталогов.

Чтобы настроить веб-интерфейс LAM, выполните следующие шаги:

1. Выполните приведенную ниже команду ifconfig, чтобы отобразить информацию о вашей сети.

ifconfig

Найдите и запишите IP-адрес вашего сервера (т.е. 192.168.1.7), обычно обозначаемый как inet.

Noting down the server’s IP address

2. Откройте свой любимый веб-браузер и перейдите по IP-адресу вашего сервера, за которым следует /lam в адресной строке (например, http://192.168.1.7/lam). Это перенаправит ваш браузер на веб-интерфейс LAM, как показано ниже.

Accessing the LAM web interface

3. Нажмите Настройка LAM (в правом верхнем углу) на странице входа, чтобы получить доступ к странице LDAP Account Manager (шаг четыре).

Accessing the LAM Account Manager

4. Теперь нажмите Редактировать профили сервера для изменения настроек LAM.

Editing server profiles to modify the LAM settings

5. Введите пароль по умолчанию lam на второй странице входа и нажмите ОК для аутентификации.

Authenticating access to the LAM web interface

6. После входа настройте следующие настройки сервера и языка в разделе Общие настройки:

  • Суффикс дерева – Введите базовый раздельный имя (DN) вашего каталога, например, dc=ata,dc=com, заменяя их на фактические компоненты вашего домена.
  • Язык по умолчанию – Выберите предпочитаемый язык для веб-интерфейса LAM.
  • Часовой пояс – Выберите часовой пояс, соответствующий расположению вашего сервера, что важно для точного управления истечением срока действия учетных записей.
Configuring the server and language settings

7. Прокрутите вниз и установите параметры безопасности и пароля профиля следующим образом:

  • Список допустимых пользователей – Вставьте DN вашего администратора LDAP, например, cn=admin,dc=ata,dc=com.
  • Новый пароль и Повторите пароль – Создайте и подтвердите надежный пароль для учетной записи администратора LAM, чтобы заменить исходный пароль по умолчанию.
  • Оставьте другие настройки по умолчанию и нажмите Сохранить, чтобы применить ваши конфигурации. После сохранения ваш браузер будет перенаправлен обратно на страницу входа.
Configuring security settings and profile password

Создание групп и пользователей в LAM

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

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

1. Перейдите в LDAP Account Manager, следуя пунктам с третьего по пятый раздела “Настройка веб-интерфейса LAM”. Но на этот раз введите свой недавно настроенный пароль для сервера OpenLDAP.

2. В менеджере учетных записей LAM перейдите на вкладку Типы учетных записей, чтобы просмотреть все варианты типов доступа.

Accessing the account types

3. Далее, прокрутите вниз и установите Суффиксы LDAP, заменяя <base_DN> (т.е., dc=ata,dc=com) соответствующим образом следующим образом:

  • Пользователиou=Отделы,<base_DN>
  • Группыou=Группы,<base_DN>
  • Оставьте другие настройки по умолчанию и нажмите Сохранить.

После сохранения ваш браузер будет перенаправлен на страницу входа администратора (шаг четыре).

Setting the LDAP suffixes

4. Теперь введите пароль администратора, который вы установили во время установки, и нажмите Вход, чтобы получить доступ к вашему серверу OpenLDAP.

Logging in to the OpenLDAP server

5. При появлении запроса нажмите СОЗДАТЬ, чтобы установить два отсутствующих суффикса.

Creating the two missing suffixes

6. После создания нажмите Дерево представления (в правом верхнем углу), чтобы увидеть новые суффиксы LDAP (Отделы и Группы), отображаемые в иерархической структуре, как показано ниже.

Viewing the hierarchical structure

7. Далее нажмите Инструменты (в правом верхнем углу) и выберите Редактор OU, чтобы настроить новый отдел с следующим:

  • Родительский DN – Выберите Отдел > ata > com для родительского DN. Этот вариант указывает, где новый отдел будет создан в вашем LDAP-каталоге.
  • Имя – Введите IT (произвольно) в качестве имени отдела (OU).

После настройки нажмите ОК, чтобы добавить новый отдел с именем IT.

Adding a new department within the LDAP directory

8. Теперь перейдите на вкладку Группы и нажмите Новая группа, чтобы создать новую группу.

Создание групп упрощает администрирование, способствует сотрудничеству, обеспечивает соблюдение политики и облегчает масштабирование организации.

Creating a new group

9. Укажите описательное имя группы (например, Моя IP группа) и нажмите Сохранить, чтобы подтвердить новую группу.

Naming the new group

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

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

Creating a new user

11. Затем установите личную информацию пользователя следующим образом:

  • Выберите IT > Департаменты > ata > com из раскрывающегося списка Суффикс, чтобы разместить пользователя в отделе IT.
  • В разделе Персональные (левый столбец) введите myituser (произвольно) в поле Фамилия имя.
Setting the ne user’s personal information

12. Настройте учетные данные нового пользователя следующим образом:

  • Перейдите в раздел Unix (левый столбец) и убедитесь, что имя созданной группы (т.е. My IP Group) установлено как Основная группа.
  • Нажмите Установить пароль, который откроет диалоговое окно, в котором вы установите пароль для нового пользователя (шаг 13).
Initiating setting a password for the new user

13. Установите безопасный пароль для нового пользователя и нажмите ОК для подтверждения.

Providing a secure password

14. Остальные настройки оставьте без изменений и нажмите Сохранить, чтобы завершить создание нового учетной записи пользователя.

Saving the new user

15. Вернитесь к Дереву просмотра, чтобы увидеть обновленную структуру с новым отделом (IT), группой (My IP Group) и учетной записью пользователя (myituser).

Verifying the updated structure

Установка и настройка клиента OpenLDAP

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

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

Чтобы установить и настроить клиент OpenLDAP, выполните следующие шаги:

1. Выполните следующую команду sh, чтобы добавить имя хоста и IP-адрес сервера OpenLDAP на вашу клиентскую машину в файл /etc/hosts, что позволяет устанавливать связь на основе имен хостов.

Не забудьте заменить 192.168.1.7 и ldap.ata.com на IP-адрес и имя хоста вашего сервера.

sudo sh -c 'echo "192.168.1.7 ldap.ata.com" >> /etc/hosts'
Adding the OpenLDAP server’s hostname and IP address to the hosts file

2. После добавления, запустите следующую команду ping, чтобы проверить подключение между вашей системой и вашим сервером OpenLDAP (ldap.ata.com).

ping -c3 ldap.ata.com

Нижеследующий вывод подтверждает, что клиентская машина может успешно взаимодействовать с сервером OpenLDAP с использованием указанного IP-адреса и имени хоста.

Pinging the LDAP server

3. Далее, запустите следующую команду, чтобы обновить список пакетов и установить следующие необходимые пакеты клиента OpenLDAP:

  • libnss-ldap – Позволяет вашей системе использовать LDAP для общих конфигурационных баз данных.
  • libpam-ldap – Позволяет системе проходить аутентификацию через LDAP-каталоги.
  • ldap-utils – Предоставляет инструменты командной строки для управления записями LDAP-каталога.
  • nscd – Кеширует поиски NSS, улучшая производительность за счет сокращения запросов к серверу LDAP.
sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd -y

Во время установки вы столкнетесь с серией подсказок для настройки клиента OpenLDAP (шаг четыре).

Updating the package lists and installing the necessary OpenLDAP client packages

4. Теперь введите ldap://192.168.1.7 в поле Унифицированный идентификатор ресурса LDAP-сервера, что направляет клиента к вашему OpenLDAP-серверу.

Setting the LDAP server Uniform Resource Identifier

5. Введите DN базы поиска (например, dc=ata,dc=com) для операций LDAP.

Entering the DN of the search base

6. Выберите 3 для версии LDAP, которую нужно использовать для повышения безопасности и функциональности

Selecting the preferred LDAP version

7. Затем выберите Да, чтобы предоставить административные привилегии базы данных пользователю root.

Making local root a Database admin

8. Далее выберите Нет для управления учетной записью root, чтобы отключить вход в базу данных LDAP.

Disabling the LDAP database login

9. Введите учетную запись LDAP для root (например, cn=admin,dc=ata,dc=com). Эта конфигурация указывает учетную запись администратора для управления LDAP.

Provide the LDAP account for the root

10. Укажите надежный пароль учетной записи LDAP root (пароль администратора).

Provide an LDAP root account password

11. После настройки клиента откройте файл /etc/nsswitch.conf в вашем предпочтительном редакторе (например, nano или vim) для настройки коммутатора служб имени вашей системы.

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

12. Измените значение следующих строк в файле /etc/nsswitch.conf, включив в него следующее:

compat – Относится к локальным файлам, таким как /etc/passwd.

ldap – Указывает использование LDAP.

Эта конфигурация позволяет использовать аутентификацию пользователей LDAP и другие системные функции

passwd:         compat systemd ldap
group:          compat systemd ldap
shadow:         compat
Allowing the use of LDAP user authentication

13. Теперь откройте файл /etc/pam.d/common-password, найдите и удалите опцию use_authtok, как показано ниже, сохраните изменения и закройте файл.

Это действие позволяет настроить настройки паролей PAM для использования предоставленного пользователем пароля.

Adjusting the PAM password settings

14. Кроме того, откройте файл /etc/pam.d/common-session, добавьте следующую строку и сохраните и закройте файл.

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

session optional pam_mkhomedir.so skel=/etc/skel umask=077
Adding automatic home directory creation upon user login

15. Наконец, запустите приведенную ниже команду, чтобы перезапустить Demon кэша службы имени (nscd) и применить изменения конфигурации.

sudo systemctl restart nscd

Проверка настройки OpenLDAP

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

Чтобы обеспечить целостность и функциональность вашей установки сервера и клиента OpenLDAP, выполните следующие действия:

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

ldapsearch -x -H ldap://192.168.1.7 -b "dc=ata,dc=com"

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

Querying the LDAP directory for all user accounts

Наконец, попытайтесь войти (su) в учетную запись пользователя myituser.

su - myituser

Успешная авторизация указывает на то, что аутентификация через сервер OpenLDAP работает как ожидается.

? Сообщение об успешном входе может не всегда отображаться; вместо этого вы можете просто войти и увидеть новый приглашение командной строки, как показано ниже. Если есть какие-либо ошибки, они будут отображены, и вы останетесь вошедшими под текущим пользователем.

Logging in as the myituser user

Заключение

Вы сделали это! Ваш сервер Ubuntu теперь имеет полностью функционирующую систему OpenLDAP с защищенным брандмауэром, веб-сервером с поддержкой PHP и элегантным интерфейсом LDAP Account Manager.

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

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

Source:
https://adamtheautomator.com/openldap/