网络安全 频道

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

  MODHEX 编码iRule

  本地数据>>iRules>>iRules 列表>>“创建”

  复制粘贴下列iRule,它们可以把YubiKey序列号转换成MODHEX格式。在本文示例中,笔者检索了与Active Directory用户相关的YubiKey序列号,该Active Directory使用employeeID 属性。如果序列号已经保存在备用处,如一个数据群组或一个自定义LDAP/AD属性,那么就需要修改此iRule。

when ACCESS_POLICY_AGENT_EVENT {
if { [ACCESS::policy agent_id] eq "irule_apm_yubikey_modhex_encode" } {
# yubikey serial number
set yubikey_serial [ACCESS::session data get session.ad.last.attr.employeeID]
# modhex alphabet
array set modhex_alphabet { 0 c 1 b 2 d 3 e 4 f 5 g 6 h 7 i 8 j 9 k A l B n C r D t E u F v }
# remove leading zeros from serial number
set yubikey_serial [string trimleft $yubikey_serial 0]
# convert serial
to hex and pad with zeros
set yubikey_serial [format %012X $yubikey_serial]
#
split the string
set yubikey_serial [split $yubikey_serial ""]
#
for each HEX change to MODHEX using alphabet
set yubikey_modhex ""
foreach index $yubikey_serial {
append yubikey_modhex $modhex_alphabet($index)
}
ACCESS::session data
set session.custom.yubikey.modhex $yubikey_modhex
}
}

  访问配置文件和策略

  访问策略>>访问配置文件>>访问配置文件列表>>“创建”

  提供如下信息:

    1. 姓名:profile_yubicloud
    2. 语言:English
    3. 使用默认设置。

  选择“完成”以保存。

MODHEX 编码iRule

MODHEX 编码iRule

MODHEX 编码iRule

  访问策略>>访问配置文件>>访问配置文件列表>>“编辑”

  在“start”对象后的“fallback”上,添加“logon page”对象。

  添加第三个域:

    1. 类型:文本。
    2. 贴出变量名称:yubiotp
    3. 会话变量名称:yubiotp
    4. 只读:否

MODHEX 编码iRule

  在“自定义”部分,将“表单标头文本”设置为你需要的效果,并把“登录页面输入区域#3”改成有意义的值,如下。“Branch Rules”设为默认状态。别忘了点“保存”。

MODHEX 编码iRule

0
相关文章