1


簡介

本章旨在說明 Solaris Security Toolkit 軟體的設計和用途,其中涵蓋重要元件、功能、優點及支援的平台。本章提供關於維護修改和部署的版本控制之準則,並陳述自訂 Solaris Security Toolkit 軟體的重要準則。

本章包含以下主題:


以 Solaris Security Toolkit 軟體鞏固系統安全性

Solaris Security Toolkit 軟體其非正式名稱為 JASS (JumpStart Architecture and Security Scripts) 工具組提供一種自動、可延伸及可延展的機制來建立和維護 Solaris 作業系統之安全性。藉由 Solaris Security Toolkit 軟體,您可以對系統進行強化、最小化及稽核其安全性。

系統安裝和配置應儘可能自動化(理想目標為百分之百)。此準則包括作業系統的安裝和配置、網路配置、使用者帳號、應用程式及安全性修改。安全性修改可能包括強化和 / 或最小化(依系統用途而異)。JumpStart 軟體為一種可用來自動化 Solaris 作業系統安裝的技術。JumpStart 軟體提供一種將系統安裝在網路上的機制(需要少量或不需人工介入操作)。Solaris Security Toolkit 軟體提供在以 JumpStart 軟體為基礎的安裝中,實行及自動化與強化及最小化 Solaris 作業系統有關的大多作業之架構和程序檔。

此外,Solaris Security Toolkit 軟體具有獨立模式。此模式能夠提供執行與 JumpStart 模式中相同的所有強化功能,但僅限於在已部署的系統上。在任一模式中,作出的安全性修改可以且應該自訂以符合您的系統之安全性需求。

無論系統的安裝方式為何,您皆可初始使用 Solaris Security Toolkit 軟體來強化和最小化您的系統。之後,定期使用 Solaris Security Toolkit 軟體來稽核已鞏固安全性的系統之安全性設定檔是否經過不小心或蓄意修改。



備註 - 稽核 一詞被用來說明 Solaris Security Toolkit 軟體透過比較預先定義的安全性設定檔,來驗證安全性部署的自動程序。此專有名詞在此出版品內的使用不代表保證系統在使用稽核選項後即會安全無虞。




瞭解軟體元件

本節提供 Solaris Security Toolkit 軟體元件架構的簡介。Solaris Security Toolkit 軟體為一組檔案和目錄。圖 1-1 顯示此架構的圖例。


圖 1-1 軟體元件架構

說明 Solaris Security Toolkit 架構的圖解。


除了這些目錄和子目錄,還包括位於 Solaris Security Toolkit 軟體架構頂層 /bin的以下檔案:

目錄

Solaris Security Toolkit 架構的元件編排為以下目錄:

本節說明各個目錄,其中將列出適用的各個程序檔、配置檔或子目錄,及其他章節的參考資料以提供詳細資訊。

Solaris Security Toolkit 目錄架構是基於 Sun BluePrints 手冊「JumpStart Technology: Effective Use in the Solaris Operating Environment」 中的架構。

Audit 目錄

此目錄含有稽核程序檔,可評估系統是否符合定義的安全性設定檔或稽核程序檔。此目錄中的程序檔編排為以下類別:

如需上述各個類別中的程序檔之詳細清單及各個程序檔的說明,請參閱「Solaris Security Toolkit 4.1 Reference Manual」

Documentation 目錄

此目錄包含具有使用者資訊的文字檔,例如 README 檔。

man目錄

此目錄包含指令、功能和驅動程式之線上說明手冊各節的子目錄。此目錄也包含了 windex 檔,其為指令的索引且是免費提供。

如需關於這些線上說明手冊的更多資訊,請參閱這些線上說明手冊或「Solaris Security Toolkit 4.1 Man Page Guide」

Drivers 目錄

此目錄含有配置資訊的檔案,這些配置檔案指出在執行 Solaris Security Toolkit 軟體時會執行和安裝哪些檔案。此目錄含有驅動程式、程序檔及配置檔。

以下為 Drivers 目錄中的驅動程式和程序檔的範例:

在所有產品專用的驅動程式和某些其他的驅動程式中,每個驅動程式皆包含以下三個檔案:

