Допустим, вы хотите получать уведомления каждый раз, когда кто-то подключается к вашему серверу по SSH. В этой статье мы покажем, как настроить отправку уведомлений в Zabbix при входе пользователя на Linux хост по SSH.
В Linux лог SSH подключений хранится в файле:
- RHEL/Rocky/Oracle Linux:
/var/log/secure
- Ubuntu/Debian:
/var/log/auth.log
По умолчанию в целях безопасности этот файл доступен на чтение только для root. Чтобы разрешить агенту zabbix читать содержимое этого файла, выполните:
$ sudo chgrp zabbix /var/log/auth.log
$ sudo chmod 640 /var/log/auth.log
Теперь нужно настроить шаблон Zabbix для мониторинга за SSH логами.
Создайте новый элемент zabbix с такими настройками:
- Name:
SSH login
- Type:
Zabbix agent (active)
- Key:
log[/var/log/auth.log,"Accepted .*",,,skip,\0]
- Type of information: Log
Настройте триггер для вашего элемента:
- Name:
Successful SSH authentication on {HOST.NAME}
- Expression:
length(last(/SSH Login/log[/var/log/auth.log,"Accepted .*",,,skip,\0]))>0 and nodata(/SSH Login/log[/var/log/auth.log,"Accepted .*",,,skip,\0],5m)=0
Теперь при успешной аутентификации с помощью пароля или SSH ключа вы будете получать уведомление, которое содержит имя пользователя и адрес, с которого выполнено SSH подключение.
Вы можете включить и настроить триггер для отправки уведомлений из Zabbix на почту или в Telegram (Настройка оповещения о событиях Zabbix в Telegram).