оповещение по электронной почте при входе в систему по SSH

Thank you for reading this post, don't forget to subscribe!

Пер­вое, что нуж­но сде­лать, – это уста­но­вить необ­хо­ди­мые зависимости.

Для это­го вой­ди­те на свой сер­вер и выпол­ни­те команду:

sudo apt-get install postfix mailutils -y

Убе­ди­тесь, что выбра­ли Internet Site, а затем, добавь­те пол­ное домен­ное имя (пред­по­чти­тель­но) или про­стое имя хоста вашей машины.

Как настроить Postfix

После завер­ше­ния уста­нов­ки при­шло вре­мя настро­ить Postfix вручную.

Перед этим вам необ­хо­ди­мо полу­чить пароль при­ло­же­ния Gmail.

Это дела­ет­ся в раз­де­ле без­опас­но­сти ваше­го акка­ун­та Google.

Пер­вое, что мы сде­ла­ем, это созда­дим файл паро­лей с помо­щью команды:

sudo nano /etc/postfix/sasl_passwd

В этом фай­ле добавь­те следующее:

[smtp.gmail.com]:587 USERNAME@gmail.com:PASSWORD

Где USERNAME – это ваше имя поль­зо­ва­те­ля Gmail, а PASSWORD – пароль при­ло­же­ния, кото­рый вы толь­ко что создали.

Сохра­ни­те и закрой­те файл, а затем дай­те ему такие раз­ре­ше­ния, что­бы толь­ко поль­зо­ва­тель root мог его просматривать:

sudo chmod 600 /etc/postfix/sasl_passwd

Далее мы откры­ва­ем глав­ный кон­фи­гу­ра­ци­он­ный файл Postfix с помощью:

sudo nano /etc/postfix/main.cf

В этом фай­ле най­ди­те опцию relayhost и изме­ни­те стро­ку на:

relayhost = [smtp.gmail.com]:587

Ниже этой стро­ки добавь­те следующее:

smtp_use_tls = yes

smtp_sasl_auth_enable = yes

smtp_sasl_security_options =

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Сохра­ни­те и закрой­те файл.

Далее нам нуж­но ском­пи­ли­ро­вать и хэши­ро­вать содер­жи­мое фай­ла sasl_password, кото­рый мы созда­ли ранее с помо­щью команды:

sudo postmap /etc/postfix/sasl_passwd

Нако­нец, пере­за­пу­сти­те Postfix с помощью:

sudo systemctl restart postfix

Вклю­чи­те запуск Postfix при загруз­ке систе­мы с помощью:

sudo systemctl enable postfix

Как создать алерт о входе в систему через SSH

Теперь, когда Gmail настро­ен как релей Postfix, при­шло вре­мя создать опо­ве­ще­ние о вхо­де в систе­му  по SSH.

Выпол­ни­те команду:

sudo nano /etc/profile

В ниж­ней части это­го фай­ла добавь­те следующее:

if [ -n "$SSH_CLIENT" ]; then

TEXT="$(date): ssh login to ${USER}@$(hostname -f)"

TEXT="$TEXT from $(echo $SSH_CLIENT|awk '{print $1}')"

echo $TEXT|mail -s "ssh login" EMAIL

fi

Где EMAIL – это адрес элек­трон­ной почты, на кото­рый вы хоти­те отправ­лять оповещения.

Сохра­ни­те и закрой­те файл.

Вый­ди­те из систе­мы и сно­ва вой­ди­те в нее с помо­щью SSH, и в ито­ге вы долж­ны уви­деть опо­ве­ще­ние по элек­трон­ной почте на адрес назна­че­ния входа.

Опо­ве­ще­ние не толь­ко сооб­щит вам, какое имя поль­зо­ва­те­ля вошло в систе­му, но и даст вам IP-адрес, с кото­ро­го оно вошло.