Налаштування аутентифікації користувачів - openldap і ubuntu на практиці

OpenLDAP і Ubuntu на практиці> Налаштування аутентифікації користувачів через OpenLDAP на клієнті

Де працюємо: ldap-client

Перейдемо до налаштування клієнтської робочої станції. Для початку встановимо необхідні пакети:

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

  • URI сервера LDAP: ldap: //ldap-srv.example.com;
  • База пошуку сервера LDAP: dc = example, dc = com;
  • Імена настроюються служб: group. netgroup. passwd. shadow.

Перш ніж робити запити до LDAP-сервера, перевіримо параметри клієнта в /etc/ldap/ldap.conf:

Звичайно, для того, щоб все запрацювало, сертифікат нашого Certificate Authority (rootca.crt) і CRL-файл (rootca.crl) повинні бути на місці.

Перевіримо працездатність простим запитом. Результат опустимо (Ви повинні побачити все DIT):

Поправимо конфігурацію нашої локальної служби імен LDAP в файлі /etc/nslcd.conf. Змініть значення директиви bindpw на пароль записи cn = nssproxy, ou = users, dc = example, dc = com. який ми задавали раніше:

Короткий опис використаних директив:

  • За допомогою директиви base ми повідомляємо демона nslcd. де в DIT шукати ту чи іншу інформацію;
  • bind_timelimit обмежує час на встановлення з'єднання з сервером п'ятьма секундами;
  • timelimit встановлює максимальний час очікування відповіді від сервера в 10 секунд;
  • idle_timelimit змусить nslcd розірвати з'єднання з сервером, якщо протягом хвилини в з'єднанні не було ніякої активності;
  • ssl змушує клієнта використовувати TLS при підключенні до сервера;
  • tls_reqcert і tls_cacertfile подібні директивам TLS_REQCERT і TLS_CACERT в конфігурації /etc/ldap/ldap.conf (необхідність перевірки сертифіката сервера і шлях до кореневого сертифікату для виконання перевірки);
  • nss_initgroups_ignoreusers описує користувачів системи, пошук яких не потрібно проводити в DIT (щоб ми могли працювати з машиною при проблемах з доступом до сервера каталогів). В значення цієї директиви слід внести імена всіх загальносистемних користувачів.

Поміняємо права доступу до nslcd.conf. тому що тепер у ньому зберігається інформація для аутентифікації:

Перевіримо вміст /etc/nsswitch.conf:

Переконаємося в тому, що демон nslcd запускається при старті системи і перезапустити його:

Переконаємося, що в системі ldap-clientНЕТ облікового запису з ім'ям nssproxy. Наступна команда повинна виконуватися без результату:

Переконаємося так само, що кешуючий демон служби імен завантажується при старті системи і перезапустити його:

Зробимо пару запитів до LDAP-сервера, використовуючи налаштовану нами систему:

Для того, щоб перевірити доступність інформації про пароль потрібно виконати getent від імені користувача root:

Не турбуйтеся, хеш пароля ми бачити не повинні.

Відмінно, все працює! Вищенаведені результати команд означають, що система ldap-client може здійснювати пошук за даними користувачів і груп в нашому каталозі OpenLDAP.

Створимо домашній каталог нашого тестового користувача і встановимо для нього права доступу:

Запустимо в окремому терміналі висновок журналу аутентифікації:

В іншому терміналі виконаємо:

Ми повинні отримати запрошення командного рядка користувача test.user.

Тепер спробуємо зайти на машину ldap-client по мережі з використанням ssh під обліковим записом test.user.

Демон ssh в конфігурації за замовчуванням повинен працювати з підтримкою PAM (і, відповідно, підтримувати аутентифікацію через LDAP). Але про всяк випадок наведемо робочу конфігурацію / etc / ssh / sshd_config:

Частина файлу до порожнього рядка - конфігурація за замовчуванням. далі - доданий нами. Зверніть увагу на рядок з директивою AllowGroups. За допомогою неї ми обмежуємо список груп користувачів, які можуть бути автентифіковано через ssh. За інформацією по іншим директивам зверніться до документації.

Перевіримо роботу з використанням будь-якої третьої машини. Наприклад, виконаємо на нашому DNS-сервері (dns-srv):

Висновок останньої команди скорочений. Якщо з'являється запрошення командного рядка, значить все в порядку!

Де працюємо: ldap-srv

Давайте заглянемо в /var/log/slapd.log на нашому сервері. Ми можемо виявити там такі рядки:

За допомогою наступної команди ми можемо переконатися, що в нашому каталозі поки немає ніяких індексів:

Це означає, що в нашій базі даних треба створити індекси для атрибутів з журналу /var/log/slapd.log. Тому створимо ще один LDIF-файл 5-posixAccount.indexes.ldif і запишемо в нього:

Навіщо розмінюватися на дрібниці? Зазначимо по-більше індексованих атрибутів. І завантажимо конфігурацію в наш каталог:

Перевіримо результат змін:

Відмінно! Тепер в журналі /var/log/slapd.log не повинно бути помилок.

OpenLDAP і Ubuntu на практиці> Налаштування аутентифікації користувачів через OpenLDAP на клієнті

Схожі статті