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

Управление пользователями с помощью cronjob

В моей организации мы хотим внедрить стандарт управления пользователями после полного хаоса. Где мы (организация) и клиент могли получить доступ к пользователю root, и они внесли изменения, которые отключили сервер. Тем не менее, мы были виноваты в том, что играем с файлами конфигурации.

Для решения любых проблем в будущем мы разработали модель, и было бы полезно получить информацию, независимо от того, является ли это наилучшей практикой или нет.

Шаг 1 - Пользователь с правами root и пользователи без полномочий root с доступом sudo

Мы хотим иметь пользователей следующим образом -

Шаг 2 - Пользователи без полномочий root с ограниченным доступом к сервисам

Это будут отдельные пользователи, имеющие доступ только к одной услуге.

У нас может быть больше пользователей для обработки различных услуг. И никакой другой пользователь не может получить доступ к другой услуге, кроме выделенной услуги.

Шаг 3 - Аудит команд каждого пользователя в файле журнала

Для аудита я искал несколько решений, и большинство из них требовало запуска команды, например сценарий, прежде чем приступить к работе. Я хочу, чтобы что-то работало все время без какого-либо ручного вмешательства. Даже при перезагрузке сервера.

Пожалуйста, дайте мне знать, можем ли мы это сделать или есть лучший подход к управлению ими.

Хотя идея звучит хорошо, то, как вы ее формулируете, указывает на то, что вам нужно меньше знаний для реализации своих идей на производственном уровне. То, что вы просите, - это ускоренный курс Linux по основным фактам о пользователях / группах и дополнительных механизмах, таких как SELinux. Imho, я думаю, тебе нужно найти кого-нибудь для выполнения этой работы.

Обновить:

1.) Организуйте ответственность

Ситуация возникла из-за неясности ответственности. Кому действительно нужна учетная запись root? Администратор и только админ. Остальное - сервис. Поэтому никогда не делитесь учетными записями root / sudo с кем-либо на регулярной основе (за исключением поддержки).

2.) Пользователь без полномочий root / sudo может запускать и останавливать определенные службы, если администратор разрешает ему это делать:

2a.) Вы можете сделать определенные файлы исполняемыми для пользователей без полномочий root / sudo с помощью setUID,setGUID

2b.) Вы можете запустить пользовательские службы в пользовательском пространстве пользователя. Установите Nginx и Mysql вручную в /home/client и все готово!

3) Когда дело доходит до аудита, я думаю history для начала хватит. Пользователи непривилегированы и находятся в вашей цепочке доверия.

Как сказано в комментарии, selinux и auditd, а также psacct для просмотра процессов, запущенных пользователями, также возможно, даже марионетка или что-то еще для принудительной настройки. Если внесены несанкционированные изменения, марионетка вернет конфигурацию в официальное хорошее состояние.