1 基础知识1>
1.1 软件简介
– KeycloakIP地址验证器,英文全称keycloak-ipaddress-authenticator
– KeycloakIP地址验证器,支持根据客户端IP地址实现条件身份验证流程
– KeycloakIP地址验证器,支持IPv6和IPv4,支持CIDR格式单个IP地址或范围以及子网掩码表示范围
1.2 场景范例
– 只对公司网络外部连接的用户显示OTP表单,内部不显示OTP表单
2 最佳实践
2.1 配置环境
2.2 在Keycloak安装KeycloakIP地址验证器
2.2.1 下载软件包
cd ~ wget https://github.com/evosec/keycloak-ipaddress-authenticator/releases/download/26.0.2_0/keycloak-ipaddress-authenticator-26.0.2_0-jar-with-dependencies.jar
以上只是下载演示,如果下载异常或需要更新的版本,请从如下连接下载,
https://github.com/evosec/keycloak-ipaddress-authenticator/releases
2.2.2 部署软件包
cd ~
cp keycloak-ipaddress-authenticator-26.0.2_0-jar-with-dependencies.jar ${RHBK_HOME}/providers/keycloak-ipaddress-authenticator.jar
chown keycloak:keycloak ${RHBK_HOME}/providers/keycloak-ipaddress-authenticator.jar
2.2.3 重启服务使部署生效
systemctl restart keycloak
2.2.4 界面验证插件安装

如上图所示,
单击【Manage realms】->选择非【master】的域
单击【Manage realms】->选择【master】->【Provider info】
如果看到“authenticator”中包含“conditional-client-ip-address”即表示KeycloakIP地址验证器插件被正确加载
2.2 在Keycloak配置KeycloakIP地址验证器
2.2.1 添加流程的前提条件
以下截图的具体菜单为【Manage realms】->【Realms XXX】->【Authentication】
具体地,我建议你先熟悉如下章节,
以上章节提供非条件的privacyIDEA认证,类似下图,

因此,如果需要添加条件认证,以上圈红部分的OTP执行流程(step privacyIDEA)你需要先删除。
2.2.2 添加流程

如上图所示,
单击【Add sub-flow】,在弹出的创建,
– 参数“Name”填写“privacyIDEA for all OTP Form config”
– 参数“Flow type”选择“Generic”
单击【Add】即可创建“flow”
2.2.3 添加流程的条件

如上图所示,
单击“Flow type”(即privacyIDEA for all OTP Form)行的“+”号
弹出的菜单中选择“Add condition”,窗口显示如下,

如上图所示,
– 参数“Alias”填写“privacyIDEA for all WAF ip address”
– 参数“IP range/subnet”分别填写“10.168.0.121/32”和“10.168.0.71/32”,即代理地址,表示只有代理的请求才会启动OTP
– 参数“Use a ‘forwarded’ header选择“True”
– 参数“Forwarded header name”填写“X-Forwarded-For”
– 参数“”“Number of trusted proxies”填写“1”,我环境有两层代理,一层为透明代理,因此填“1”。
2.2.4 添加流程的执行

如上图所示,
单击“Flow type”(即privacyIDEA for all OTP Form)行的“+”号
弹出的菜单中选择“Add execution”,具体的界面配置我这里不再详述,与如下章节大同小异,
2.3 测试
2.3.1 使用浏览器登陆测试
https://websso.cmdschool.org/realms/cmdschool/account
2.3.2 故障排除
tail -f /var/log/keycloak/keycloak.log
参阅文档
===================
官方首页
—————–
https://github.com/evosec/keycloak-ipaddress-authenticator
软件下载地址
—————-
https://github.com/evosec/keycloak-ipaddress-authenticator/releases
没有评论