29.2. 重新打包 Kerberos 主体
重新打包 Kerberos 主体会将带有更高密钥版本号(KVNO)的新 keytab 条目添加到主体的 keytab。原始条目保留在 keytab 中,但不再用于发出票据。
- 查找所需时间段内发布的所有 keytab。例如,以下命令使用
ldapsearch
工具显示 2016 年 1 月 1 日 1 日和 11:59 PM 在 2016 年 12 月 31 日创建的所有主机和服务主体:ldapsearch -x -b "cn=computers,cn=accounts,dc=example,dc=com" "(&(krblastpwdchange>=20160101000000)(krblastpwdchange<=20161231235959))" dn krbprincipalname
# ldapsearch -x -b "cn=computers,cn=accounts,dc=example,dc=com" "(&(krblastpwdchange>=20160101000000)(krblastpwdchange<=20161231235959))" dn krbprincipalname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ldapsearch -x -b "cn=services,cn=accounts,dc=example,dc=com" "(&(krblastpwdchange>=20160101000000)(krblastpwdchange<=20161231235959))" dn krbprincipalname
# ldapsearch -x -b "cn=services,cn=accounts,dc=example,dc=com" "(&(krblastpwdchange>=20160101000000)(krblastpwdchange<=20161231235959))" dn krbprincipalname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - searchbase (
-b
)定义ldapsearch
查找主体的子树:- 主机主体存储在 cn=computers,cn=accounts,dc=example,dc=com 子树下。
- 服务主体存储在 cn=services,cn=accounts,dc=example,dc=com 子树下。
krblastpwdchange
参数按上次更改日期过滤搜索结果。参数接受 GMT 中日期和 HHMMSS 格式的 YYYYMMDD 格式。- 指定
dn
和krbprincipalname
属性将搜索结果限制为条目名称和主体。
- 对于需要重新密钥主体的每个服务和主机,请使用
ipa-getkeytab
工具来检索新的 keytab 条目。传递以下选项:- 用于指定主体的
--principal
(-p
)用于指定原始keytab 位置的 --key
tab(-k
)用于指定身份管理服务器主机名的--server
(-s
)
例如:- 在
/etc/krb5.keytab
的默认位置中使用 keytab 重新密钥主机主体:ipa-getkeytab -p host/client.example.com@EXAMPLE.COM -s server.example.com -k /etc/krb5.keytab
# ipa-getkeytab -p host/client.example.com@EXAMPLE.COM -s server.example.com -k /etc/krb5.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在
/etc/httpd/conf/ipa.keytab
的默认位置重新密钥 Apache 服务的 keytab:ipa-getkeytab -p HTTP/client.example.com@EXAMPLE.COM -s server.example.com -k /etc/httpd/conf/ipa.keytab
# ipa-getkeytab -p HTTP/client.example.com@EXAMPLE.COM -s server.example.com -k /etc/httpd/conf/ipa.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要某些服务(如 NFS 版本 4)只支持一组有限的加密类型。将适当的参数传递给 ipa-getkeytab 命令,以正确配置 keytab。
- 可选。验证您是否成功更新了主体。使用
klist
实用程序列出所有 Kerberos 票据。例如,要列出/etc/krb5.keytab
中的所有 keytab 条目:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示client.example.com
的 keytab 条目使用更高的 KVNO 重新密钥。原始 keytab 仍存在于数据库中,与之前的 KVNO 一起。针对之前的 keytab 发出的票据继续起作用,而使用 KVNO 最高的密钥签发新的票据。这可以避免对系统操作造成任何干扰。