将 openSSH 6.1p1 通过 LDAP 登录限制到某个 IP 范围

将 openSSH 6.1p1 通过 LDAP 登录限制到某个 IP 范围

我在 DMZ 中有一些服务器,它们从外部(公共)IPv4 地址接收公共流量。这些流量在我们的网关处被转换为 172.xxx 地址。

所有外部客户端都使用本地帐户并已 chroot。它们通过这种方式进行连接。

来自我们内部地址的内部账户来自 10.xxx

我想限制 openssh 仅从内部 (10.x) 网络监听 LDAP。如果可能的话,我想在 sshd conf 文件中配置它(没有 tcpwrappers 或 iptables)。

所以,

sshd 连接 -> 172.xxx 仅本地身份验证 sshd 连接 -> 10.xxx 本地+ldap 身份验证

运行 openssh 6.1p1

谢谢,

德鲁。

答案1

如果我理解正确的话,您可以使用 pam_access。我认为您不能在 sshd_config 中执行此操作。

要启用 pam_access,请将以下行添加到 pam sshd 服务文件。在我的系统上,该文件是 /etc/pam.d/sshd。

account  required     pam_access.so

然后,您应该将本地用户和 ldap 用户放入不同的组中。假设为 localusers 组和 ldapusers 组。

您现在可以在 /etc/security/access.conf 中编辑访问限制:

# root only from local-network?
+ : root : : 10.0.0.0/8
# users in ldap only access from local network
+ : (ldapusers) : 10.0.0.0/8
# local user only access from 172.x.x.x network
+ : (localusers) : 172.0.0.0/8
# Deny all other users to get access from all sources?
- : ALL : ALL

首先尝试了解 access.conf 配置,因为您很容易将自己锁定。

相关内容