Получать уведомление по электронной почте, когда кто-то обращается по SSH как root

Те из нас, кто администрирует серверы, должны максимально строго контролировать все, что происходит на сервере, одна из вещей, которые нам часто нужно знать, - это когда пользователь подключается через SSH (включая root), для этого с помощью пакета и строки дойдут до наших уведомлений по электронной почте.

Можете ли вы представить себе, что каждый раз, когда кто-то подключается через SSH с root, он получает электронное письмо с надписью?

Другими словами, они получат электронное письмо, в котором будет сказано примерно следующее:

[miserver] Предупреждение: доступ к корневому терминалу: 2014 (01)

То есть:

[$ VPS_NAME] Оповещение: доступ к корневому терминалу: $ DATE ($ IP_DE_WHO_S_CONNECT)

Для этого они должны сначала установить пакет под названием mailx.

Предполагая, что ваш сервер использует Debian или какой-либо дистрибутив на его основе (я рекомендую только Debian, а не Ubuntu или аналогичный для серверов), это будет:

apt-get install mailx

Примечание: Предыдущая команда выполняется от имени пользователя root непосредственно на сервере, так как это VPS, sudo не следует использовать, если это не является строго необходимым.

Затем мы должны поместить в корень .bashrc следующую строку:

echo 'ALERTA - Acceso a Terminal de Root en:' `hostname` 'el:' `date +'%Y/%m/%d'` `who | grep -v localhost` | mail -s "[ `hostname` ] Alerta: Acceso a Terminal de Root el: `date +'%Y/%m/%d'` `who | grep -v localhost | awk {'print $5'}`" [email protected]

Чтобы отредактировать /root/.bashrc, используйте какой-нибудь редактор в терминале, например nano:

nano /root/.bashrc

Не забудьте указать свой адрес электронной почты в конце строки, просто измените [электронная почта защищена] по адресу электронной почты, на который они хотят получать уведомления.

После помещения (в любом месте файла) строки, которую я поместил ранее, мы сохраняем файл с Ctrl + O (Или медведь), и мы оставили его с Ctrl + X

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

электронное уведомление-ssh

Объяснение строки очень простое:

  1. Через mailx я отправляю почту, с параметром -s «_____» указываю тему, передаю ее с эхом «____» и конвейером содержимое тела.
  2. `hostname` с этим я получаю имя хоста или имя хоста, то есть имя VPS.
  3. `date + '% Y /% m /% d'` команда date показывает мне системную дату, остальные буквы просто указывают, как я хочу отображать дату.
  4. кто | grep -v localhost` Если вы запустите who на своем компьютере, он покажет вам активных пользователей, с помощью grep -v localhost я убеждаюсь, что он показывает только тех, кто подключился из другого места к самому серверу, то есть в основном SSH
  5. `кто | grep -v localhost | awk {'print $ 5'} `Что отличает эту строку от предыдущей, так это awk, через awk и печать 5-го столбца то, что я получаю IP, откуда они подключились к SSH

В любом случае строка несколько длинная и может показаться сложной для понимания, однако там много странных символов, но все довольно просто 

Как всегда, надеюсь, вам было интересно.

привет


Добавить в качестве предпочтительного источника в Google