Оповещение Zabbix при входе пользователя root

Оповещение Zabbix при входе пользователя root

Я начал использовать Zabbix и вижу, что он выдает оповещения при изменении таких вещей, как /etc/passwd.

Поиск в Google по запросу «оповещение Zabbix при входе в систему root» не дал никаких результатов. Как мне получить оповещение при входе в систему root?

решение1

Вам не следует разрешать входы root вообще, потому что это небезопасно. Вам следует разрешить только входы обычных пользователей, и после входа в систему пользователь может использовать sudoдля выполнения команд как root.

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

В любом случае, вам нужно проверить /var/log/auth.logуспешные входы SSH. Проверка файлов журнала требует активных проверок агента Zabbix. Поэтому сначала вам нужно убедиться, что активные проверки работают правильно (см.этот пост в блоге).

Во-вторых, пользователь Zabbix (по умолчанию) работает как zabbixпользователь. Поэтому он не сможет прочитать /var/log/auth.log, поскольку этот файл доступен для чтения только пользователю root и пользователям в группе adm. Поэтому вы можете добавить zabbixпользователя в admгруппу. Это позволяет Zabbix читать множество файлов журналов (источник).

Наконец, вам необходимо создать элемент мониторинга и триггер в веб-интерфейсе Zabbix.

Создать элемент:

Name: SSH successful authentication
Type: Zabbix agent (active)
Key: log[/var/log/auth.log,"Accepted .*",,,skip,\0]

Создайте триггер для этого элемента:

Name: Successful SSH authentication on {HOST.NAME}
Expression: {Template OS Linux - Extra:log[/var/log/auth.log,"Accepted .*",,,skip,\0].strlen()}>0 and {Template OS Linux - Extra:log[/var/log/auth.log,"Accepted .*",,,skip,\0].nodata(5m)}=0

Обратите внимание на Accepted .*регулярное выражение в элементе. Оно должно соответствовать всем типам аутентификации SSH, будь то аутентификация по паролю или аутентификация по открытому ключу. Конечно, в вашем случае вы можете изменить регулярное выражение, чтобы оно соответствовало только входам от root. Но, как объяснялось ранее, это не имеет смысла с точки зрения безопасности.

Также обратите внимание, что я использовал log[...], потому что это приводит к тому, что соответствующая строка журнала, соответствующая регулярному выражению, будет включена в электронное письмо с уведомлением, которое отправит Zabbix. Таким образом, вы можете увидеть в письме, какой пользователь был аутентифицирован.

решение2

Для систем на базе Debian вам необходимо проанализировать /var/log/auth.logфайл следующим образом:

log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>]

https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/zabbix_agent

итак по сути:

log.count[/var/log/auth.log,*root*Accepted,,,skip]

Связанный контент