Назад | Перейти на главную страницу

Отслеживайте freeradius на предмет неудачных попыток входа в систему и отправляйте электронное письмо пользователю

У нас есть 2 сервера аутентификации freeradius, которые обслуживают около 12 тысяч пользователей. Пользователи часто вводят неправильные учетные данные, и это вызывает значительную нагрузку на службу поддержки. Я хотел бы написать скрипт для мониторинга журналов радиуса на предмет сбоев аутентификации (или, альтернативно, таблицы postauth mysql), а затем искать адрес электронной почты клиентов на сервере базы данных, чтобы иметь возможность отправить им электронное письмо со ссылкой на устранение неполадок с паролем страница.

Вопрос в том, как это лучше сделать? Моя первая мысль - настроить rsyslog или что-то в этом роде и перенаправить журналы на сервер web / db, а затем запустить там скрипт, который отслеживает журналы. Я также подумал о том, чтобы что-то работало локально на каждом сервере RADIUS, которое отслеживает журналы или таблицу postauth mysql. Я могу понять, как это реализовать, но не уверен в лучшей стратегии. Любой совет?

Вы можете попробовать использовать perl в Post-Auth-Type REJECT

post-auth {
  # Login successful: get an address from the IP pool.
  ippool
  Post-Auth-Type REJECT {
   # Login failed
   perl
  }
}

Ссылки Freeradius FAQ, Документы Post-Auth-Type, rlm_perl.