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

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

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

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

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

  • Пользователь root -> Либо отключен вход через SSh в целях безопасности, либо доступ только через Ключ SSH и перефразирование. Учетная запись root будет доступна только одному члену моей команды.
  • Два пользователя без полномочий root -> Один для моей команды, другой для клиента.

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

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

  • Полный доступ к серверу - Apache или Nginx
  • Полный доступ к MySQL

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

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

  • Мы хотим запустить задание cron, которое регистрирует каждую команду, выполняемую на сервере любым пользователем.
  • Нам это нужно, чтобы определить, кто и когда внес изменения.

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

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

0
задан 1 April 2016 в 13:22
2 ответа

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

Обновление:

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

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

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

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

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

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

1
ответ дан 4 December 2019 в 16:39

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

0
ответ дан 4 December 2019 в 16:39

Теги

Похожие вопросы