Доверяй, но проверяй.
Допустим, я хочу нанять кого-нибудь системного администратора и дать ему root-доступ к моей системе Unix. я бы хотел отключить для них X windows, разрешить использование только оболочки (возможно, через SSH), чтобы все операции, которые они выполняли, выполнялись через оболочку (а не операции с мышью).
Мне нужен инструмент, который будет записывать на удаленный сервер все команды они выдают, как они их выдают. Таким образом, даже если они установят черный ход и заметят свои следы, это будет удаленно зарегистрировано.
Не давайте им рут. Дайте им индивидуальный аккаунт и поместите его в sudoers. Каждая команда, которую они запускают с помощью sudo, будет занесена в журнал. Однако sudo power по-прежнему позволяет им очищать журнал и входить в систему как root с помощью sudo su -
.
Решение состоит в том, чтобы разделить журнал на другом сервере, например, syslog-ng. Они могут выключить его, но то, что они сделали, будет записано и должно стать большим красным флагом. Как будет su -
. Я думаю, ты можешь заблокировать это в sudoers немного подумав.
Есть ли инструмент для мгновенной удаленной регистрации команд по мере их выполнения?
Судош2 ( http://sourceforge.net/projects/sudosh2/ ) будет делать то, что вы хотите. Вот описание с их сайта:
Sudosh - это фильтр оболочки аудита, который может использоваться как оболочка входа в систему. Судош записывает все нажатия клавиш и вывод и может воспроизводить сеанс как на видеомагнитофоне.
Пользователь выполняет команду типа «sudo sudosh2», а затем у него появляется sudo.
sudosh2 - это оболочка sudo, которая будет записывать все нажатия клавиш и регистрировать все из пользовательского сеанса (ввод, вывод, ошибки и т. д.). Вы можете воспроизвести сеанс пользователя. Это может быть очень удобно.
sudosh2 поддерживает syslog, и вы можете отправить этот вывод на удаленный сервер.
Это может не сделать все, что вам нужно, но может помочь. Некоторые люди также используют корень, но я не понимаю, как это по сравнению с судошем.
Для регистрации всего, что кто-то вводит в вашу консоль pam_tty_audit это то, что вам нужно. Я почти уверен, что он записывает вывод через системный журнал, поэтому вы можете просто перекачать этот журнал на другой сервер системного журнала.
NB, это регистрирует все, нажатия клавиш (вверх, вниз, ctrl и т.д.), а также будет регистрировать пароли, когда они вводятся в поля пароля.
Я согласен с Мэттом. Если вы не можете им доверять, у них не должно быть root.
Для контрольного следа корень может быть использован. Вы можете разрешить им выполнять sudo только до rooth. В сочетании с этим и удаленным ведением журнала остановить его будет немного сложнее, чем просто sudo.
Теоретически вы можете использовать прокси-сервер ssh (в системе, которую человек не контролирует) для регистрации всего трафика между хостом и системой. Он ssh в систему, вы регистрируете там все данные и перенаправляете соединение на целевой сервер. Демон локальной регистрации нарушает основной принцип запрета пользователю административного доступа к системам, которые, как ожидается, будут его ограничивать.
На практике более или менее невозможно прочитать журнал команд и выяснить, сделал ли парень что-то плохое или нет. Если вы не можете доверять своим системным администраторам, вы облажались. Я бы не стал пытаться.
Как говорили многие. Если у кого-то есть root, у них есть бокс. доверие здесь король. Однако до некоторой степени вы можете добиться желаемого поведения с помощью sudo. Администратор входит в систему как обычный пользователь, затем ему разрешается запускать различные команды, выполнив sudo / path / to / command. Это, вероятно, лучшее, что вы получите, не играя в множество игр.