Tacacs+ 带有 PAM 双因素 Google 身份验证吗?

Tacacs+ 带有 PAM 双因素 Google 身份验证吗?

我正在为我的校园网络开发一个 tacacs+ 服务器,我一直在想如何设置一个 tacacs+ 服务器来与运行谷歌双因素身份验证的 PAM 进行通信。我在谷歌上搜索了很多次,找到了一些有用的信息,但我没有找到一个明确的“路线图”,而且很多步骤看起来充其量也模糊不清。我现在有一个正在运行的 Ubuntu tacacs+ 测试平台,还没有配置任何交换机或路由器。

有人做过这样的事吗?我在红帽电子邮件链中找到了一个相对不错的指南: https://www.redhat.com/archives/pam-list/2014-March/msg00008.html

我不知道下一步该怎么做,也不知道这个系统是如何运作的。有没有什么例子可以参考,或者有人有什么建议?我现在感觉有点像在试错模式。

编辑:具体来说,现在,我正在查看 /etc/pam.d/(tac_plus?不管它叫什么) 中的示例 PAM 配置文件,我不确定到底需要放在那里什么。那是 Google 身份验证器的东西还是 tacacs+ 的东西?我的示例看起来类似于下面发布的代码,但我不确定这里的内容:

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass 
use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in 
crond quiet use_uid
session     required      pam_unix.so
session     required      pam_mkhomedir.so skel=/etc/skel/ umask=0077
session     optional      pam_ldap.so

还有一个 tacacs 的配置,看起来非常简单,但和其他东西一样,我以前从未见过,所以我不太确定。它看起来像这样:

# admin group
group = admins {
        default service = permit
        login = PAM
        service = exec {
             priv-lvl = 15
        }
}

答案1

将其分为两部分,pam 目录用于对服务进行身份验证:tac_plus。tac_plus 配置文件用于服务:tacacs+

聚丙烯酰胺

Pam 是您的可插入式身份验证,在这里您将使用 google auth 配置用户/密码身份验证,由于 google auth 非常常用于 RADIUSD 和 SSHD 等服务,所以我将为此窃取一些公共代码。

排名第一的谷歌搜索结果是超级技术员我实际上已经写了一篇文章批评他的一些安全措施这里但本质上:

将其添加到 pam.d/tac_plus 的 auth 部分

auth requisite pam_google_authenticator.so forward_pass
auth required pam_unix.so use_first_pass

如果您想从 ldap 提供用户并预生成他们的 BASE32 密钥而不是使用 google-auth 工具,您可以修改 google auth 密钥的位置。 有关 google_auth pam 模块的更多信息

远程控制访问控制策略++

tac_plus 是一种服务,当您使用该服务进行身份验证时,它将使用 tac_plus 的 pam 模块,与 radiusd 和 sshd 相同。

关于如何配置,有很多指南,http://www.shrubbery.net/tac_plus/例如,遗憾的是我没有亲自配置 tac_plus。

当您使用 google auth 进行身份验证时,forward_pass您的密码是 password&googleauth

密码:MyPassword

谷歌 totp: 222555

您输入的密码为:MyPassword222555

相关内容