SWL-мережа (V): Debian Wheezy та ClearOS. Аутентифікація SSSD проти власного LDAP.

Привіт, друзі!. Будь ласка, повторюю, прочитайте перед «Вступ до мережі з вільним програмним забезпеченням (I): Презентація ClearOS»І завантажте пакет покрокових установочних зображень ClearOS (1,1 мега), щоб бути в курсі того, про що йде мова. Без цього читання буде важко наслідувати нас.

Демон служби безпеки системи

Програма SSSD o Демон для служби безпеки системи, є проектом Fedora, який народився з іншого проекту - також від Fedora - FreeIPA. На думку власних творців, коротким та вільно перекладеним визначенням буде:

SSSD - це послуга, яка забезпечує доступ до різних постачальників ідентифікаційних даних та автентифікації. Його можна налаштувати для власного домену LDAP (постачальник ідентифікаторів на основі LDAP з автентифікацією LDAP) або для постачальника ідентифікаторів LDAP із автентифікацією Kerberos. SSSD забезпечує інтерфейс до системи через NSS y PAM, і вставний Back End для підключення до кількох та різних джерел облікових записів.

Ми вважаємо, що перед нами стоїть всебічніше та надійніше рішення для ідентифікації та автентифікації зареєстрованих користувачів у OpenLDAP, ніж розглянуті в попередніх статтях, аспект, який залишається на розсуд кожного та його власного досвіду.

Рішення, запропоноване в цій статті, є найбільш рекомендованим для мобільних комп’ютерів та ноутбуків, оскільки воно дозволяє нам працювати без зв’язку, оскільки SSSD зберігає облікові дані на локальному комп’ютері.

Приклад мережі

  • Контролер домену, DNS, DHCP: ClearOS Enterprise 5.2sp1.
  • Ім'я контролера: CentOS
  • Доменне ім'я: друзі.cu
  • IP контролера: 10.10.10.60
  • ---------------
  • Версія Debian: Свистячий.
  • Назва команди: debian7
  • IP-адреса: Використання DHCP

Ми перевіряємо, чи працює LDAP-сервер

Ми модифікуємо файл /etc/ldap/ldap.conf і встановіть пакет ldap-utils:

: ~ # nano /etc/ldap/ldap.conf
[----] BASE dc = друзі, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ # aptitude install ldap-utils: ~ $ ldapsearch -x -b 'dc = friends, dc = cu' '(objectclass = *)': ~ $ ldapsearch -x -b dc = friends, dc = cu 'uid = кроки
: ~ $ ldapsearch -x -b dc = друзі, dc = cu 'uid = legolas' cn gidNumber

За допомогою двох останніх команд ми перевіряємо наявність сервера OpenLDAP нашого ClearOS. Давайте добре розглянемо результати попередніх команд.

Важливо: ми також перевірили, що Служба ідентифікації на нашому сервері OpenLDAP працює правильно.

network-swl-04-users

Встановлюємо пакет sssd

Також рекомендується встановити пакет палець зробити чеки більш питними, ніж ldapsearch:

: ~ # aptitude встановити sssd finger

По завершенні установки, сервіс ssd не запускається через відсутність файлу /etc/sssd/sssd.conf. Результат установки відображає це. Отже, ми повинні створити цей файл і залишити його в наступний мінімальний вміст:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, пам # SSSD не запускатиметься, якщо ви не налаштуєте жоден домен. # Додайте нові конфігурації домену як [домен / ] та #, а потім додайте список доменів (у тому порядку, в якому ви хочете, щоб їх # запитували) до атрибута "домени" нижче та розкоментуйте його. domains = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # домен LDAP [домен / amigos.cu] id_provider = ldap
auth_provider = ldap
chpass_provider = ldap # ldap_schema може бути встановлений на "rfc2307", який зберігає імена учасників групи в атрибуті # "memberuid", або на "rfc2307bis", який зберігає ідентифікатори членів групи в # атрибуті "member". Якщо ви не знаєте цього значення, зверніться до адміністратора LDAP #. # працює з ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = друзі, dc = cu # Зверніть увагу, що включення перерахування матиме помірний вплив на продуктивність. # Отже, значення за замовчуванням для перелічення - FALSE. # Зверніться до посібника sssd.conf для отримання детальної інформації. enumerate = false # Дозволити авторизовані входи в систему, локально зберігаючи хеші паролів (за замовчуванням: false). cache_credentials = true
ldap_tls_reqcert = дозволити
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Після створення файлу ми призначаємо відповідні дозволи та перезапускаємо службу:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # перезапуск служби sssd

Якщо ми хочемо збагатити вміст попереднього файлу, рекомендуємо виконати людина sssd.conf та / або ознайомитись із наявною документацією в Інтернеті, починаючи із посилань на початку публікації. Також проконсультуйтеся людина sssd-ldap. Пакунок ssd включає приклад у /usr/share/doc/sssd/examples/sssd-example.conf, який можна використовувати для автентифікації проти Microsoft Active Directory.

Тепер ми можемо використовувати найпитніші команди палець y гетент:

: ~ $ кроки пальців
Логін: strides Ім'я: Strides El Rey Каталог: / home / strides Shell: / bin / bash Ніколи не входив. Пошти немає. Немає плану.

: ~ $ sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas The Elf: / home / legolas: / bin / bash

Ми все ще не можемо автентифікуватися як користувач сервера LDAP. Перш ніж ми повинні змінити файл /etc/pam.d/common-session, так що папка користувача автоматично створюється під час запуску сеансу, якщо він не існує, а потім перезавантажується система:

