如何配置添加到 Kerberos 的用户主体无法访问领域的特定主机主体

如何配置添加到 Kerberos 的用户主体无法访问领域的特定主机主体

我通过 yum 命令在 CentOS 7 上安装了 Kerberos。

yum install krb5-server krb5-libs krb5-workstation pam_krb5 -y

我的情况如下:

  • 有 1 个 KDC。
  • 它有 2 个服务服务器。

KDC的krb5.conf文件设置如下。

# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = MYREALM.NET
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
MYREALM.NET = {
 kdc = kdc.myrealm.net
 admin_server = kdc.myrealm.net
}

[domain_realm]
.myrealm.net = MYREALM.NET
myrealm.net = MYREALM.NET

我使用以下命令添加了主机主体。

# kadmin.local -q 'addprinc -randkey host/build.myrealm.net'
# kadmin.local -q 'ktadd -k /tmp/build.keytab host/build.myrealm.net'
# scp /tmp/build.keytab build.myrealm.net:/etc/krb5.keytab


# kadmin.local -q 'addprinc -randkey host/api.myrealm.net'
# kadmin.local -q 'ktadd -k /tmp/api.keytab host/api.myrealm.net'
# scp /tmp/api.keytab api.myrealm.net:/etc/krb5.keytab

我使用以下命令添加了用户主体。

# kadmin.local -q 'addprinc eric'

通过上面添加的用户主体,通过下面的ssh命令,无需密码即可成功连接两台服务服务器。

顺便说一下,我想管理一个可由用户主体访问的服务服务器。

我想知道如何设置添加的用户主体不访问领域的特定主机主体。

总而言之,我希望获得有关如何使添加的用户主体eric仅在api.myrealm.net服务服务器之间可访问的建议。

我添加了用户主体和主机主体,并将主机主体 keytab 文件复制到服务服务器。

无需密码,即可成功访问同一realm内的service服务器。

但是,我想要做的是管理每个用户主体的授权。

答案1

作为对我的问题的回答,我建议使用 FreeIPA。在 FreeIPA 中创建策略并根据每个用户应用它解决了我预期的问题。

https://www.freeipa.org/page/Main_Page

相关内容