У нас есть 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.