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

Стремление к истинной интеграции 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. Центрировать
  2. PowerBroker Open (PBIS Open, ранее Likewise-Open)
  3. SSSD+SELinux

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

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

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

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

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

решение1

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

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

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

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

решение2

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

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

Если у вас есть конкретные вопросы, смело заходите и пишите в список sssd-users.

решение3

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

В моих последних установках это было сделано с помощью SSSD (встроенного) и групповых фильтров ldap или sssd.conf.

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

решение4

что насчет winbind + samba + kerberos?

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

проверено

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

проверено

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

/var/log/secure? проверено

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

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

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

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

Связанный контент