为什么 PAM 身份验证在重启后不再需要 OpenVPN 服务器上的 2FA?
Why does PAM authentication stop requiring 2FA on OpenVPN server after reboot?
我在 Centos 8 服务器上 运行 OpenVPN,并将其配置为对存储在 IPA 服务器中的用户使用 PAM 身份验证。用户配置为需要 2FA。几个月来一切都按预期进行。但是最近我们的域证书过期了。将新证书插入 IPA 后,PAM 身份验证在 OpenVPN 服务器上停止工作。
日志中没有任何内容指向任何结论,所以我假设 OpenVPN 服务器上的 IPA 客户端 运行 可能无法识别 IPA 服务器上的新域证书。所以我在OpenVPN服务器上卸载了IPA客户端,然后重新安装。接下来我重新启动了 OpenVPN 服务,重新配置 sssd.conf 并重新启动了 sssd。我现在能够在启动 OpenVPN 连接时使用密码 + OTP 令牌按预期成功进行身份验证。
但是在重新启动 OpenVPN 服务器后,PAM 身份验证不再需要 2FA 令牌——即我只能使用不包含 OTP 令牌的密码启动 OpenVPN 连接,即使用户配置为需要 2FA .我重复了相同的 uninstall/reinstall 步骤,密码 + 2FA 令牌身份验证再次按预期工作。但是重启后和之前一样,2FA 令牌认证不起作用。
最初重新安装 IPA 客户端后 sss_pam_preauth 的 sssd 日志显示:
[pam] [pam_eval_prompting_config] (0x4000): Authentication types for
user [test55@ipa.mydomain.biz] and service [su]: password
two-factor
但重启后 sss_pam_preauth 的 sssd 日志显示:
[pam] [pam_eval_prompting_config] (0x4000): Authentication types for
user [test55@ipa.mydomain.biz] and service [su]: password
重启前后sssd和pam的配置文件是一样的
我无法理解这种行为。
我在匆忙修复 OpenVPN 服务器时忽略了 sssd 缓存。我曾经用于测试的帐户未配置 2FA。
重新安装 IPA 客户端后出现,身份验证向 IPA 服务器查找 sss_pam_preauth,其中用户配置了 2FA。但是在重新启动后 sss_pam_preauth 查看了用户未配置 2FA 的 sssd 缓存。
因此,在重新启动后,我使用命令 sss_cache -u user1
从 sssd 缓存中清除了用户。在我的下一次测试中,sss_pam_preauth 无法再在 sssd 缓存中找到用户,因此查看 IPA 服务器,它按预期响应了密码 + 2FA 令牌的要求。然后我再次重新启动了 OpenVPN 服务器,sss_pam_preauth 查看了用户现在配置为 2FA 的 sssd 缓存。
OpenVPN 服务器现在按预期工作。
我在 Centos 8 服务器上 运行 OpenVPN,并将其配置为对存储在 IPA 服务器中的用户使用 PAM 身份验证。用户配置为需要 2FA。几个月来一切都按预期进行。但是最近我们的域证书过期了。将新证书插入 IPA 后,PAM 身份验证在 OpenVPN 服务器上停止工作。
日志中没有任何内容指向任何结论,所以我假设 OpenVPN 服务器上的 IPA 客户端 运行 可能无法识别 IPA 服务器上的新域证书。所以我在OpenVPN服务器上卸载了IPA客户端,然后重新安装。接下来我重新启动了 OpenVPN 服务,重新配置 sssd.conf 并重新启动了 sssd。我现在能够在启动 OpenVPN 连接时使用密码 + OTP 令牌按预期成功进行身份验证。
但是在重新启动 OpenVPN 服务器后,PAM 身份验证不再需要 2FA 令牌——即我只能使用不包含 OTP 令牌的密码启动 OpenVPN 连接,即使用户配置为需要 2FA .我重复了相同的 uninstall/reinstall 步骤,密码 + 2FA 令牌身份验证再次按预期工作。但是重启后和之前一样,2FA 令牌认证不起作用。
最初重新安装 IPA 客户端后 sss_pam_preauth 的 sssd 日志显示:
[pam] [pam_eval_prompting_config] (0x4000): Authentication types for user [test55@ipa.mydomain.biz] and service [su]: password two-factor
但重启后 sss_pam_preauth 的 sssd 日志显示:
[pam] [pam_eval_prompting_config] (0x4000): Authentication types for user [test55@ipa.mydomain.biz] and service [su]: password
重启前后sssd和pam的配置文件是一样的
我无法理解这种行为。
我在匆忙修复 OpenVPN 服务器时忽略了 sssd 缓存。我曾经用于测试的帐户未配置 2FA。
重新安装 IPA 客户端后出现,身份验证向 IPA 服务器查找 sss_pam_preauth,其中用户配置了 2FA。但是在重新启动后 sss_pam_preauth 查看了用户未配置 2FA 的 sssd 缓存。
因此,在重新启动后,我使用命令 sss_cache -u user1
从 sssd 缓存中清除了用户。在我的下一次测试中,sss_pam_preauth 无法再在 sssd 缓存中找到用户,因此查看 IPA 服务器,它按预期响应了密码 + 2FA 令牌的要求。然后我再次重新启动了 OpenVPN 服务器,sss_pam_preauth 查看了用户现在配置为 2FA 的 sssd 缓存。
OpenVPN 服务器现在按预期工作。