
Я только что начал стажировку в правительственной организации, и моим первым заданием является разработка пользовательской системы для нашей внутренней фермы серверов из 120+ серверов Redhat и Windows. Внутренняя ферма серверов управляется с помощью Puppet. На данный момент все входят в систему с одной и той же учетной записью root/admin, что должно быть само собой разумеющимся, почему это огромная проблема по разным причинам. У меня нет точных цифр, но мы говорим о по крайней мере 30 людях, использующих одну и ту же учетную запись, и большая часть их работы не требует такого уровня доступа/привилегий. Я предложил два решения этой проблемы, и я был бы очень признателен за отзывы о них от вас, ребята.
1) Аутентификация через AD на серверной ферме
Идея состоит в том, чтобы настроить сервер аутентификации (предпочтительно два для избыточности), который подключен к правительственному AD с помощью SSSD/FreeIPA, и если пользователи аутентифицированы, им предоставляется доступ к ферме серверов, где Puppet используется для управления их привилегиями. Управление привилегиями через AD не является вариантом, поскольку эта организация управляется более высоким экземпляром, который контролирует AD. Мой менеджер и я предпочитаем это решение, поскольку мы можем позволить другой администрации управлять учетными записями и, таким образом, не иметь двух отдельных систем. Существует требование предоставлять ежемесячные отчеты об активности пользователей, если правительственная организация имеет отдельную пользовательскую систему помимо основного AD, а мой отдел очень занят, поэтому мы хотели бы избежать такой задачи.
2) Локальное администрирование привилегий пользователей
Другое решение — убрать сервер аутентификации и просто управлять системой пользователей и их привилегиями через Puppet. Таким образом, мы полностью контролируем и не должны полагаться на администрирование. Недостатком этого является то, что у нас будет отдельная система пользователей, которой нужно управлять. Конечно, это может представлять угрозу безопасности, если старые сотрудники/консультанты не будут удалены из системы, но самое главное — у нас нет времени на еще одну трудоемкую задачу.
После прочтения статей и других постов на эту тему я понял, что SSSD/FreeIPA, вероятно, является выходом, но я не уверен. Итак, что вы думаете? Какое из предложенных решений является лучшим, и/или есть третье и лучшее решение проблемы?
Заранее спасибо!
решение1
Ответ от человека, работающего в правительственной лаборатории США. Присоедините свои системы к домену AD. realm
инструменты хорошо работают с Red Hat 7. Настройте sssd для аутентификации пользователей. Используйте puppet для управления /etc/security/access.conf для контроля доступа пользователей, а puppet также контролирует /etc/sudoers и /etc/sudoers.d. По сути, используйте ваш вариант 1. Также настройте syslog для отправки всех журналов безопасности на центральный сервер журналов с ограниченным доступом. Теперь у вас есть учетные записи, контролируемые основным AD, так что одной головной болью меньше. Все входы в систему и запросы sudo регистрируются на центральном сервере syslog, так что у вас есть одно место, откуда можно извлечь отчеты об использовании. Я бы также заблокировал учетную запись root, чтобы в нее нельзя было войти через ssh, чтобы заставить людей использовать su или sudo. Попросите менеджера отговорить вас от использования su в качестве обычного варианта.
Удачи в стажировке. Это отличный проект для реализации.