在此过程中,将配置一个名为 kdc2 的新从 KDC。此外,还将配置增量传播。此过程使用以下配置参数:
领域名称 = EXAMPLE.COM
DNS 域名 = example.com
主 KDC = kdc1.example.com
从 KDC = kdc2.example.com
admin 主体 = kws/admin
联机帮助 URL = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
调整该 URL 以指向“SEAM Administration Tool”部分,如SEAM Administration Tool 中的联机帮助 URL中所述。
必须配置主 KDC。有关此从 KDC 是否可交换的特定说明,请参见交换主 KDC 和从 KDC。
在主 KDC 上,成为超级用户。
在主 KDC 上,启动 kadmin。
必须使用在配置主 KDC 时创建的一个 admin 主体名称登录。
kdc1 # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin: |
在主 KDC 上,将从主机主体添加到数据库中(如果尚未执行此操作)。
要使从 KDC 正常工作,该从 KDC 必须具有主机主体。请注意,主体实例为主机名时,无论 /etc/resolv.conf 文件中的域名是大写还是小写,都必须以小写字母指定 FQDN。
kadmin: addprinc -randkey host/kdc2.example.com Principal "host/kdc2@EXAMPLE.COM" created. kadmin: |
在主 KDC 上,创建 kiprop 主体。
kiprop 主体用于授权来自主 KDC 的增量传播。
kadmin: addprinc -randkey kiprop/kdc2.example.com Principal "kiprop/kdc2.example.com@EXAMPLE.COM" created. kadmin: |
退出 kadmin。
kadmin: quit |
在主 KDC 上,编辑 Kerberos 配置文件 (krb5.conf)。
需要添加每个从 KDC 的项。有关此文件的完整说明,请参见 krb5.conf(4) 手册页。
kdc1 # cat /etc/krb5/krb5.conf . . [realms] EXAMPLE.COM = { kdc = kdc1.example.com kdc = kdc2.example.com admin_server = kdc1.example.com } |
在主 KDC 上,将 kiprop 项添加到 kadm5.acl 中。
通过此项,主 KDC 可以接收对 kdc2 服务器的增量传播请求。
kdc1 # cat /etc/krb5/kadm5.acl */admin@EXAMPLE.COM * kiprop/kdc2.example.com@EXAMPLE.COM p |
在主 KDC 上,重新启动 kadmind 以使用 kadm5.acl 文件中的新项。
kdc1 # svcadm restart network/security/kadmin |
在所有从 KDC 上,复制主 KDC 服务器的 KDC 管理文件。
由于主 KDC 服务器已更新每台 KDC 服务器所需的信息,因此需要在所有从 KDC 上执行此步骤。可以使用 ftp 或类似的传送机制从主 KDC 获取以下文件的副本:
/etc/krb5/krb5.conf
/etc/krb5/kdc.conf
在所有从 KDC 上,将主 KDC 和每个从 KDC 的项添加到数据库传播配置文件 kpropd.acl 中。
需要更新所有从 KDC 服务器上的此信息。
kdc2 # cat /etc/krb5/kpropd.acl host/kdc1.example.com@EXAMPLE.COM host/kdc2.example.com@EXAMPLE.COM |
在所有从 KDC 上,请确保未填充 Kerberos 访问控制列表文件 kadm5.acl。
未修改的 kadm5.acl 文件如下所示:
kdc2 # cat /etc/krb5/kadm5.acl */admin@___default_realm___ * |
如果此文件中包含 kiprop 项,请删除它们。
在新的从 KDC 上,更改 kdc.conf 中的项。
将 sunw_dbprop_master_ulogsize 项替换为定义 sunw_dbprop_slave_poll 的项。该项将轮询时间设置为 2 分钟。
kdc1 # cat /etc/krb5/kdc.conf [kdcdefaults] kdc_ports = 88,750 [realms] EXAMPLE.COM= { profile = /etc/krb5/krb5.conf database_name = /var/krb5/principal admin_keytab = /etc/krb5/kadm5.keytab acl_file = /etc/krb5/kadm5.acl kadmind_port = 749 max_life = 8h 0m 0s max_renewable_life = 7d 0h 0m 0s sunw_dbprop_enable = true sunw_dbprop_slave_poll = 2m } |
在新的从 KDC 上,启动 kadmin 命令。
必须使用在配置主 KDC 时创建的一个 admin 主体名称登录。
kdc2 # /usr/sbin/kadmin -p kws/admin Enter password: <Type kws/admin password> kadmin: |
使用 kadmin 将从 KDC 的主机主体添加到从 KDC 的密钥表文件中。
此项可使 kprop 和其他基于 Kerberos 的应用程序正常工作。请注意,主体实例为主机名时,无论 /etc/resolv.conf 文件中的域名是大写还是小写,都必须以小写字母指定 FQDN。
kadmin: ktadd host/kdc2.example.com Entry for principal host/kdc2.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/kdc2.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/kdc2.example.com with kvno 3, encryption type ARCFOUR with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal host/kdc2.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin: |
将 kiprop 主体添加到从 KDC 的密钥表文件中。
通过将 kiprop 主体添加到 krb5.keytab 文件中,kpropd 命令可以在启动增量传播时对其自身进行验证。
kadmin: ktadd kiprop/kdc2.example.com Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type ARCFOUR with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab. Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type DES cbc mode with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab. kadmin: |
退出 kadmin。
kadmin: quit |
在新的从 KDC 上,启动 Kerberos 传播守护进程。
kdc2 # /usr/lib/krb5/kpropd |
在新的从 KDC 上,使用 kdb5_util 创建一个存储文件。
kdc2 # /usr/sbin/kdb5_util stash kdb5_util: Cannot find/read stored master key while reading master key kdb5_util: Warning: proceeding without master key Enter KDC database master key: <Type the key> |
中止 Kerberos 传播守护进程。
kdc2 # pkill kpropd |
(可选的)在新的从 KDC 上,使用 NTP 或其他时钟同步机制同步主 KDC 时钟。
安装和使用网络时间协议 (Network Time Protocol, NTP) 并非必需。但是,要成功验证,每个时钟必须处于 krb5.conf 文件的 libdefaults 部分中定义的缺省时间内。有关 NTP 的信息,请参见同步 KDC 和 Kerberos 客户机的时钟。
在新的从 KDC 上,启动 KDC 守护进程 (krb5kdc)。
启用 krb5kdc 服务时,如果系统配置为从 KDC,则还将启动 kpropd。
kdc2 # svcadm enable network/security/krb5kdc |