Стремление к истинной интеграции Active Directory

Прежде чем посмеяться надо мной и сказать: "Если вы хотите Active Directory, используйте Windows" или сказать мне, чтобы использовать Google, выслушайте меня.

Моя компания очень сильно зависит от AD. Нет, на данный момент мы женаты на нем, и как компания из списка Fortune 10, это не меняется. Тем не менее, в нашей среде много систем *nix (в основном RHEL и SLES), и мне еще предстоит найти хороший механизм для интеграции с Active Directory в качестве источника идентификаторов. По крайней мере, мне нужно что-то, чтобы обеспечить следующее:

  1. Аутентификация через учетные данные AD (позволяя пользователю войти)
  2. Авторизация после проверки подлинности (предоставление пользователю доступа к областям системы)
  3. Аудит (возможность привязать действия пользователя к их учетным данным AD)
  4. Поддержка групп AD (не только простой LDAP и необходимость добавлять / удалять отдельных пользователей в системах)
  5. Не дублированный / зеркальный источник идентификации, основанный на доверии AD (мне не нужны две огромные системы)

Лучшие решения, которые я нашел, следующие:

  1. Centrify
  2. PowerBroker Open (PBIS Open, ранее аналогично Open)
  3. SSSD+SELinux

Центрифугировать,, просто безобразно Я никогда не был настоящим фанатом. Кроме того, для нужд моей компании мы не можем использовать Centrify-Express, поэтому она не бесплатна и не имеет неограниченной лицензии. Тем не менее, это лучшее решение, которое мы нашли, и я отчаянно пытаюсь найти что-то еще.

PBIS Open - это то, к чему я склоняюсь. Это то, что VMware использует в бэкэнде vShield, и это работает довольно хорошо. Для настройки требуется всего несколько команд, он поддерживает группы AD и не существует вторичной системы управления идентификацией - он напрямую общается с AD. Единственная причина, по которой я не пошел по этому пути, в том, что мне нравятся нативные решения, и если есть лучший способ сделать это, который уже включен в современные дистрибутивы, я полностью за это.

SSSD+SELinux звучало великолепно. Это неприятно в настройке, но оно гибкое, встроенное и поддерживается большинством современных дистрибутивов. Единственное, чего ему не хватает (насколько я понимаю), это поддержка групп AD. Многие статьи предлагают использовать FreeIPA или что-то подобное для добавления этой функциональности, но при дальнейшем чтении это нарушает требование 5 и в основном создает службу идентификации среднего уровня. Меня не интересует в основном дублирование AD или настройка доверия для вторичной службы идентификации.

Другие варианты kludge, которые я выбрасывал, включают использование Puppet (который мы используем) для выталкивания /etc/password,shadow, группирования файлов на конечные точки, но это требует разработки, это невероятно косвенно, и я мог видеть, что что-то идет на юг плохо. Лучшим вариантом было бы добавить SSSD+SELinux к идее Puppet. Хотя это упростит катастрофу, это все равно катастрофа.

Что мне не хватает, что вы используете, и что такое "новая горячность", которую я не учел в решении головной боли интеграции с AD AD в Linux?

6 ответов

Ваши решения здесь - это либо FreeIPA, либо Centrify/PowerBroker. FreeIPA является частью вашей стандартной подписки RHEL, так что уже есть некоторая экономия.

FreeIPA может работать в режиме, когда все пользователи и группы могут приходить из Active Directory. Вы бы сохраняли привязку этих пользователей и групп только к средам POSIX в FreeIPA, таким как правила SUDO, открытые ключи SSH, определения управления доступом на основе хоста, назначения контекста SE Linux и так далее. Для этого вам необходимо сопоставить некоторых ваших пользователей / групп AD с некоторыми группами в FreeIPA, но это не является дублированием информации, а дополнением ее частями, не относящимися к AD.

FreeIPA реализует совместимость с Active Directory, представляя себя как своего рода совместимый с Active Directory лес. Этого достаточно для того, чтобы пользователи FreeIPA могли использовать ресурсы AD через доверие между лесами, но недостаточно для того, чтобы пользователи FreeIPA имели доступ к системам Windows по другую сторону доверия. Вы, кажется, заинтересованы в первой части, так что все должно быть в порядке.

С FreeIPA 4.1, которая уже является частью бета-версии RHEL 7.1 (надеюсь, RHEL 7.1 выйдет "в ближайшее время"), у нас есть мощный механизм, позволяющий сохранять переопределения для пользователей и групп AD во FreeIPA, и SSSD способен обнаруживать их все на степень детализации для каждого сервера

Мне бы очень хотелось услышать, что вы подразумеваете под "настоящими группами AD", когда говорите о SSSD. Более новые версии SSSD не требуют, чтобы группы имели атрибуты POSIX, и в основном считывают членство в группах из TokenGroups, если используется поставщик AD.

Кроме того, в RHEL-7.1 (восходящий поток 1.12+) SSSD получил возможность выполнять проверки контроля доступа с использованием политик GPO.

Не стесняйтесь приходить и писать в список sssd-пользователей, если у вас есть конкретный вопрос.

Предложение Redhat хорошо освещено здесь:
Мудрость в отношении аутентификации Active Directory для серверов Linux?

В моих недавних установках это было сделано через встроенные фильтры SSSD и ldap или sssd.conf.

Что именно ваши пользователи Linux должны делать в системах?

Я использую версию PBIS с открытым исходным кодом. В 6-й версии я обнаружил, что, если я не буду входить в систему какое-то время (например, месяцы), то при входе в систему истечет время ожидания. По крайней мере, так было на многих машинах. У меня не было этой проблемы с версией 8.

Я нашел PBIS достаточно хорошим. Это позволило мне установить опции, которые меня волновали (домашний каталог по умолчанию, домен для входа в систему, установить группу с доступом и т. Д.).

Я никогда не пробовал ничего другого. Но я могу сказать, что я доволен PBIS.

Существует модуль Puppet для его установки (моя версия: https://github.com/etlweather/puppet-pbis).

Я также использую Winbind + Kerberose и отлично работает в течение многих лет, но теперь я перевожу все на Pbis, так как уже несколько лет использую его на некоторых машинах, и я доволен этим. но, как и вам, я хотел бы также иметь нативные решения, поэтому я начну тестировать интеграцию sssd, как упомянуто в этом документе от RedHat. https://www.redhat.com/en/files/resources/en-rhel-intergrating-rhel-6-active-directory.pdf

у него разные сценарии интеграции AD.

Как насчет winbind + samba + kerberos?

  • Аутентификация через учетные данные AD (позволяя пользователю войти)

проверено

  • Авторизация после проверки подлинности (предоставление пользователю доступа к областям системы)

проверено

  • Аудит (возможность привязать действия пользователя к их учетным данным AD)

/ Вар / Журнал / безопасности? проверено

  • Поддержка групп AD (не только простой LDAP и необходимость добавлять / удалять отдельных пользователей в системах)

он позволяет группам объявлений или пользователям объявлений в локальных группах, проверено

  • Не дублированный / зеркальный источник идентификации, основанный на доверии AD (мне не нужны две огромные системы)

Freeipa не требуется, проверено

Другие вопросы по тегам