我正在为我的校园网络开发一个 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