Как стать автором
Обновить

Логирование пользовательской активности в Linux

Время на прочтение2 мин
Количество просмотров19K
Часто возникает необходимость мониторить что происходит на удаленном сервере, часто приходится ставить key logger\activity logger для отслеживания действий пользователей. После выборки фриварного ПО не было найдено почти ничего интересного, много ограничений, много не стабильных реализаций.
Наткнулся на интересный проект Snoopy Logger



Установка данного продукта происходит обычно без особых трудностей

wget downloads.sourceforge.net/project/snoopylogger/snoopy-1.8.0.tar.gz
(данный пакет можно найти в репозиториях некоторых дистрибутивов, например убунты)
tar -zxf snoopy-1.8.0.tar.gz
cd snoopy-1.8.0/
./configure --help (посмотреть опции)

например
--with-syslog-facility=FACILITY
--with-syslog-level=LEVEL


можно задать логирование только root
для этого нужно перед /configure отредактировать файл snoopy.h
было
#define SNOOPY_ROOT_ONLY 0
стало
#define SNOOPY_ROOT_ONLY 1

./configure
make
make install

install -m 755 -d /usr/local/lib
install -m 755 snoopy.so /usr/local/lib/snoopy.so

Snoopy shared library installed in /usr/local/lib.
Run 'make enable' to actually enable snoopy logging.

make enable
./enable.sh /usr/local/lib
Snoopy enabled in /etc/ld.so.preload. Check syslog messages for output.


/etc/init.d/syslog restart (или rsyslog)

вывод в логи можно искать по след файлам

/var/log/auth*
/var/log/messages
/var/log/secure


Если не хочется парсить кашу из системных логов и Snoopy, можно сделать так:

touch /var/log/snoopy.log
vim /etc/syslog.conf (если стоит обычный syslog)

Добавляем в конфиг
!snoopy
*.* /var/log/snoopy.log

По такому же принципу можно убрать из системных логов мусор от снупи.

Логи выглядят следующим образом
Apr 6 06:46:26 asterisk snoopy[12664]: [uid:0 sid:12595 tty:/dev/pts/2 cwd:/home/develop filename:/usr/bin/nano]: nano /etc/asterisk/extensions.conf
Apr 6 07:56:19 asterisk snoopy[13267]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/root filename:/sbin/ifconfig]: ifconfig
Apr 6 07:56:26 asterisk snoopy[13268]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/root filename:/bin/touch]: touch /opt/1.txt
Apr 6 07:57:56 asterisk sudo: felvis : TTY=pts/3 ; PWD=/home/felvis ; USER=root ; COMMAND=/sbin/ifconfig eth0
Apr 6 07:57:56 asterisk snoopy[13277]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/home/felvis filename:/sbin/ifconfig]: /sbin/ifconfig eth0


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

Для того чтобы удалить потом Snoopy, достаточно очистить файл /etc/ld.so.preload содержащий ссылку на .so и удалить сам файл /usr/local/lib/snoopy.so

зыЖ В этой мини статье я не рассматривал этическую сторону использования данного рода программ, оставив это на усмотрение читателей.
Теги:
Хабы:
Всего голосов 11: ↑8 и ↓3+5
Комментарии10

Публикации

Истории

Работа

Ближайшие события

22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань