參與 Kerberos 辯證系統的所有主機都必須將其內部時鐘與指定的最大時間量(亦稱為時鐘偏差)之內同步化,以提供另一層 Kerberos 安全檢查。如果時鐘偏差超出任何參與的主機之間,那麼客戶端的要求就會被拒。
時鐘偏差也會決定應用程式伺服器必須記錄所有 Kerberos 協定訊息的狀態多長的時間,以同意或是拒絕重播的要求。因此時鐘偏差值越長,應用程式伺服器必須搜集的資訊就越多。
預設的最大時鐘偏差值為 300 秒鐘(五分鐘),您可以在 krb5.conf 檔案的 libdefaults 一節加以變更。
為了安全起見,請勿將時鐘偏差增出 300 秒鐘以上。
既然要在 KDC 與 SEAM 客戶端之間維護同步化的時鐘是如此的重要,我們建議您使用網路時間協定 (NTP) 軟體來達到這個目的。從 Solaris 2.6 發行版開始,所有 Solaris 的軟體中都包括這個由達拉維爾大學所開發的網路時間協定 (NTP) 公開領域軟體。
另一種同步化時鐘的方法是使用 rdate 指令及 cron 工作,此過程要比使用 NTP 所涉及的方面來得少。不過本節將繼續著重在使用 NTP 之上。如果您使用網路來同步化時鐘,時鐘同步化協定的本身也必須是安全的。
NTP 可讓您管理一個網路環境中的確切時間,及/或網路時鐘的同步化。NTP 基本上是一種伺服器/客戶端的實行。您先挑選一個作為主時鐘(NTP 伺服器)的系統,然後設定所有您的其他系統以將其時鐘與主時鐘(NTP 客戶端)同步化。上述的所有動作都是透過 xntpd 常駐程式完成的,它可以設定與維護一個 UNIX 系統的時間,讓它與網際網路標準時間伺服器一致。圖 3-1會顯示使用伺服器/客戶端 NTP 實行的一個範例。
要確保 KDC 及 SEAM 客戶端維護同步化的時鐘,請進行下列步驟﹕
在您的網路上設定一個 NTP 伺服器(可以是主 KDC 之外的任何系統)。請參見 "如何設定一個 NTP 伺服器"。
當您在網路上設置 KDC 及 SEAM 客戶端時,請將它們設定為 NTP 伺服器的 NTP 客戶端。請參見 "如何設定一個 NTP 客戶端"。
成為要作為 NTP 伺服器的系統之上的超級使用者。
變更至 /etc/inet 目錄。
將 ntp.server 檔案複製到 ntp.conf 檔案中。
# cp ntp.server ntp.conf |
變更至 /etc/init.d 目錄。
開始 xntpd 常駐程式。
# ./xntpd start |