系统管理指南:安全性服务

Procedure如何配置从 KDC 以使用完全传播

此过程说明如何重新配置运行 Solaris 10 发行版的从 KDC 服务器,以使用完全传播。通常,只有运行 Solaris 9 发行版或更早发行版的主 KDC 服务器才需要使用此过程。在这种情况下,主 KDC 服务器不支持增量传播,因此需要配置从 KDC 以允许进行传播。

在此过程中,将配置名为 kdc3 的从 KDC。此过程使用以下配置参数:

开始之前

必须配置主 KDC。有关此从 KDC 是否可交换的特定说明,请参见交换主 KDC 和从 KDC

  1. 在主 KDC 上,成为超级用户。

  2. 在主 KDC 上,启动 kadmin

    必须使用在配置主 KDC 时创建的一个 admin 主体名称登录。


    kdc1 # /usr/sbin/kadmin -p kws/admin
    
    Enter password: <Type kws/admin password>
    
    kadmin: 
    1. 在主 KDC 上,将从主机主体添加到数据库中(如果尚未执行此操作)。

      要使从 KDC 正常工作,该从 KDC 必须具有主机主体。请注意,主体实例为主机名时,无论 /etc/resolv.conf 文件中的域名是大写还是小写,都必须以小写字母指定 FQDN。


      kadmin: addprinc -randkey host/kdc3.example.com
      
      Principal "host/kdc3@EXAMPLE.COM" created.
      
      kadmin: 
    2. 退出 kadmin


      kadmin: quit
      
  3. 在主 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
    
                    kdc = kdc3.example.com
    
                    admin_server = kdc1.example.com
    
            }
  4. 在主 KDC 上,将主 KDC 和每个从 KDC 的项添加到 kpropd.acl 文件中。

    有关此文件的完整说明,请参见 kprop(1M) 手册页。


    kdc1 # cat /etc/krb5/kpropd.acl
    
    host/kdc1.example.com@EXAMPLE.COM
    
    host/kdc2.example.com@EXAMPLE.COM
    
    host/kdc3.example.com@EXAMPLE.COM
    
  5. 在所有从 KDC 上,复制主 KDC 服务器的 KDC 管理文件。

    由于主 KDC 服务器已更新每台 KDC 服务器所需的信息,因此需要在所有从 KDC 上执行此步骤。可以使用 ftp 或类似的传送机制从主 KDC 获取以下文件的副本:

    • /etc/krb5/krb5.conf

    • /etc/krb5/kdc.conf

    • /etc/krb5/kpropd.acl

  6. 在所有从 KDC 上,请确保未填充 Kerberos 访问控制列表文件 kadm5.acl

    未修改的 kadm5.acl 文件如下所示:


    kdc2 # cat /etc/krb5/kadm5.acl
    
    */admin@___default_realm___ *

    如果此文件中包含 kiprop 项,请删除它们。

  7. 在新的从 KDC 上,启动 kadmin 命令。

    必须使用在配置主 KDC 时创建的一个 admin 主体名称登录。


    kdc2 # /usr/sbin/kadmin -p kws/admin
    
    Enter password: <Type kws/admin password>
    
    kadmin: 
    1. 使用 kadmin 将从 KDC 的 host 主体添加到从 KDC 的密钥表文件中。

      此项可使 kprop 和其他基于 Kerberos 的应用程序正常工作。请注意,主体实例为主机名时,无论 /etc/resolv.conf 文件中的域名是大写还是小写,都必须以小写字母指定 FQDN。


      kadmin: ktadd host/kdc3.example.com
      
      Entry for principal host/kdc3.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/kdc3.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/kdc3.example.com with kvno 3, encryption type ARCFOUR
      
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      
      Entry for principal host/kdc3.example.com with kvno 3, encryption type DES cbc mode
      
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      
      kadmin: 
    2. 退出 kadmin


      kadmin: quit
      
  8. 在主 KDC 上,将从 KDC 名称添加到 cron 作业中,该作业通过运行 crontab -e 自动运行备份。

    kprop_script 行的结尾添加每个从 KDC 服务器的名称。


    10 3 * * * /usr/lib/krb5/kprop_script kdc2.example.com kdc3.example.com
    

    您可能还希望更改备份的时间。此项将在每天上午的 3:10 启动备份过程。

  9. 在新的从 KDC 上,启动 Kerberos 传播守护进程。


    kdc3 # svcadm enable network/security/krb5_prop
    
  10. 在主 KDC 上,使用 kprop_script 备份并传播数据库。

    如果已存在数据库的备份副本,则无需完成其他备份。有关进一步的说明,请参见如何手动将 Kerberos 数据库传播到从 KDC


    kdc1 # /usr/lib/krb5/kprop_script kdc3.example.com
    
    Database propagation to kdc3.example.com: SUCCEEDED
  11. 在新的从 KDC 上,使用 kdb5_util 创建一个存储文件。


    kdc3 # /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>
    
  12. (可选的)在新的从 KDC 上,使用 NTP 或其他时钟同步机制同步主 KDC 时钟。

    安装和使用网络时间协议 (Network Time Protocol, NTP) 并非必需。但是,要成功验证,每个时钟必须处于 krb5.conf 文件的 libdefaults 部分中定义的缺省时间内。有关 NTP 的信息,请参见同步 KDC 和 Kerberos 客户机的时钟

  13. 在新的从 KDC 上,启动 KDC 守护进程 (krb5kdc)。


    kdc3 # svcadm enable network/security/krb5kdc