Ответы пользователя по тегу SSH
  • Существуют ли SSH-proxy для логирования?

    Попробуйте ELF библиотеку snoopy (snoopy logger). Есть готовые пакеты под большинство rpm/deb-систем.
    Логирует все исполняемые консольные команды, все запускаемые скрипты и тд. Обойти можно только отключив прелоад библиотеки (собственно надо иметь права суперпользователя).
    Вывод в логах крайне подробный и информативный. Пример:
    Aug 10 06:30:01 ctrx snoopy[15967]: [uid:0 sid:15967 tty: cwd:/root filename:/usr/bin/scp]: scp www-data@***********:/home/www-data/downld02.txt /var/www/ctrx.com/collect/downld02.txt
    Aug 10 06:30:01 ctrx snoopy[15968]: [uid:0 sid:15968 tty: cwd:/root filename:/srv/www/forum.ctrx.com/bin/collect-stats]: /srv/www/forum.ctrx.com/bin/collect-stats
    Aug 10 06:30:01 ctrx snoopy[15966]: [uid:0 sid:15966 tty: cwd:/root filename:/srv/www/www.ctrx.com/bin/process-collect-data]: /srv/www/www.ctrx.com/bin/process-collect-data
    Aug 10 06:30:01 ctrx snoopy[15969]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/sync-video]: /usr/bin/sync-video
    Aug 10 06:30:01 ctrx snoopy[15971]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/basename]: basename /usr/bin/sync-video
    Aug 10 06:30:01 ctrx snoopy[15973]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/flock]: flock -n 9
    Aug 10 06:30:01 ctrx snoopy[15974]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/rsync]: rsync -a -L --log-file=/var/log/sync.log www-data@**********:/srv/video /var/www/ctrx.com/alias.ctrx.com/docs/projects/ctrx.com/
    Aug 10 06:30:02 ctrx CRON[15963]: pam_unix(cron:session): session closed for user root
    Aug 10 06:30:02 ctrx snoopy[15977]: [uid:106 sid:44096 tty: cwd:/ filename:/bin/cat]: cat /proc/diskstats


    Как видно логируется точная дата, хост, uid, sid, терминал, pwd, команда

    Далее можете уже на хосте настроить syslog-ng/rsyslog что бы отделять логи snoopy (по умолчанию летит все в auth.log) и если есть необходимость пересылать по tcp/udp на коллектор логов для дальнейшего анализа и хранения

    Лично я пытаюсь его совместить со стандартным auth, authpriv и разделять по host/user что бы видеть кто когда логинился и что выполнял, а так же отсеять мусор от служебных пользователей типа zabbix (от zabbix-agentd), который выполняет кучу команд и в принципе не нужен в логах

    P.S. Кстати благодаря этой библиотеке многое узнал о процессах протекающих в разных системах (Debian 6,7, Arch, RH5, Ubuntu Server 12.04/14.04) без моего ведома, о их "скрытой жизни". Особенно поразила Ubuntu Server в плохом смысле.
    Еще был найден баг в Debian 6 в скриптах bash_completion. В Wheezy уже починили.
    Ответ написан
    Комментировать