這三個檔案在先前的清單中是以括號表示,例如:sunfire_15k_sc-{config|hardening|secure}.driver。這些檔案是為了完整起見所列出的,因此在要執行驅動程式時,請只使用 name-secure.driver。該驅動程式會自動呼叫相關的驅動程式。

Solaris Security Toolkit 架構包括在不修改本身的實際程序檔時,啟動驅動程式、結束及用於不同的環境的稽核程序檔之配置資訊。結束和稽核程序檔中使用的所有變數被保留在一組配置檔中 - 這些配置檔是由驅動程式所匯入的,讓變數能夠在受到驅動程式呼叫時即結束並稽核程序檔。

Solaris Security Toolkit 軟體有三個主要的配置檔案,全都儲存於 Drivers 目錄中:

驅動程式呼叫的結束程序檔位於 Finish 目錄中。驅動程式呼叫的稽核程序檔位於 Audit 目錄中。驅動程式安裝的檔案是從 Files 目錄讀取。要取得更多有關結束和稽核程序檔的資訊,請參閱本書響應章節。

圖 1-2 顯示驅動程式控制流程的流程表


圖 1-2 驅動程式控制流程

說明驅動程式控制流程的圖解。


各個 .init 檔案的所有環境變數都會先匯入。一旦完成之後,驅動程式就會移至第二部分,定義 JASS_FILESJASS_SCRIPTS。這些定義是選擇使用的;可定義單一環境、或定義兩個環境、或不定義任何環境。驅動程式的第三部分是呼叫 driver.run 以執行由 JASS_FILEJASS_SCRIPTS 環境變數定義的作業。

程式碼範例 1-1 展示驅動程式控制流程。


程式碼範例 1-1 驅動程式控制流程

DIR="`/bin/dirname $0`"
 
export DIR
. ${DIR}/driver.init
 
JASS_FILES="
                         /etc/cron.d/cron.allow
                         /etc/default/ftpd
                         /etc/default/telnetd
"
 
JASS_SCRIPTS="
                         install-at-allow.fin
                         remove-unneeded-accounts.fin
"
. ${DIR}/driver.run

 

此程式碼範例會設定並匯出 DIR 環境變數,這樣驅動程式才會辨識到起始目錄。接著,JASS_FILES 環境變數被定義為含有從 JASS_HOME_DIR/Files 目錄複製到用戶端的檔案。JASS_SCRIPTS 環境變數接著會以 Solaris Security Toolkit 軟體執行的結束程序檔定義。最後,強化運行的執行會由呼叫 driver.run 驅動程式而啟動。一旦被呼叫,driver.run 會複製 JASS_FILES 指定的檔案,然後執行 JASS_SCRIPTS 指定的程序檔。

Files 目錄

此目錄是由 JASS_FILES 環境變數和 driver.run 程序檔所使用。此目錄會儲存複製到 JumpStart 用戶端的檔案。

以下檔案位於本目錄中:

Finish 目錄

此目錄含有在安裝期間執行系統修改和更新的結束程序檔。此目錄中的程序檔編排為以下類別:

如需上述各個類別中的程序檔之詳細清單及各個程序檔的說明,請參閱「Solaris Security Toolkit 4.1 Reference Manual」

OS 目錄

本目錄只含有 Solaris 作業系統影像。這些是由 JumpStart 軟體安裝程序用來做為用戶端安裝的原始檔,並且提供 add_install_clientrm_install_client 程序檔。add_client 程序檔可接受這些其他目錄名稱。

要取得更多有關載入及修改 Solaris 作業系統影像的資訊,請參閱 Sun BluePrints 文件「JumpStart Technology: Effective Use in the Solaris Operating Environment」

以下為標準安裝命名慣例。

Solaris OS

使用以下 Solaris 作業系統的命名標準:

Solaris_os version_4 digit year_2 digit month of CD release

例如,Solaris 8 Operating Environment CD(日期:2001 年 4 月)的目錄名稱為 Solaris_8_2001-04。隔開更新和 Solaris 作業系統的發行版本,可維持測試和部署方面的精密控制。

Trusted Solaris OS

使用以下 Trusted Solaris 的目錄命名標準:

Trusted_Solaris_os version_4 digit year_2 digit month of CD release

例如,如果 Trusted Solaris 軟體發行版本為 2000 年 2 月,目錄名稱則為:Trusted_Solaris_8_2000-02

