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

Контролировать активность оболочки пользователя в вашей системе Unix?

Доверяй, но проверяй.

Допустим, я хочу нанять кого-нибудь системного администратора и дать ему 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. Это, вероятно, лучшее, что вы получите, не играя в множество игр.