Как лучше всего отследить приключения начинающего администратора

8

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

  • Дорожки оболочки ввода и вывода , как ttyrec(или , scriptили , sudoесли регистрация установлена) и может повторить сеанс , как ttyplay (или scriptreplayили sudoreplay) Совместимость с программами Ncurses было бы хорошо, но не обязательно, ttyrecможет сделать это , по- видимому.
  • Отслеживает доступ к файлам, создание и изменение. В идеале это может также сделать резервную копию файла каждый раз, когда он изменяется или удаляется.

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

  • Я мог бы поставить ttyrec $(mktemp), script $(mktemp)или sudo -u $USER -i(с Судо каротаж настройки) в его .bashrcрегистрировать оболочки IO.
  • Настройка аудита для отслеживания доступа к файлам в некоторых директориях, как /usr, /etc, /var.
  • Создайте снимок LVM при входе в систему, но это немного излишне и может снизить производительность системы.

РЕДАКТИРОВАТЬ: ttyrec кажется, лучшая альтернатива script, он будет отвечать всем моим требованиям к журналу ввода-вывода. Теперь мне нужно найти хороший способ регистрации файлов манипуляций.

Буду благодарен за любые предложения или рекомендации из лучших практик.

Ондржей Гровер
источник
3
Подсказка: в некоторых странах это не может быть законно без разрешения пользователя.
Сайрус
2
@Cyrus спасибо за напоминание, он узнает об этом. Это больше о поиске менее навязчивого и более автоматического способа, чем просить его не забывать всегда запускать все в scriptсеансе. Речь идет не о том, чтобы шпионить за ним, а о том, чтобы дать ему уверенность в том, что его ошибки можно отследить.
Ондржей Гровер
3
Я думаю, что у этого пользователя не должно быть привилегий sudo.
Др_
1
@ dr01 в идеале да, я бы сделал администрацию для него. Но это не всегда возможно. Он не всегда облажается, мне просто нужно настроить защитную сетку.
Ондржей Гровер

Ответы:

2

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

В вашем случае вы хотели бы добавить deflog onв файл screenrc новые окна по умолчанию с входом в систему.

Это имеет тот недостаток, что пользователь может переключать его.

Вы можете осуществлять мониторинг файлов с помощью Monit , который отслеживает контрольные суммы файлов на предмет изменений, а также может проверять состояние различных служб. Объедините это с чем-то вроде rsync для cronjob (поскольку у вас должно быть что-то подобное в любом случае), и у вас будет достаточно четкое представление о том, что именно происходит на сервере, особенно если вы включаете действительно жесткие временные метки на экране и доверяете своему пользователю не возиться с настройками регистрации.

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

Джеймс Бидербек
источник