Solaris OS Intel Platform Edition

對 Solaris OS Intel Platform Edition 使用以下目錄命名規則:

Solaris_os version_4 digit year_2 digit month of CD release_ia

例如,如果 Solaris OS Intel Platform Edition 發行版本為 2001 年 4 月,目錄名稱則為:Solaris_8_2001-04_ia

Packages 目錄

此目錄含有可用結束程序檔安裝的軟體套裝模組。例如, Sun Javatrademark System Web Server(之前為Suntrademark ONE Web Server,更早則為 iPlanettrademark Web Server)軟體套裝模組可儲存於 Packages 目錄,讓適用的結束程序檔依照需求安裝軟體。

某些隨附於 Solaris Security Toolkit 軟體的結束程序檔會執行軟體安裝和基本配置功能。從 Packages 目錄安裝軟體的程序檔包括:

Patches 目錄

此目錄是用來儲存 Solaris 作業系統的「建議和安全修補程式叢集」。下載需要的修補程式,然後將其解壓縮至此目錄。

藉由將修補程式置放及解壓縮到此目錄,您可以讓安裝更加順利。當修補程式解壓縮到此目錄時,Solaris Security Toolkit 軟體的修補程式安裝程序檔會進行自動化安裝,這樣您就不必為各個系統安裝手動解壓縮修補程式叢集。

為各個使用的 Solaris 作業系統版本建立子目錄。例如,您在 Patches 目錄內可能會有 2.5.1_Recommended2.6_Recommended 目錄。

Solaris Security Toolkit 軟體可支援 Solaris OS Intel Platform Edition 修補程式叢集。這些修補程式叢集支援的命名慣例和由 SunSolve OnLineSM 服務提供的相同。

格式為 Solaris_<release>_x86_Recommended。Solaris 8 作業系統的 Solaris OS Intel Platform Edition 修補程式叢集會位於名為 Solaris_8_x86_Recommended 的目錄中。

Profiles 目錄

此目錄包含所有 JumpStart 設定檔。這些設定檔包含 JumpStart 軟體用來判定要執行的安裝的 Solaris 作業系統叢集之配置資訊(例如:核心、一般使用者、開發人員或完整分發)、磁碟佈局及安裝類型(例如:獨立式)。

JumpStart 設定檔是在 rules 檔案中列出及使用,以定義建立的系統或系統群組之特定程度。

Sysidcfg 目錄

類似於 Profiles 目錄、含有僅用於 JumpStart 模式安裝的檔案之 Sysidcfg 目錄。這些檔案會提供所需的安裝資訊來自動化 Solaris 作業系統安裝。會有另一個目錄架構儲存作業系統專用的資訊。

每個 Solaris 作業系統都有其個別的目錄。對於每個發行版本,都會有一個已命名的目錄。Solaris_OS Version。Solaris Security Toolkit 軟體包含用於 Solaris 作業系統版本 2.5.1 到 9 之 sysidcfg 檔案範例。

sysidcfg 檔案範例可以延伸至其他類型,例如:網路、主機等。Solaris Security Toolkit 軟體支援任意 sysidcfg 檔案。

要取得更多有關 sysidcfg 檔案的資訊,請參閱 Sun BluePrints 文件「JumpStart Technology:Effective Use in the Solaris Operating Environment」。

資料儲存庫

資料儲存庫是支援 Solaris Security Toolkit 還原運行的 JASS_REPOSITORY 目錄中的一個環境變數,依照每次執行的運行來儲存資料、維護軟體所修改的明示檔、為執行日誌儲存資料。還原功能依賴儲存於資料儲存庫中的資訊。


維護版本控制

維護 Solaris Security Toolkit 軟體使用的所有檔案和程序檔之版本控制是非常重要的,原因有二:首先,本環境的其中一個目標為能夠重建系統安裝。如果沒有安裝時使用的所有檔案版本之快照,此目標就無法達成。第二,由於這些程序檔會執行安全性功能 - 這對許多機構而言都是相當重要的一環 - 因此實行的時候必須格外小心以確保只執行適用和已測試的變更。

