Image

База знаний → Отправка уведомления при успешном логине в ssh на Debian 12

[Виртуальные сервера]
Дата публикации: 05.10.2023

При каждом логине пользователя в ssh мы будем отправлять уведомление по электронной почте. Оно будет содержать информацию, включая время и ip адрес, с которого было успешное подключение.

Такие уведомления позволяют контролировать и видеть когда и кто работал с сервером используя ssh.

Чтобы отправлять письма из консоли, используя авторизацию нам необходимо установить необходимые пакеты и настроить их.

1. Установка:

apt install ssmpt
apt install mailutils

2. Настройка службы ssmtp, приведем файл к данному виду:

nano /etc/ssmtp/ssmtp.conf

UseSTARTTLS=YES
root=email@domain.tld
mailhub=mail.domain.tld:587
AuthUser=email@domain.tld
AuthPass=P@ssw0rd
FromLineOverride=YES

3. Отредактируем файл, который исполняется при логине для пользователей:

nano /home/user1/.bashrc

echo 'ALERT - user1 ssh access (server-name) on:' `date` `who` | mail -s "SSH Login"  to@domain.tld
...
# ~/.bashrc: executed by bash(1) for non-login shells.

4. Теперь при каждом логине пользователя user1 будет отправляться уведомление:

ALERT - user1 ssh access (server-name) on: Thu Oct 5 14:41:21 UTC 2023 user1 pts/0 (xx.ip.xx.ip)

5. Настройка прав. Так как файл .bashrc находится в папке пользователя - ему разрешено по умолчанию его редактировать, чтобы запретить, отключим права записи из-под пользователя root:

chmod 444 /home/user1/.bashrc

Готово. Теперь данный пользователь, залогинившись, не сможет отключить настроенные уведомления.





Нет комментариев