Назад | Перейти на главную страницу

Как администраторы поддерживают учетные записи пользователей на сотнях серверов Linux?

Имея дело с сотнями серверов RHEL, как мы можем поддерживать локальные учетные записи root и сетевые учетные записи пользователей? Есть ли решение типа Active Directory, которое управляет ими из центрального местоположения?

Одним из центральных компонентов Active Directory является LDAP, который доступен в Linux в виде OpenLDAP и 389DS (и некоторые другие). Кроме того, другой основной компонент Kerberos доступен в виде MIT Kerberos и Хеймдаль. Наконец, вы даже можете подключить свои машины к AD.

Вы можете попробовать марионетку для управляющего пользователя:

Зачем использовать Puppet для управления учетными записями пользователей? (а не NIS, LDAP и т. д.)

Одним из преимуществ управления учетными записями пользователей в Puppet является то, что он децентрализован. Каждая учетная запись пользователя - это просто обычная учетная запись пользователя на управляемом сервере. В создаваемых марионеткой учетных записях пользователей нет ничего особенного, кроме того факта, что они были созданы марионеткой, а не администратором-человеком. Самое приятное в этом то, что если главный хост умирает, мы не теряем аутентификацию. Это означает, что нашему серверу puppetmaster (или серверу NIS / LDAP) не требуется никаких особых требований к времени безотказной работы. В случае возникновения чрезвычайной ситуации мы можем сосредоточиться на запуске наших производственных серверов и сосредоточиться на том, чтобы активировать марионеточного мастера «по мере необходимости». Обратной стороной этого является то, что марионетка не обязательно действительно предназначена для управления «обычными» учетными записями пользователей (в отличие от системных учетных записей). Самый большой способ, которым это происходит, заключается в том, что, хотя вы можете установить пароль в марионетке, марионетка постоянно отслеживает системные настройки (хорошо) и, если заметит, что пароль изменился, сбросит его. (плохо) Я не хочу отслеживать пароли пользователей в нашей сети, поэтому должен быть способ установить пароль и заставить марионетку перестать отслеживать этот пароль. К счастью, как только вы разберетесь с трюком, это действительно очень просто. Но сначала давайте уберемся от некоторых определений.

http://docs.puppetlabs.com/pe/2.5/console_auth.html

Как упоминает SvenW, есть 389DS и Kerberos. Начиная с RHEL 6.2, Red Hat включает IPA в дистрибутиве (а значит, и в CentOS). Это полный пакет управления идентификацией, который включает 389DS и Kerberos, с контролем проверки подлинности и авторизации на основе политик, а также, при необходимости, DNS. Его даже можно настроить для односторонней или двусторонней синхронизации с Active Directory.

IPA в значительной степени требует SSSD на хостах RHEL, но работает без него. Я даже тестировал подключение Solaris 10 к IPA (работает, но немного неудобно). IPA довольно просто настроить для хостов RHEL.

Это основано на FreeIPA проект.

Для ваших сетевых учетных записей пользователей OpenLDAP, как упоминалось в SvW.

Вы также должны взглянуть на «Системы управления конфигурацией» для управления своими локальными учетными записями и всем остальным на ваших серверах. Взгляните на CFEngine, Bcfg2, Puppet и Chef. Если вы используете AWS, у них есть что-то вроде Chefy с OpsWorks.

Если вам действительно нужно управлять 100+ серверами, либо у вас есть 10 системных администраторов, либо вы используете программное обеспечение для управления конфигурацией.

Это может быть очевидный ответ, но «используйте активный каталог». Вам нужно немного изменить нашу схему AD, чтобы включить в нее поля, специфичные для UNIX, но как только вы это сделаете, у вас будет единый каталог всех ваших учетных записей, который работает на кросс-платформе.

Возможно, менее полезно, если вы работаете только с Unix, но я на самом деле не видел многих из них. Но на самом деле AD представляет собой довольно хорошее сочетание ключевых элементов LDAP и Kerberos. Я нахожу это немного ироничным.

Но то, что вы получите «бесплатно», - это кроссплатформенные учетные записи и интеграция с Kerberos, чтобы вы могли выполнять экспорт NFSv4 с использованием списков ACL, распознаваемых CIFS, и монтирования NFS krb5i / p с надежной (er) аутентификацией пользователя.

Как упоминал @Sven, LDAP является основным компонентом аутентификации.
Мы даже можем рассмотреть следующие инструменты для централизованного управления пользователями в Linux. SSSD, FreeIPA, диспетчер удостоверений от redhat, привилегия доверия Centrify Zero, Jumpcloud и т. д. Если у вас более 100 серверов, выберите решение Redhat (диспетчер идентификации), а если серверов меньше 100, мы можем выбрать FreeIPA.

Мы даже можем выполнить настройку доверия с помощью AD, используя FreeIPA (https://www.freeipa.org/page/Main_Page) или IDM с которой мы можем рассматривать присутствующих пользователей, если AD может войти на ваши серверы.

Как вы упомянули, у вас есть серверы RHEL, только тогда вы можете продолжить работу с IDM и для поддержки учетной записи root отключите прямой вход для root, и ни один пользователь не должен переключаться на root. Для управления паролями пользователей root рассмотрите менеджер паролей.