Zabbix мониторинг логина пользователя

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

Подготовка машины.

Перво на перво включаем в групповой политике логон-аудит. Расскажу вкратце, потому что работа с групповыми политиками и без того гуглится на раз-два. Интересующая нас политика находится в Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Audit Policy. Интересующая нас политика называется Audit logon events, необходимое для нас значение — Success, Failure.

Подготовка агента.

В конфигурации zabbix-агента необходимы два параметра:
  1. ServerActive — адресс/FQDN заббикс сервера
  2. Hostname — должен быть ровно таким же (учитывая регистр) как имя этой машины в самом заббиксе

 

 
Настройка мониторинга.

Item 1.

  • Type — Zabbix agent (active);
  • Key — eventlog[Security,@CustomUsername,,,4624|4647,,skip]. Разбираем используемые нами параметры: name (Security) — имя журнала событий, в данном случае нас интересуют логи беопасности; regexp (@CustomUsername) — тут я написал комплексное регулярное выражение, разберём его ниже; eventid (4624|4647) — принимаем только два возможных события successfully logged on и initiated logoff; mode (skip) — пропускать обработку накопленных данных, нам это не нужно, ибо этот айтем будет выступать только в роли кэша.
  • Type of information — Log
  • History storage period (in days) — можно поставить максимально короткое время, так как это лишь промежуточный айтем.
Regexp.

Идём в Administration\General\Regular expressions. Создаём новое регулярное выражение с именем CustomUsername. Нам необходимы два фильтра:

  1. Expression type — Result is TRUE; Expression — имя пользователя (или маска соответствующая нескольким именам) логин/логаут которого необходимо отслеживать.
  2. Expression type — Result is TRUE; Expression — Logon Type:            10|logoff|Logon Type:            2. Да, с этими чудовищными отступами. Первое — совершён удалённый вход на ПК, второе — logoff, третье — совершён непосредственный вход на ПК.
Mapping.

Не обязательный пункт, необходимо для более удобного чтения собираемых данных. Идём в Administration\General\Value mapping. Создаём новый маппинг с двумя вариантами:

  • Value — 0, Mapped to — Not logged;
  • Value — 1, Mapped to — Logged;


Item 2.

  • Type — Calculated;
  • Key — logonstatus (в действительности, задавайте любой).
  • Formula — 1 — logeventid(«eventlog[Security,@CustomUsername,,,4624|4647,,skip]»,4647) Разбираем: функция logeventid проверяет соответствует ли значение Item (eventlog[Security,@CustomUsername,,,4624|4647,,skip]) регулярному выражению (4647). Результат выполнения 1 — если соответствует, 0 — если не соответствует.
  • Type of information — Numeric (unsigned)
  • Data type — Decimal;
  • Show value — маппинг, который мы создали ранее.


Вот, собственно, и всё. Можете вешать тригеры, делать оповещалки и всё что вам пожелается.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *