如何設定新增至 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

我新增了使用者主體和主機主體,並將主機主體金鑰表檔案複製到服務伺服器。

無需密碼即可成功存取同域業務伺服器。

但是,我想要做的是管理每個使用者主體的授權。

答案1

作為我的問題的答案,我建議使用 FreeIPA。在 FreeIPA 中建立策略並針對每個使用者應用它,解決了我想要的問題。

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

相關內容