我是 FreeRadius 的新手,所以我的知识并不深入。我正在尝试配置一个中心半径来处理任何基于网络的系统(交换机、路由器、防火墙和 VPN),以在最终用户尝试通过 SSH 和/或 VPN 进入系统时对其进行身份验证。我所有的设备都支持半径。
环境:
- 操作系统 = CentOS 7
- 自由半径 = 3.0.13
- 谷歌身份验证器 libpam = 1.09
- 我没有发布我的配置文件,因为它们完全包含在参考链接中。为了便于阅读,我会将它们发布在后续帖子中
参考: 我按照这个页面让大部分系统运行(SSLVPN Two - Factor Authentication with Google Authenticator
什么工作:
- 使用 radtest,我可以使用 AD 密码+OTP 对基于 AD 的用户进行身份验证
- 能够获得网络交换机身份验证和访问接受回复消息,以包括用户组的自定义 VSA(仅基于用户名在授权后区域中使用 unlang)。不理想,但只是为了测试这个概念。
下一步(问题):我希望能够最终决定最终用户是否被授予访问 VPN 或通过 AD 安全组切换的权限。因此,据我了解,我可以在 auth 模块或 post-auth 中执行此操作。我相信正确的位置可能是使用 unlang 进行身份验证后(但如果这不是执行此操作的一般区域,请纠正我)。我不知道我需要如何/在哪里执行 LDAP 查找以获取用户名 AD 安全组信息。理论上,一旦我有了用户名和组信息,就可以在多个过滤器中使用它们来声明他们是否可以访问一组系统。谢谢