Solaris 作業系統 SUNWsprot 套裝模組中提供了 Source Code Control System (SCCS) 版本控制套裝模組。您可以使用其他免費的以及商業軟體供應商提供的版本控制軟體以管理版本資訊。無論您使用哪種版本控制產品,請使程序就緒開始管理更新和擷取版本資訊以用於將來的系統重建。

除了版本控制,請使用整合性管理解決方案以判定檔案內容是否有經過修改。雖然系統的特權使用者或許能夠繞過版本控制系統,但他們不會輕易忽略整合性管理系統,其在遠端系統上維持整合性資料庫。整合性管理解決方案在集中化時最為有用,這是因為本端儲存的資料庫有可能會遭到蓄意修改。


執行支援的 Solaris 作業系統版本

Solaris Security Toolkit 軟體的 Sun 支援僅可在 Solaris 8 和Solaris 9 作業系統下使用。雖然此軟體可以在 Solaris 2.5.1、Solaris 2.6 和 Solaris 7 作業系統下使用,但是 Sun 支援卻無法在這些作業系統下使用。

Solaris Security Toolkit 軟體會自動偵測已安裝哪個 Solaris 作業系統軟體,然後執行適用於該作業系統版本的作業。


執行支援的 SMS 版本

若您是使用 System Management Services (SMS) 來管理系統控制器 (SC),而且使用的 SMS 版本為 1.3 到 1.4.1,就可以使用 Solaris Security Toolkit 4.1 軟體的 Sun 支援。


配置和自訂 Solaris Security Toolkit 軟體

Solaris Security Toolkit 軟體含有預設程序檔、架構功能及變數,這些變數可實行 Sun BluePrints 文件中標題為「Enterprise Security:Solaris Operating Environment Security Journal, Solaris Operating Environment Versions 2.5.1, 2.6, 7, and 8」 和有關安全性的 Sun BluePrints OnLine 文摘中的所有安全性準則。這些設定並不適用於所有系統,因此您必須自訂 Solaris Security Toolkit 軟體以達到您的系統的安全性需求。

Solaris Security Toolkit 軟體其中一個最顯著的特性就是,您可以輕鬆自訂此軟體以符合您的環境、系統及需求。若要自訂 Solaris Security Toolkit 軟體,請透過驅動程式、結束程序檔、稽核程序檔、架構功能、環境變數及檔案範本來調整它的行動。

大多的使用者不需修改 Solaris Security Toolkit 程式碼。任何變更都有可能會對支援和升級造成負面影響。如果在您的環境中使用 Solaris Security Toolkit 軟體時絕對需要代碼修改,請將代碼複製到一個獨有的檔案或函數名稱,這樣您就可以如準則中所述輕鬆追蹤變更。

在這本手冊當中,自訂 Solaris Security Toolkit 軟體的準則和指示會在每章適當之處提供說明。請參閱「Solaris Security Toolkit 4.1 Reference Manual」 取得關於自訂驅動程式的有用資訊。自訂包括修改和建立檔案或變數。

以下章節提供自訂 Solaris Security Toolkit 軟體的範例。這些範例重點說明您可以自訂 Solaris Security Toolkit 軟體的某些方式,不過仍有多種可能性。

以下章節介紹在試圖自訂 Solaris Security Toolkit 軟體前必須清楚瞭解的資訊。這些資訊是根據從許多部署集結而成的分享經驗,讓您避免陷入一般的陷阱。

策略和需求

在自訂和部署 Solaris Security Toolkit 軟體時,適當的規劃可確保平台配置正確且符合您的機構之期望。

在您的規劃階段中,請務必從各種來源取得輸入,包括安全性策略和標準、企業法規和準則,以及供應商提供的偏好實作。

除了這些資訊以外,您也必須注意應用程式和作業需求,以確保配置不會影響到平台具備其預計的商業功能之能力。

準則

自訂 Solaris Security Toolkit 軟體時,請注意以下準則。瞭解並觀察這些準則可讓部署程序變得較為簡易且較具效率。

     

備註 - 請注意,若使用 pkgrm 指令移除SUNWjassuser.inituser.run 檔案(如有建立)不會被移除。對於新增到 Solaris Security Toolkit 目錄架構的和未包含於分發中的任何客戶檔案也是如此。隨附於 Solaris Security Toolkit 分發的 Files 目錄中的檔案及 sysidcfg 檔案都會存在,因此會被移除。