我是FreeRadius的新手,所以我的知识不是很深入.我试图配置一个中心radius来处理任何基于网络的系统(交换机、路由器、防火墙和VPN),以便在终端用户试图进入系统SSH和/或VPN时对他们进行身份验证。我所有的设备都支持radius。
环境:
3.0.13
FreeRadius=
,我将在后续文章中发布它们。
参考:-我遵循了这个页面来获得大部分系统的运行(SSLVPN Two - Factor Authentication with Google Authenticator )
正在起作用的东西:
使用radtest,我可以与基于AD的用户进行身份验证,使用他们的AD password+OTP
接下来的步骤(问题):我希望最终能够决定最终用户是被授予对VPN的访问权,还是通过AD安全组进行切换。所以根据我的理解,我可以在auth模块或后期执行这个操作。我相信正确的地方将在后可能使用unlang (但纠正我,如果这不是一般的领域来做这件事)。我不知道如何/在哪里执行LDAP查找来获取用户名AD安全组信息。理论上,一旦我有了用户名和组信息,就可以在多个过滤器中使用这些信息来声明它们是否能够访问一组系统。谢谢
发布于 2020-07-09 01:17:24
所以我想出了如何完成我想要做的事情。
配置/etc/raddb/clients.conf的
的每个客户端下添加选项
复制(副本不重命名)/etc/raddb/-可用/默认为
:服务器默认值{ new:server custom_vs01 custom_vs01
在-auth部分中添加unlang以查找LDAP组,因此,基本上,如果身份验证的用户不是两个AD组的一部分,那么我们将更新控件并从access中拒绝它们。
+=和会话状态:} -sql exec remove_reply_message_if_eap # Custom策略if (LDAP-Group == "AD_Group_SystemAdmins") { update应答{ := "AD_Group_SystemAdmins“}} elsif (LDAP-Group == "AD_Group_SystemUsers") {更新应答{LDAP_Group := "AD_Group_SystemUsers”。}{更新应答{应答消息=“未授权访问此系统”}更新控件{ Auth-Type :=“”} }
https://stackoverflow.com/questions/62286306
复制相似问题