АгАртИ-А
Разработка АгАртИ-А.рф
- ^ X
SSH уведомления входа на E-mail
[ \ ] [ .. ]
agarty@apache22.com [/list/SSH_uvedomleniya_vxoda_na_E-mail/]> ls -la

SSH уведомления входа на E-mail

Создано: 2016-11-15 19:14:33

SSH уведомления входа на E-mail

Озадачился тем, что захотел видеть всех, кто логинится по SSH. Ну на всякий пожарный, кто когда во-сколько.

И-так. Если нужно уведомление только в момент присоединения к серверу, тогда:

#> ee /etc/ssh/sshrc

Вписываем туда, меняя сервер и почту на свою (можно поменять и текст):

ip=`echo $SSH_CONNECTION | cut -d " " -f 1`
logger -t ssh-wrapper $USER login from $ip
(echo "Subject: User $USER logged on SERVER.ru"; echo "$USER [ $ip ] logged";) | sendmail -f mail@from_server.ru -t my@email.coms &

Сохраняемся, на всякий делаем service sshd restart, и теперь при логине Вам будет сыпаться письмо.

Теперь представим ситуацию, когда кто-то присоединился по ссш, хорошо, это мы отследили. А как же тогда отследить тех, кто войдет под рутом через su - ? И для этого есть решение.

Заходим под рутом
#> su -

Редактируем файл ~/.login
#root> ee ~/.login

Вписываем туда, что-то вроде:
echo "Login ROOT on server!" | sendmail -s "ROOT SERVER_NAME ssh login" -t my@email.rus -f from@server.rus

Сохраняемся, и пробуем. Т.е. набираем exit и su - соотвественно. Если спам-фильтр настроен нормально, то все будет бенч. Так же можно использовать другие скрипты. Об этом я напишу в другой статье