Sun 企業辯證機制使用指南

備份與傳播 Kerberos 資料庫

從主 KDC 將 Kerberos 資料庫傳播至從屬 KDC 是最重要的設置工作之一。如果傳播的工作執行得不夠,主 KDC 及從屬 KDC 就彼此錯雜而無法同步,所以若主 KDC 當機的話,從屬 KDC 也沒有最近的資料庫資訊足以取代。同時,如果將一個從屬的 KDC 設置為主 KDC 以均衡載入量,使用該從屬來作為主 KDC 的客戶端便無法擁有最新的資訊。因此,您必須確定定期傳播,依照您多常變更 Kerberos 資料庫而定。

當您設置主 KDC 時,必須在一個 cron 工作中設定 kprop_script 以自動將 Kerberos 資料庫備份至 /var/krb5/slave_datatrans 傾印檔案中,並且將它傳播給從屬 KDC。但是就和任何檔案一樣,Kerberos 資料庫還是有損毀的可能。如果其中一個從屬 KDC 之上發生這種情況,您可能不會注意到,因為下一次資料庫的自動傳播會安裝一個全新的副本。不過如果這是發生在主 KDC 之上的話,損毀的資料庫就會在下一次傳播時被傳給所有的從屬。那麼損毀的備份就會覆寫主 KDC 之上先前未損毀的備份檔案。

因為這時沒有任何“安全”的備份副本,您也應該設定一個 cron 工作,定期將 slave_datatrans傾印檔案複製到另一個位置,或是使用 kdb5_util傾印 指令來建立另一個分開的備份副本。然後若您的資料庫被損毀,您便可以使用 kdb5_utilload 指令來恢復主 KDC 之上最近的備份。

要注意的另一點是,因為資料庫傾印檔案包含主管密鑰,您必須保護檔案不受未授權的使用者存取(根據預設,資料庫傾印檔案只允許 root 身份的讀/寫權限)。其中包括只使用 kprop 指令來傳播負責加密被傳輸資料的資料庫傾印檔案。同時,kprop 只將資料傳播至從屬 KDC,以將不慎把資料庫傾印傳送給未授權的主機的可能性減至最小。


小心 - 小心 -

如果 Kerberos 資料庫是在傳播之後更新而在下一次傳播之前資料庫不慎損毀的話,則從屬不會包含更新﹕更新會被遺失。因為這種狀況,如果您在定期的傳播之前將大量的更新新增至資料庫,應該以手動的方式傳播資料庫以避免資料遺失。


kpropd.acl 檔案

KDC 上的 kpropd.acl 檔案會提供一份主機主管名稱清單,每行一個,指定 KDC 可以透過傳播機制從其中收到一個更新資料庫的系統。如果主 KDC 被用來傳播所有的從屬 KDC,那麼每個從屬之上的 kpropd.acl 檔案便只能包含主 KDC 的主機主管名稱。

不過 SEAM 安裝及本指南後續的設置步驟會指示您把相同的 kpropd.acl 檔案新增至主及從屬 KDC。檔案包含所有的 KDC 主機主管名稱。在傳播 KDC 暫時變得無法使用時,此設置會允許您從任何 KDC 傳播。而且在所有的 KDC 上保留相同的副本也比較容易維護。

kprop_script 指令

kprop_script 指令會使用 kprop 指令來將 Kerberos 資料庫傳播給其他的 KDC。(如果在一個從屬 KDC 之上執行 kprop_script,它會將 Kerberos 資料庫的從屬副本傳播給其他的 KDC。)kprop_script 接受一份引數的主機名稱清單,以空格分開,以代表要傳播的 KDC。

執行 kprop_script 時,它會在 /var/krb5/slave_datatrans 檔案中建立 Kerberos 資料庫的一個備份,然後複製檔案至指定的 KDC。在傳播結束前,Kerberos 資料庫會保持鎖定的狀態。