Отправка уведомлений через электронную почту об успешном логине по SSH

  • 07.02.2019
  • 5 961
  • 0
  • 13.12.2019
  • 1
  • 1
  • 0
Отправка уведомлений через электронную почту об успешном логине по SSH

Описание и решение проблемы

Если вам не безразлична безопасность вашего компьютера/сервера под управлением UNIX подобной операционной системы, и вы используете для удаленного доступа SSH, то эта тема может быть вам весьма полезной. Речь пойдет про уведомления на электронную почту про каждую успешную авторизацию по SSH.

Для этого понадобится:

Установленный скрипт sendemail, который можно установить через большинство популярных менеджеров пакетов:

  • CentOS/RHEL
    yum install perl-Net-SSLeay perl-IO-Socket-SSL sendemail
  • Debian/Mint/Ubuntu
    apt install libcrypt-ssleay-perl libio-socket-ssl-perl sendemail
Данный способ не будет работать, если у логинищегося пользователя существует файл ~/.ssh/rc!

Изменить (или создать, в случае его отсутствия) файл /etc/ssh/sshrc, добавив в него следующее содержимое:

ip=`echo $SSH_CONNECTION | cut -d " " -f 1`

logger -t ssh-wrapper $USER login from $ip
echo "User $USER just logged in from $ip!" | sendemail -q -u "User $USER just logged in from $ip" -f "SSH Notification<АДРЕС-ОТПРАВИТЕЛЯ>" -t АДРЕС-ПОЛУЧАТЕЛЯ -s smtp.yandex.ru:25 -xu ЛОГИН -xp ПАРОЛЬ &

В данном примере используется учетная запись от почтового сервиса Яндекса, сервер которого указывается через параметр -s, а так же имя пользователя -xu и его пароль -xp.
Получатель получит письмо следующего содержания:

Отправитель: SSH Notification
Тема: User ПОЛЬЗОВАТЕЛЬ just logged in from IP-АДРЕС
Сообщение: User ПОЛЬЗОВАТЕЛЬ just logged in from IP-АДРЕС!

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.