通过 LDAP 记录限制 ssh 用户远程 IP

通过 LDAP 记录限制 ssh 用户远程 IP

我们的设置:LDAP 服务器 - 具有 openssh 和 sudo 模式的 OpenLDAP。Bastion 服务器 - 接受来自任何地方的 SSH 并通过存储在 LDAP 中的公钥对用户进行身份验证(使用 sssd)目标服务器 - 应仅接受来自 Bastion 服务器的 SSH 并通过存储在 LDAP 中的公钥对用户进行身份验证(使用 sssd)

现在这个设置已经生效,并且在目标服务器上,限制是通过 sshd 完成的,AllowUsers例如AllowUsers *@bastion_ip

然而,当由于 IDC 问题导致堡垒不可用时,这就成了一个问题。从而导致所有服务器都无法访问。

作为对这种情况的跟进,我在想是否有办法执行类似的限制,但将其存储bastion_ip在用户的 LDAP 记录中(或另一个条目中),从而允许在发生类似情况时快速移动到另一个 IP。

有这样的办法吗?或者还有一些我还没想到的解决方法?

答案1

SSSD 支持的唯一类似的东西(虽然使用主机名,而不是 IP)是 access_provider=ldap 的 ldap_user_authorized_host 属性。有关更多详细信息,请参阅 man sssd-ldap。

来自评论:我们在 IRC 上与 OP 交互地对问题进行了分类,结果发现 pam-sss.so 未在 PAM 堆栈中设置,这导致 SSSD 访问提供程序根本无法调用。解决方案是使用以下命令更新 pam 配置authconfig --enablesssdauth --update

相关内容