监控 freeradius 的登录失败尝试并向用户发送电子邮件

监控 freeradius 的登录失败尝试并向用户发送电子邮件

我们有 2 个 freeradius 身份验证服务器,为大约 12000 名用户提供服务。用户经常输入错误的凭据,这会给帮助台带来很大的压力。我想编写一个脚本来监控 radius 日志中的身份验证失败情况(或者 mysql postauth 表),然后在数据库服务器上查找客户的电子邮件地址,以便能够向他们发送一封电子邮件,其中包含指向密码故障排除页面的链接。

问题是如何最好地做到这一点?我的第一个想法是设置 rsyslog 或其他程序,并将日志转发到 web/db 服务器,然后在那里运行一个脚本来跟踪日志。我还想到在每个 radius 服务器上本地运行某个程序来监控日志或 mysql postauth 表。我可以弄清楚如何实现它,但我不确定最佳策略。有什么建议吗?

答案1

您可以尝试在 Post-Auth-Type REJECT 中使用 perl

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

参考Freeradius 常见问题解答Post-Auth-Type 文档rlm_perl

相关内容