Как научить сервер сообщать вам по почте о логине root

Опубликовано:

Задача: нужно в максимально короткий срок узнать, зашел ли кто под пользователем root на сервер, от какого пользователя была запущена команда su и какой IP посмел такое сделать.

Проверка каждого пользователя

По сути, все просто, если у вас работает Postfix или любой другой почтовик. Все, что вам нужно, это добавить в конец файла

/root/.bash_profile

следующую строку:

echo 'ALERT - Root Shell Access on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d"(" -f2 | cut -d")" -f1`" it@adminunix.ru
для FreeBSD
echo 'ALERT - Root Shell Access on:' `date` `who` | mail -s "Alert: Root Access from `hostname -f` `who | cut  -f2 | cut  -f1`" it@adminunix.ru

Советую заранее протестировать эту строчку, просто выполнив её. На почту должно прийти сообщение примерно такого вида:

72.22.22.1462
ALERT - Root Shell Access on: Sun Dec 11 00:58:17 MSK 2011 user pts/0 2011-12-10 21:08 (72.22.22.1462) user pts/2 2011-12-10 21:17 (72.22.22.1462)

Эту же строчку можно добавить всем пользователям, которые имеют доступ на сервер по SSH

Проверка для всех пользователей

Этот вариант стоит использовать, если важно получать сообщения о каждом зарегистрировавшемся пользователе. Для этого строчку

echo 'ALERT - Root Shell Access on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d"(" -f2 | cut -d")" -f1`" it@adminunix.ru
для FreeBSD
echo 'ALERT - Root Shell Access on:' `date` `who` | mail -s "Alert: Root Access from `hostname -f` `who | cut  -f2 | cut  -f1`" it@adminunix.ru

мы добавляем в конец файла /etc/profile. Теперь каждый раз, как какой-либо пользователь пройдет аутентификацию на сервере, вы сможете получить об этом сообщение.

Понравилась статья, расскажи о ней друзьям, нажми кнопку!