Sun 企业鉴别机制指南

使 KDC 和 SEAM 客户机之间时钟同步

在一个指定的最大时间量 (即 时钟相位差) 内,参与 Kerberos 鉴别系统的所有主机必须让其内部时钟同步化,这就提供了另一个 Kerberos 安全检查。如果时钟相位差在其中任意参与主机之间被超过,则客户机请求遭到拒绝。

时钟相位差还确定应用程序服务器必须对所有的 Kerberos 协议消息进行跟踪的时长,以便认可和拒绝重放的请求。因此,时钟相位差值越长,该应用程序服务器不得不收集的信息也就越多。

最大时钟相位差默认值为 300 秒 (五分钟),而您可以在 krb5.conf 文件的 libdefaults 一节中对此进行更改。


注意:

出于安全原因,不要增加时钟相位差超过 300 秒。


鉴于在各个 KDC 和 SEAM 客户机之间维护时钟同步很重要,推荐您使用网络时间协议 (NTP) 软件来做到这一点。从 Solaris 2.6 发行版开始,来自 University of Delaware 的网络时间协议 (NTP) 公产软件就包含在 Solaris 软件中。


注意:

使时钟同步的另一方法就是使用 rdate 命令和 cron 任务,与使用 NTP 相比,该过程需要较少的介入。然而,本节将继续以使用 NTP 为重点。而且,如果您使用网络来使时钟同步,则时钟同步协议自身必须是安全的。


NTP 使您可以在一个网络环境中管理精确的时间和/或网络时钟同步。 NTP 基本上是一个服务器/客户机实现方案。您挑选一个系统作为主时钟 (NTP 服务器),然后将所有您的其它系统设置为使其时钟与主时钟同步 (NTP 客户机)。这一切都是通过 xntpd 守候程序来完成的,该程序将一个 UNIX 系统设定和维护为符合因特网标准时间服务器的当天时间。图形 3-1 显示的是一个使用服务器/客户机 NTP 实现方案的示例。

图形 3-1 使用 NTP 使时钟同步

Graphic

如要确保各个 KDC 和 SEAM 客户机维护同步化时钟,请实施下列步骤:

  1. 在您的网络上设置一个 NTP 服务器 (这可以是主 KDC 之外的任何系统 )。请参见 "如何设置一个 NTP 服务器"

  2. 在您配置网络上的 KDC 和 SEAM 客户机时,请将其设置为 NTP 服务器的 NTP 客户机。请参见 "如何设置一个 NTP 客户机"

如何设置一个 NTP 服务器

  1. 在要作为 NTP 服务器的系统上变为超级用户。

  2. 更改到 /etc/inet 目录。

  3. ntp.server 文件复制到 ntp.conf 文件。


    # cp ntp.server ntp.conf
    
  4. 更改到 /etc/init.d 目录。

  5. 启动 xntpd 守候程序。


    # ./xntpd start
    

如何设置一个 NTP 客户机

  1. 在要作为一个 NTP 客户机的系统上变为超级用户。

  2. 更改到 /etc/inet 目录。

  3. ntp.client 文件复制到 ntp.conf 文件。


    # cp ntp.client ntp.conf
    
  4. 更改到 /etc/init.d 目录。

  5. 启动 xntpd 守候程序。


    # ./xntpd start