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

配置跨领域验证

有几种方法可以将各个领域链接在一起,从而可以在一个领域中验证另一个领域中的用户。通常,跨领域验证通过在两个领域之间建立共享私钥来实现。领域之间的关系可以是分层关系或直接关系(请参见领域分层结构)。

Procedure如何建立分层跨领域验证

此过程中的示例使用 ENG.EAST.EXAMPLE.COMEAST.EXAMPLE.COM 两个领域。将按两个方向建立跨领域验证。必须在两个领域的主 KDC 上完成此过程。

开始之前

必须配置每个领域的主 KDC。要完全测试验证过程,必须安装多个客户机或从 KDC。

  1. 成为第一个主 KDC 的超级用户。

  2. 为两个领域创建票证授予票证服务主体。

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


    # /usr/sbin/kadmin -p kws/admin
    
    Enter password: <Type kws/admin password>
    
    kadmin: addprinc krbtgt/ENG.EAST.EXAMPLE.COM@EAST.EXAMPLE.COM
    
    Enter password for principal krgtgt/ENG.EAST.EXAMPLE.COM@EAST.EXAMPLE.COM: <Type password>
    
    kadmin: addprinc krbtgt/EAST.EXAMPLE.COM@ENG.EAST.EXAMPLE.COM
    
    Enter password for principal krgtgt/EAST.EXAMPLE.COM@ENG.EAST.EXAMPLE.COM: <Type password>
    
    kadmin: quit
    

    注 –

    在两个 KDC 中为每个服务主体指定的口令必须相同。因此,服务主体 krbtgt/ENG.EAST.EXAMPLE.COM@EAST.EXAMPLE.COM 的口令在两个领域中一定相同。


  3. 将相应项添加到 Kerberos 配置文件 (krb5.conf) 中以定义每个领域的域名。


    # cat /etc/krb5/krb5.conf
    
    [libdefaults]
    
     .
    
     .
    
    [domain_realm]
    
            .eng.east.example.com = ENG.EAST.EXAMPLE.COM
    
            .east.example.com = EAST.EXAMPLE.COM
    

    在此示例中,定义了 ENG.EAST.EXAMPLE.COMEAST.EXAMPLE.COM 领域的域名。由于会从上向下搜索文件,因此先包含子域非常重要。

  4. 将 Kerberos 配置文件复制到此领域中的所有客户机。

    要使跨领域验证正常工作,所有系统(包括从 KDC 和其他服务器)必须安装 Kerberos 配置文件 (/etc/krb5/krb5.conf) 的新版本。

  5. 在第二个领域中重复以上所有步骤。

Procedure如何建立直接跨领域验证

此过程中的示例使用 ENG.EAST.EXAMPLE.COMSALES.WEST.EXAMPLE.COM 两个领域。将按两个方向建立跨领域验证。必须在两个领域的主 KDC 上完成此过程。

开始之前

必须配置每个领域的主 KDC。要完全测试验证过程,必须安装多个客户机或从 KDC。

  1. 成为一台主 KDC 服务器的超级用户。

  2. 为两个领域创建票证授予票证服务主体。

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


    # /usr/sbin/kadmin -p kws/admin
    
    Enter password: <Type kws/admin password>
    
    kadmin: addprinc krbtgt/ENG.EAST.EXAMPLE.COM@SALES.WEST.EXAMPLE.COM
    
    Enter password for principal 
    
      krgtgt/ENG.EAST.EXAMPLE.COM@SALES.WEST.EXAMPLE.COM: <Type the password>
    
    kadmin: addprinc krbtgt/SALES.WEST.EXAMPLE.COM@ENG.EAST.EXAMPLE.COM
    
    Enter password for principal 
    
      krgtgt/SALES.WEST.EXAMPLE.COM@ENG.EAST.EXAMPLE.COM: <Type the password>
    
    kadmin: quit
    

    注 –

    在两个 KDC 中为每个服务主体指定的口令必须相同。因此,服务主体 krbtgt/ENG.EAST.EXAMPLE.COM@SALES.WEST.EXAMPLE.COM 的口令在两个领域中一定相同。


  3. 在 Kerberos 配置文件中添加相应的项以定义指向远程领域的直接路径。

    此示例显示了 ENG.EAST.EXAMPLE.COM 领域中的客户机。可能需要交换领域名称以获取 SALES.WEST.EXAMPLE.COM 领域中相应的定义。


    # cat /etc/krb5/krb5.conf
    
    [libdefaults]
    
     .
    
     .
    
    [capaths]
    
        ENG.EAST.EXAMPLE.COM = {
    
            SALES.WEST.EXAMPLE.COM = .
    
        }
    
    
    
        SALES.WEST.EXAMPLE.COM = {
    
             ENG.EAST.EXAMPLE.COM = .
    
        }
    
  4. 将 Kerberos 配置文件复制到当前领域中的所有客户机。

    要使跨领域验证正常工作,所有系统(包括从 KDC 和其他服务器)必须安装 Kerberos 配置文件 (/etc/krb5/krb5.conf) 的新版本。

  5. 对第二个领域重复以上所有步骤。