[----]
необхідна сесія pam_mkhomedir.so skel = / etc / skel / umask = 0022

### Наведений вище рядок повинен бути включений ПЕРЕД
# ось модулі за пакетом (блок "Основний") [----]

Ми перезапускаємо наш Wheezy:

: ~ # перезавантажити

Після входу в систему від’єднайте мережу за допомогою диспетчера підключень, вийдіть і знову ввійдіть. Швидше нічого. Запустити в терміналі Ifconfig і вони побачать, що eth0 він взагалі не налаштований.

Активуйте мережу. Будь ласка, вийдіть і увійдіть знову. Перевірте ще раз за допомогою Ifconfig.

Звичайно, щоб працювати в автономному режимі, необхідно хоча б один раз увійти в систему, поки OpenLDAP перебуває в режимі онлайн, щоб облікові дані зберігалися на нашому комп’ютері.

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

Увага:

Заявити варіант ldap_tls_reqcert = ніколи, у файлі /etc/sssd/sssd.conf, становить ризик для безпеки, як зазначено на сторінці SSSD - FAQ. Значення за замовчуванням «Попит«. Подивитися людина sssd-ldap. Однак у главі 8.2.5 Налаштування доменів З документації Fedora зазначено наступне:

SSSD не підтримує автентифікацію за незашифрованим каналом. Отже, якщо ви хочете автентифікуватись проти сервера LDAP, будь-який TLS/SSL or LDAPS не потрібно.

SSSD він не підтримує автентифікацію за незашифрованим каналом. Тому, якщо ви хочете пройти автентифікацію проти сервера LDAP, це буде необхідно TLS / SLL o LDAP.

Ми особисто думаємо що вирішено рішення з точки зору безпеки цього достатньо для корпоративної локальної мережі. Через WWW Village ми рекомендуємо впровадити зашифрований канал за допомогою TLS або «Рівень транспортної безпеки », між клієнтським комп’ютером та сервером.

Ми намагаємось досягти цього завдяки правильному формуванню самопідписаних сертифікатів або «Самопідпис “На сервері ClearOS, але ми не змогли. Це фактично невирішене питання. Якщо будь-який читач знає, як це зробити, ласкаво просимо пояснити це!

debian7.amigos.cu


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   eliotime3000 - сказав він

    Відмінно.

    1.    Федеріко - сказав він

      Вітаю ElioTime3000 і дякую за коментар !!!

    2.    Федеріко - сказав він

      Вітаю eliotime3000 і дякую за похвалу статті !!!

  2.   кураї - сказав він

    Відмінно! Я хочу висловити величезні вітання автору публікації за те, що він поділився своїми величезними знаннями, та блогу за те, що дозволив її публікацію.

    Дуже дякую!

    1.    Федеріко - сказав він

      Щиро дякую за похвалу та коментар !!! Сила, яку ви даєте мені продовжувати ділитися знаннями із спільнотою, в якій ми всі вчимось.

  3.   фенобарбітал - сказав він

    Хороша стаття! Зверніть увагу, що щодо використання сертифікатів, коли ви створюєте сертифікат, ви повинні додати до конфігурації ldap (cn = config):

    olcLocalSSF: 71
    olcTLSCACertificateFile: / path / to / ca / ​​cert
    olcTLSCertificateFile: / path / to / public / cert
    olcTLSCertificateKeyFile: / path / to / private / key
    olcTLSVerifyClient: спробуйте
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Завдяки цьому (і генерації сертифікатів) ви матимете підтримку SSL.

    Привіт!

    1.    Федеріко - сказав він

      Дякуємо за ваш внесок !!! Однак я публікую 7 статей про OpenLDAP у:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      У них я наголошую на використанні Start TLS перед SSL, що рекомендується openldap.org. Вітаю @phenobarbital, і велике спасибі за коментарі.
      Мій електронний лист federico@dch.ch.gob.cu, якщо ви хочете обміняти більше. Доступ до Інтернету для мене дуже повільний.

    2.    фенобарбітал - сказав він

      Для TLS конфігурація однакова, пам'ятаючи, що з SSL транспорт робиться прозорим по зашифрованому каналу, тоді як у TLS узгоджується двостороннє шифрування для транспортування даних; з TLS про рукостискання можна домовитись на тому самому порту (389), тоді як з SSL переговори ведуться на альтернативному порту.
      Змініть наступне:
      olcLocalSSF: 128
      olcTLSVerifyClient: дозволити
      olcTLSCipherSuite: НОРМАЛЬНИЙ
      (якщо ви параноїки щодо безпеки, яку використовуєте:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      і перезапустити, ви побачите пізніше з:
      gnutls-cli-debug -p 636 ldap.ipm.org.gt

      Вирішення проблеми ldap.ipm.org.gt ...
      Перевірка підтримки SSL 3.0 ... так
      Перевірка, чи потрібно% COMPAT ... ні
      Перевірка підтримки TLS 1.0 ... так
      Перевірка підтримки TLS 1.1 ... так
      Перевірка резервної копії з TLS 1.1 на… Не застосовується
      Перевірка підтримки TLS 1.2 ... так
      Перевірка підтримки безпечних переговорів… так
      Перевірка підтримки безпечних переговорів (SCSV) ... так

      З підтримкою TLS також увімкнено, ви використовуєте 389 (або 636) для TLS і 636 (ldaps) для SSL; вони повністю незалежні один від одного, і вам не потрібно мати одного інваліда, щоб використовувати інший.

      Привіт!