最近我需要把Netscaler和一个第三方的双因素认证设备对接。不过我们可以把第三方的双因素认证服务器认为是一个radius服务器。
首先说一下我当前的环境。当前我拥有一个已经搭建好的Citrix桌面环境,我上次做otp双因素认证的时候留下的,环境是正常运行。Netscaler的版本是13.0。Radius的服务器也准备好了。
本次的双因素认证和OTP双因素认证的配置十分相似,可以aaa服务器设置这一部分可以参考我之前写的文章。
https://blog.51cto.com/181647568/2484709

一切准备就绪,接下来要做的就是在ag的vitrual server上将原来的otp策略替换成radius策略即可。
Netscaler仅配置radius验证。
认证的步骤如下:用户输入的是域账号,然后密码处输入的是域密码加token。然后交给radius服务器。验证域账号是否正确的操作交给radius服务器。

Netscaler菜单里找到:Security / AAA - Application Traffic / Policies / Authentication / Basic Policies / RADIUS / Servers
选择下面的蓝色按钮“ADD”
Citrix Netscaler对接RADIUS服务器_第1张图片
如果你的radius配置正确,那么在配置过程中一定有一个secret key,在此处填入服务器的IP地址和端口(1812)然后再填入密钥,并且点击下面的测试连接性按钮。
Citrix Netscaler对接RADIUS服务器_第2张图片
切换到菜单:Security / AAA - Application Traffic / Policies / Authentication / Basic Policies / RADIUS / Policies
添加策略,
Citrix Netscaler对接RADIUS服务器_第3张图片
server部分填入刚才配置的server信息。表达式部分填入“NS_TRUE”。

换到菜单:
Citrix Gateway / Citrix Gateway Virtual Servers
修改已存在的Virtual Server配置
Citrix Netscaler对接RADIUS服务器
将basic authentication改为刚才设置的radius policy即可。

排错:
以上方法虽然可以通过radius的认证,但是认证后交给store front的时候没有任何域账号信息,导致认证通过后,到连接receiver的时候显示“无法完成您的请求”。
因此我特意做了一个改动。
Citrix Netscaler对接RADIUS服务器_第4张图片
我在输入密码的时候加了两个认证,第一个依旧是ldap,第二个才是radius。
Citrix Netscaler对接RADIUS服务器_第5张图片
我稍微做了一下radius上的配置,让radius只验证token的值。这样密码处填入域账号,密码2处填入token码。这样可以通过认证。并且正确的进入store front。