网络安全 频道

创新USB密钥 YubiKey实现双因素验证

  在“Logon Page”对象后面的“fallback”分支,添加一个“AD Auth”对象

  这一步可以验证姓名和密码。

  提供如下信息:

    1. 姓名:AD Auth
    2. AAA服务器:/Common/dc1.test.lab (选择你的AD 服务器)

  “Branch Rules”为默认。结束后选择“保存”。

MODHEX 编码iRule

  “AD Auth”对象之后的操作成功分支上,添加一个“AD Query”对象

  这一步检查用户的Active Directory账号是否有YubiKey。我们已经为每位用户把YubiKey的序列号添加到Active Directory。以前笔者出于方便会使用employeeID,但这里,推荐大家创建一个用于YubiKey序列号的自定义AD属性。

  提供如下属性:

    1. 姓名:YubiKey Provisioned
    2. 搜索过滤:sAMAccountName=%{session.logon.last.username}

MODHEX 编码iRule

  在“Branch Rules”下,删除默认,选择“添加Branch Rule”

  更新Branch Rule设置:

    姓名:Yes
    表达式:expr{[mcgt{session.ad.last.attr.employeeID}]!=””}

  选择“完成”,然后保存。

MODHEX 编码iRule

  在“YubiKey Provisioned”对象的“Yes”分支里,添加“iRule Event”对象

  这一步可以把“session.ad.last.attr.employeeID”(YubiKey 序列)从AD Query发送到名为“irule_apm_yubikey_modhex_encode”的iRule。iRule会返回一个用MODHEX编码的字符,并将其保存在“session.custom.yubikey.modhex”。我们需要MODHEX格式的YubiKey序列号,这样我们就可以把它与登录页面输入的原始YubiKey OTP进行比对。

  提供如下信息:

    1. 姓名:YubiKey MODHEX Encode
    2. ID:irule_apm_yubikey_modhex_encode

MODHEX 编码iRule

  现在,我们把MODHEX格式的YubiKey序列号与登录页面输入的YubiKey OTP进行比较。这一步可以验证用户是否正在使用他们的YubiKey抑或是被盗用。这个YubiKey OTP的前面12个字符是YubiKey序列号,这样就可以用“字符优先”的TCK命令进行验证。

0
相关文章