How-To-Install-OpenLDAP-Server-for-Centralized-Authentication

Как установить сервер OpenLDAP для централизованной аутентификации?

LDAPSecurity

Lightweight Directory Access Protocol (короче говоря, LDAP) — это стандартный и широко используемый набор протоколов для доступа к службам каталогов. Служба каталогов — это общая информационная инфраструктура для доступа, управления, организации и обновления повседневных элементов и сетевых ресурсов, таких как пользователи, группы, устройства, адреса электронной почты, номера телефонов, тома и многие другие объекты.

Информационная модель LDAP основана на записях. Запись в каталоге LDAP представляет собой отдельную единицу или информацию и уникально идентифицируется тем, что называется отличительным именем (DN). Каждый из атрибутов записи имеет тип и одно или несколько значений.

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

Ниже приведена иллюстрация того, как информация размещена в каталоге LDAP.

Ldap-Information-Model

 

 

В этой статье мы покажем, как установить и настроить сервер OpenLDAP для централизованной аутентификации в Ubuntu 16.04/18.04 и CentOS 7.

 

Шаг 1: Установка сервера LDAP

1. Сначала начните с установки OpenLDAP, реализации LDAP с открытым исходным кодом и некоторых традиционных утилит управления LDAP с помощью следующих команд:

# yum install openldap openldap-servers #CentOS 7
$ sudo apt install slapd ldap-utils #Ubuntu 16.04/18.04

 

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

Configure-Slapd-Admin-Password

 

 

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

2. В CentOS 7 выполните следующие команды, чтобы запустить демон сервера openldap, включите его для автоматического запуска во время загрузки и проверьте, работает ли он (в Ubuntu служба должна запускаться автоматически в systemd, вы можете просто проверить его статус):

$ sudo systemctl start slapd
$ sudo systemctl enable slapd
$ sudo systemctl status slapd

 

3. Затем разрешите запросы к демону сервера LDAP через брандмауэр, как показано ниже:

# firewall-cmd --add-service=ldap #CentOS 7
$ sudo ufw allow ldap #Ubuntu 16.04/18.04

 

Шаг 2. Настройка сервера LDAP

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

 

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

$ slappasswd

 

Create-Ldap-Admin-User

 

 

5. Затем создайте файл LDIF (ldaprootpasswd.ldif), который используется для добавления записи в каталог LDAP.

$ sudo vim ldaprootpasswd.ldif

 

Добавьте следующее содержание:

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD_CREATED

 

Объясним пару атрибутов представленных выше:

  • olcDatabase: указывает конкретное имя экземпляра базы данных и обычно находится в /etc/openldap/slapd.d/cn=config.
  • cn=config: указывает глобальные параметры конфигурации.
  • PASSWORD: это хэшированная строка, полученная при создании записи администратора.

6. Затем добавьте соответствующую запись LDAP, указав URI со ссылкой на сервер ldap и файл созданный выше:

$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif 

 

Add-Parameters-from-Root-Password-File

 

 

Шаг 3. Настройка базы данных LDAP

7. Теперь скопируйте пример файла конфигурации базы данных для slapd в каталог /var/lib/ldap и установите правильные разрешения для файла:

$ sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
$ sudo chown -R ldap:ldap /var/lib/ldap/DB_CONFIG
$ sudo systemctl restart slapd

 

 

8. Затем импортируйте некоторые базовые схемы LDAP из каталога /etc/openldap/schema следующим образом:

$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

 

9. Теперь добавьте ваш домен в базу данных LDAP и создайте файл с именем ldapdomain.ldif для вашего домена:

$ sudo vim ldapdomain.ldif 

 

Добавьте в него следующее содержимое (замените пример своим доменом и PASSWORD на хеш-значение, полученное ранее):

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=Manager,dc=example,dc=com" read by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=example,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=example,dc=com" write by * read

 

 

10. Затем добавьте указанную выше конфигурацию в базу данных LDAP с помощью следующей команды:

$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif

 

Load-Domain-Configuration

 

 

11. На этом этапе нам нужно добавить несколько записей в наш каталог LDAP. Создайте другой файл с именем baseldapdomain.ldif со следующим содержимым:

dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: example com
dc: example

dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=example,dc=com
objectClass: organizationalUnit
ou: Group

 

 

Сохраните файл и затем добавьте записи в каталог LDAP.

$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif

 

12. Следующим шагом является создание пользователя LDAP, например, sedicomm и установка пароля для этого пользователя следующим образом:

$ sudo useradd sedicomm
$ sudo passwd sedicomm

 

13. Затем создайте определения для группы LDAP в файле с именем ldapgroup.ldif со следующим содержимым:

dn: cn=Manager,ou=Group,dc=example,dc=com
objectClass: top
objectClass: posixGroup
gidNumber: 1005

 

В приведенной выше конфигурации gidNumber — это GID в /etc/group для sedicomm и добавьте его в каталог OpenLDAP.

$ sudo ldapadd -Y EXTERNAL -x -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif

 

14. Затем создайте другой файл LDIF с именем ldapuser.ldif и добавьте определения для пользователя sedicomm:

dn: uid=sedicomm,ou=People,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: sedicomm
uid: sedicomm
uidNumber: 1005
gidNumber: 1005
homeDirectory: /home/sedicomm
userPassword: {SSHA}PASSWORD_HERE
loginShell: /bin/bash
gecos: tecmint
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

 

Затем загрузите конфигурацию в каталог LDAP:

$ ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif

 

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

Как настроить клиент LDAP для подключения внешней аутентификации?

 

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

Итог

OpenLDAP — это реализация LDAP с открытым исходным кодом в Linux. В этой статье мы показали, как установить и настроить сервер OpenLDAP для централизованной аутентификации, в Ubuntu 16.04/18.04 и CentOS 7.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
LDAPSecurity

Больше похожих постов

Запуск Firefox в песочнице

188
0
Введение В августе 2015 года исследователь безопасности Mozilla Cody Crews уведомил Mozilla о том, что вредоносная реклама на российском новостном…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

Most Viewed Posts
Меню