Отправка уведомлений через электронную почту об успешном логине по 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-АДРЕС!