Часто возникает необходимость мониторить что происходит на удаленном сервере, часто приходится ставить key logger\activity logger для отслеживания действий пользователей. После выборки фриварного ПО не было найдено почти ничего интересного, много ограничений, много не стабильных реализаций.
Наткнулся на интересный проект Snoopy Logger
Установка данного продукта происходит обычно без особых трудностей
например
можно задать логирование только root
для этого нужно перед /configure отредактировать файл snoopy.h
было
стало
/etc/init.d/syslog restart (или rsyslog)
вывод в логи можно искать по след файлам
Если не хочется парсить кашу из системных логов и Snoopy, можно сделать так:
Добавляем в конфиг
По такому же принципу можно убрать из системных логов мусор от снупи.
Логи выглядят следующим образом
Так же можно перенаправить через syslog на другую машину и там развести по нужным логам или веб приложениям.
Вообщем каждый сам решит для себя как можно использовать эту утилиту.
Для того чтобы удалить потом Snoopy, достаточно очистить файл /etc/ld.so.preload содержащий ссылку на .so и удалить сам файл /usr/local/lib/snoopy.so
зыЖ В этой мини статье я не рассматривал этическую сторону использования данного рода программ, оставив это на усмотрение читателей.
Наткнулся на интересный проект 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
зыЖ В этой мини статье я не рассматривал этическую сторону использования данного рода программ, оставив это на усмотрение читателей.