第4章 |
|
本章提供資訊及程序,有關如何逆轉(還原)強化運行時由 Solaris Security Toolkit 軟體所作的變更。此選項提供一個自動化的機制,您可將系統返回到 Solaris Security Toolkit 強化安全運作之前的狀態。
每次 Solaris Security Toolkit 強化運作會建立一個 JASS_REPOSITORY 運作目錄。此目錄的名稱根據起始的日期及時間而定。除了將結果顯示在螢幕上,Solaris Security Toolkit 軟體在目錄中建立一組檔案來追蹤變更及記錄作業。
這些儲存在目錄中的檔案追蹤系統所作的變更以及啟用還原功能來工作。
![]() |
當您使用 Solaris Security Toolkit 軟體來強化系統,不論是 JumpStart 或獨立模式,軟體將所作的變更記錄在 JASS_REPOSITORY/jass-manifest.txt 日誌檔。此檔案列舉可被還原功能用來逆轉所作變更的作業。檔案含有因 Solaris Security Toolkit 軟體而生效的強化作業資訊,包括被建立、複製、移動或移除的檔案。除此之外,此檔案可能含有若要逆轉更複雜的變更時,例如套裝軟體安裝,所需要的標準及自訂項目。一個強化運行就建立一個 jass-manifest.txt 檔案。
備註 - Solaris Security Toolkit 軟體還原功能僅還原那些明示檔案 (manifest file) 中有項目存在的變更。 |
還原運行瀏覽因 Solaris Security Toolkit 執行而產生並儲存在 JASS_REPOSITORY 的明示檔案。還原運行將備份檔案還原至原先的位置。若檔案未曾備份,還原功能即不適用。
當 Solaris Security Toolkit 的作業被還原後,相關的目錄並不會被移除。相反地,JASS_REPOSITORY 目錄中會建立兩個檔案:jass-undo-log.txt 及 reverse-jass-manifest.txt。之後,下次再執行 jass-execute -u 指令時,被還原的作業不會再被列出。強化運作只可以被還原一次。
使用 Solaris Security Toolkit 軟體的還原功能,必須瞭解下列限制及需求:
Solaris Security Toolkit 架構提供彈性,可供設計及建立結束程序檔。架構允許您延伸 Solaris Security Toolkit 軟體的能力來符合機構的需要,同時協助您在生命期內作系統配置上更好的管理。
當您自訂程序檔時,很重要的是要瞭解什麼行動會影響還原功能。要簡化自訂程序檔,輔助程式函數會對明示檔案作適當的變更。(還原功能根據明示檔案的內容來逆轉強化運行。)大多數狀況下,這些輔助程式函數提供您自訂程序檔時所需要的資訊。
要取得如何使用輔助程式函數的資訊,請參閱「Solaris Security Toolkit 4.1 Reference Manual」。使用這些輔助程式函數代替相對應的系統指令,如此還原運行可以參照明示檔案內的相關項目。
有些狀況下,若沒有輔助程式功能時,您可能需要執行一個函數。在這樣的狀況下,使用名為 add_to_manifest 的特殊函數。使用此函數,您可手動的新增項目至明示檔案中,不需要呼叫輔助程式函數。小心的使用此項特殊的函數,如此您可以保護系統及 Solaris Security Toolkit 儲存庫的完整性。範例中顯示當您想要加入那些不是 Sun pkg 格式的套裝軟體時,可使用此特殊函數。範例中,您必須告訴還原功能如何移除強化運行期間以它種格式加入的套裝軟體。
藉由輔助程式函數及特殊 add_to_manifest 函數, Solaris Security Toolkit 軟體提供簡單及彈性的方法來自訂程序檔以及可以使變更延伸至還原運行。
若您未使用這些函數來變更結束程序檔的運作方式,Solaris Security Toolkit 軟體無從知道已經作了變更。因此您必須手動還原那些明示檔案內沒有參照的變更。
另一個範例是系統變更檔案之前,首先必須先儲存原先的版本的檔案。Solaris Security Toolkit 軟體環境之外,使用者一般可以執行 /user/bin/cp 指令來達成此項工作。但是在 Solaris Security Toolkit 環境之下,若您直接使用此指令,Solaris Security Toolkit 無從知道需要建立一個項目在明示檔案中。使用 backup_file 輔助程式函數,而不使用 cp 指令。此函數儲存原先的檔案的副本,使用 JASS_SUFFIX作後綴,而且加入一個明示檔的項目,指示 Solaris Security Toolkit 軟體已經複製了一個檔案。而且此函數計算檔案的總和檢查。檔案的總和檢查被還原功能及 jass-check-sum 指令所使用。
雖然使用 jass-execute -u 指令可以自動檢查強化運行之後曾被手動變更過的檔案,但有時您會發現使用 jass-check-sum 指令列舉及檢視檔案是非常有用的。
此指令可使您檢視 JASS_REPOSITORY 的內容以及執行列入明示檔中所有檔案的總和檢查。判定清單上的檔案在強化期間作總和檢查記錄之後是否遭變更。進行強制還原運行之前進行此項檢查,可提供有價值的資訊,如此可以節省長時間不需要的疑難排解。
本節描述 jass-execute -u 指令及選項,您可於執行還原運行時使用。
備註 - 您不可以與還原功能同時使用 -d、-a、-h、-l 或 -H 選項。在無訊息模式中執行 undo 時,您必須提供 -b、-k 或 -f 選項。 |
jass-execute -u 指令是執行還原運行的標準。此指令會自動發現自上次強化後任何曾遭變更的檔案。若 Solaris Security Toolkit 軟體發現強化運行之後檔案曾遭手動變更,它會要求您選擇一個回應:
1. 在回復至原先的(強化運行之前已經存在)檔案之前先備份目前的檔案。
3. 強制覆寫至任何手動變更的檔案(可能遺失資料)以及回復原先的檔案。
若您要變更預設的還原運作方式,執行還原指令時可使用 -b、-k 及 -f 選項。
表 4-1 列出您可與還原一同使用的指令行選項。要取得有關每個選項的更詳細的資訊,請參閱下面章節。
阻止將輸出顯示至螢幕。也稱作無訊息選項。輸出被儲存在 JASS_REPOSITORY/jass-undo-log.txt。 |
-b 選項自動備份自上次強化運行後所有曾遭手動變更的檔案,然後回復檔案至強化運行之前的原來狀態。要使這些手動變更生效,您需要比較回復的檔案及備份檔案,然後手動調整差異。若檔案使用此項選項作備份,它與下列範例相似。
-f 選項,沒有例外地,逆轉強化運行間的所作的所有變更,即使檔案在強化運行之後遭手動變更。還原運行不比較儲存檔案及目前版本檔案的總和檢查。結果是,強化運行之後若您曾手動變更過檔案,還原運行之後變更會被覆寫及遺失。
還原運行結束之後可能需要手動重新使變更生效。更進一步,根據所作的變更種類可能需要調整檔案組之間的差異。要協助阻止此問題發生,使用 jass-check-sum 指令或上面所述 -b 指令行選項。
-k 選項自動保留強化運行之後您所作的檔案手動變更而不回復回原來的檔案。-k 選項發現檔案間任何的不匹配,導致產生一個通知以及作日誌記錄,並不以原來的檔案覆蓋。只針對那些 jass-checksums.txt 內儲存的總和檢查是正確的檔案,才會逆轉變更。
此選項並不全是沒缺點的。例如,若檔案子集被結束程序檔變更之後被變更,使得系統即可能成為不一致狀態。
考慮 remove-unneeded-accounts.fin 結束程序檔。此程序檔修改系統的 /etc/passwd 及 /etc/shadow 檔案。若使用者在強化運行結束之後手動變更密碼,/etc/shadow 檔案的總和檢查與 Solaris Security Toolkit 軟體所儲存的值無法配合。結果是,如果使用保留選項,/etc/passwd 檔案複製回原來的狀態。/etc/shadow 檔案保留目前的形式。兩個檔案不再一致。
-o output-file 選項重新導引 jass-execute 執行的螢幕輸出至一個檔案 output-file。
此選項對於保留在 JASS_REPOSITORY 目錄的記錄沒有作用。此選項對於使用連接緩慢終端機進行時特別有用,原因是 Solaris Security Toolkit 還原運行會產生大量的輸出。
-q 選項阻止 Solaris Security Toolkit 軟體顯示輸出至螢幕。此選項對於保留在 JASS_REPOSITORY 目錄的記錄沒有作用。與 -o 選項相似,透過緩慢網路執行 Solaris Securiyt Toolkit cron 工作時非常有幫助。
-m email-address 選項指引 Solaris Security Toolkit 軟體傳送完整運行的副本至一個電子郵件地址。電子信箱報告為使用其他選項所產生之系統日誌檔之外的報告。
有時候要逆轉一個或多個 Solaris Security Toolkit 強化運行時所作的變更是必要的。若您發現強化運行時所作的變更對您的系統有負面的影響,請還原變更。
例如,強化之後若您發現需要的服務如 NFS 遭停用,還原強化運行。然後,啟用 NFS 以及使用調整過的安全性設定檔案重複強化運行。
本節提供逆轉一個或多個強化運行期間變更的指示。請注意,有效的逆轉強化運行是有限制及需求的。請參閱還原系統變更的需求。
|
每次還原運作之前要重新開機及備份系統,來確保可以返回或可被帶回至已知的而且是工作的狀態。
2. 判定您要使用 jass-execute -u 指令的何種選項。
請參閱使用還原功能選項。
3. 要還原一個或多個強化運行使用標準 -u 選項,自 JASS_HOME_DIR 中輸入指令:
Solaris Security Toolkit 軟體藉由尋找位於 JASS_REPOSITORY 的所有明示檔來收集每次強化運行的資訊。若明示檔是空的或是不存在,可以假定沒有必要還原變更而且該運行可被省略。除此之外,若名為 jass-undo-log.txt 檔案存在於明示檔案所在的目錄內,可以假定該運行已被逆轉,因此運行可被省略。當收集程序已經完成,將顯示輸出。下面是輸出的範例。
範例中,發現四個獨立的強化運行。這些運行對系統作了改變而且尚未還原。強化運行的清單以相反的時間順序呈現。清單中的第一個項目是最近的強化運行。
對於所選擇的項目,Solaris Security Toolkit 軟體將逆轉那些等於或小於選定值的運行。也就是,還原運行以相反順序來逆轉運行,以最近的強化做開始然後繼續至您所選擇的項目。使用上面範例做為準則,若您選擇運行 3,還原運行會首先逆轉運行 1,然後移動至運行 2 的變更,最後逆轉運行 3 的變更。
本範例中,Solaris Security Toolkit 軟體還原了複製作業以及移除強化期間所加入的檔案。還原運行的輸出記錄用來回復系統所使用的真實指令,如此若您需要作系統配置疑難排解時,程序可被清楚的瞭解及參考。
還原運行繼續進行,直至所有的運行及對應的明示檔案被處理而且變更已被逆轉。
除了 Solaris Security Toolkit 軟體藉由尋找位於 JASS_REPOSITORY 的所有明示檔案來收集每次強化運行的資訊之外,Solaris Security Toolkit 軟體比較每個已變更檔案的總和檢查。任何總和檢查檔案的不合,會產生一個通知及被記錄下來。對於這些檔案,還原運行會詢問您要採取何種行動。
5. 若還原運作發現異常(強化運作之後檔案被手動變更),請輸入其中一個選項。
當還原動作遇上您不要覆寫的已變更檔案,請在重新開機之前調整它們。
備註 - 範例之中,被變更的檔案使用新名稱作儲存: /etc/.login.BACKUP.JASS.20030125224926。當還原已完成,比較該檔案與 /etc/.login 來判定是否需要進一步的調整。 |
Copyright © 2004, Sun Microsystems, Inc. 版權所有.