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

Debian, Linux, Ubuntu

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

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

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

  • CentOS/RHEL
    yum install sendemail
    
  • Debian/Mint/Ubuntu
    apt install 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-АДРЕС!



© ИТ Основа