Июн 162011
 

Понадобилось мне знать кто и когда авторизуется через ssh. А так же кто использует root.
Часть информации было взято из этой статьи Freebsd мониторим авторизации по ssh.
Первым делом создадим скрипт, скрипт будет отлавливать данные из системных переменных.

# cat /root/stat_s
#!/bin/sh
SOR=`echo $SSH_CONNECTION | awk '{print $1}'`
TI="10.7.20.1"
PI="10.7.20.210"
if [ "$SOR" != "$TI" ] && [ "$SOR" != "$PI" ]; then
echo -e "Авторизация через ssh on $(hostname -f)\n\nДата:\t\t$(date +%d.%m.%Y\ %H:%M:%S)\nУдаленная_машина  :\t$SSH_CONNECTION\nПользователь:\t\t$User\nShell:\t\t$SSH_TTY" | sendmail user@gmail.ru
fi

Чуть модифицировал скрипт, добавил проверку на ip адрес.
В переменных TI И PI указаны доверенные ip адреса, от их авторизации не будут приходить письма.
if [ «$SOR» != «$TI» ] && [ «$SOR» != «$PI» ]; then А эта сама проверка ip адресов. если истина то отправляется письмо на мыло.

SOR=`echo $SSH_CONNECTION | awk '{print $1}'`
TI="10.7.20.1"
PI="10.7.20.210"
if [ "$SOR" != "$TI" ] && [ "$SOR" != "$PI" ]; then

Дальше нужно создать файл sshrc с таким содержимым

# cat /etc/ssh/sshrc
/root/stat_s

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

Авторизация через ssh on tor-253.example.test
Дата:                  16.06.2011 11:35:57
Удаленная машина:10.7.20.1 3830 10.7.20.253 22
Пользак:              AD
Shell:                   /dev/ttyp0

Я еще добавлю кто и когда становился рутом

# cat /root/stat_r
#!/bin/sh
echo -e "На этой машине была использована учетная запись ROOT$(hostname -f)\n\nДата:\t\t$(date +%d.%m.%Y\ %H:%M:%S)\nПользователь:\t\t$User" | sendmail user@gmail.ru

Добавим этот скрипт к .cshrc

# nano /root/.cshrc
/root/stat_r

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

Авторизация через ssh on tor-253.example.test
Дата:                  16.06.2011 11:35:57
Пользак:              AD

Так же можно использовать пакет для отправки сообщений прямо в jabber.
для этого мы должны установить пакет sendxmpp
cd /usr/ports/net-im/sendxmpp && make install clean
И теперь нам только остаеться заменить | sendmail user@gmail.ru на sendxmpp -u user -p pass -j server -s тут можно добавить переменные.
Сообщение моментально будет вам доставляться к нам в jabber.

Добавлю , что если будет создан файл .ssh/rc то он будет выполняться именно на определенного пользоака.

  4 комментария to “Мониторинг ssh авторизаций”

  1. Спасибо, давно искала такой вариант мониторинга ssh у себя.
    Класс теперь на почту приходит письмо с данными кто зашел и какой учетнай записью воспользовался.

  2. Спасибо.

  3. Спасибо за скрипт.
    Все заработало как из коробки.

  4. […] Скрипт мониторинга ssh авторизация. […]

 Leave a Reply

(required)

(required)

39 Запросов к базе. 0,397 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.225.16.10