第7章 |
|
本章描述如何套用前章所提供之資訊及專業知識至真實情境內,安裝及安全化一個新的系統。本章說明如何使用 Solaris 8 作業系統的 Check PointFirewall-1 NG 來部署 Solaris Security Toolkit 軟體。
Sun BluePrint 文件以及線上文摘可用來引導您執行最小化以及強化 Sun 系統的過程。請參閱下列網站取得最新產品專用的書籍及文章:
要有效用及有效率的部署最小化的以及安全化的系統,如同個案研究所描述,規劃及準備非常重要。底層之網路內部架構,策略以及程序必須就位。除此之外,系統的支援及維護必須已被定義及作好溝通。要取得更多有關規劃及準備的資訊,請參閱第 2 章。本章所描述的情境記錄了要達成一個防火牆系統的最小化及強化後的 Solaris 作業系統影像,系統管理員 (SA) 必須執行的程序及作業。
在此情境中,SA 為服務提供者 (xSP),它提供防火牆服務給它的客戶,建立一個自動化以及可延展的方案來建立及部署 Check PointFirewall-1 NG 系統。針對此情境,xSP 的需求以及考慮如下:
根據上述需求,SA 決定使用 JumpStart 技術及 Solaris Security Toolkit 軟體來自動安裝、簡化以及強化作業系統影像。
本章假設我們使用已經運作正常的 Solaris Security Toolkit 軟體以及 JumpStart 技術安裝。本書的其他章節提供安裝軟體的指示及準則,請參閱該資訊適用的章節。
本章假設我們為最小化及強化特定應用程式而發展一個自訂的配置。Solaris Security Toolkit 軟體沒有任何該應用程式專用之驅動程式或 JumpStart 設定檔。因此,我們需要建立此應用程式自訂驅動程式以及設定檔。此項作業可由複製現存驅動程式及設定檔,然後依照應用程式修改它而完成。
對於此情境,高層次需求以及軟體套裝模組已確認,但是所有套裝模組之特定元件及服務需要認定。而且,需要用來處理管理系統之 Solaris 作業系統能力也需要被認定。
根據此清單,您可建立一個安全性設定檔。要取得建立安全性設定檔以及使用設定檔範本的詳細資訊,請參閱開發及實現 Solaris Security Toolkit 設定檔。
安全性設定檔定義出當系統安全配置強化及最小化時,Solaris Security Toolkit 軟體所作的更改。沒有一個 Solaris Security Toolkit 軟體內含的標準安全性設定檔或驅動程式符合最小化 Check PointFirewall-1 NG 系統的需求。因此,您必須建立一個自訂的安全性設定檔來使適當的系統更改生效。
對於此情境,建立安全性設定檔的程序將於本章數個章節內說明。首先,我們根據現存的驅動程式建立新的驅動程式檔案。然後我們修改新的驅動程式來符合前面所描述的安全需求。安裝軟體中描述最小化,而強化則在自訂強化配置中說明。
本節示範安裝軟體的程序。對於情境範例,我們提供所有例外或特定情境的指示。要取得有關安裝軟體的一般指示,使用本手冊其他部分的參考文獻。
於 JumpStart 伺服器上,下載及安裝 Solaris Security Toolkit 以及其他軟體,包括修補程式。如下所示。
|
1. 下載及安裝 Solaris Security Toolkit 軟體及其他安全性軟體。
請參閱下載安全性軟體。
2. 安裝下載的 Solaris Security Toolkit 軟體及其他安全性軟體。
請參閱安裝及執行軟體。
![]() |
作業系統修補程式可能針對弱點、可用性問題、效能考慮及其他系統的狀況。當安裝一個新的作業系統時,以及安裝之後的持續進行基礎上,要檢查來確保已經安裝了適當的修補程式。
Solaris Security Toolkit 軟體提供安裝 SunSolve Online 之「建議和安全修補程式叢集」的機制。此特定作業系統的修補程式叢集包含大部分需要的修補程式。
|
1. 最低限度,下載「建議和安全修補程式叢集」至 Patches 檔案後解壓縮。
若強化驅動程式內含 install-recommended-patches.fin 程序檔,修補叢集會自動安裝。
Check PointFirewall-1 NG 有另一個問題。此程式需要一個「建議和安全修補程式叢集」並未內含的特定修補程式。Check PointFirewall-1 NG 需要下列修補程式:
2. 要自動安裝修補程式 108434 及 108435,自 SunSolve OnLine 下載最新的版本至 Patches 目錄。
3. 建立一個新的結束程序檔(例如:fw1-patch-install.fin)使用修補程式的名稱來呼叫 add_patch 輔助程式函數。
此結束程序檔使用兩個 Check PointFirewall-1 NG 所需要的修補程式 ID 呼叫適當的輔助程式函數。例如:
定義完要安裝作業系統的磁碟佈局後,下一個作業是指定要安裝的作業系統叢集。選擇 Solaris 作業系統適用的五個安裝叢集之中的一個:SUNWCreq、SUNWCuser、SUNWCprog、SUNWCall 及 SUNWCXall。
|
由於此個案情境的目的是建立一個最小化及專屬的防火牆裝置,Solaris 作業系統可使用叢集內最小的一個 (SUNWCreq),此叢集也就是 Core。
由於此叢集包括較少的套裝模組,可能還需要其他的套裝模組軟體。這些其他需要的套裝模組與 Solaris 作業系統叢集的定義需要納入設定檔內。
SUNWCreq 安裝叢集內含防火牆 Sun 伺服器正常運轉時不需要的套裝模組。當您有一個運作基準之後,請移除這些多餘的套裝模組。請參閱 Sun BluePrints OnLine 文摘「Minimizing the Solaris Operating Environment for Security: Updated for the Solaris 9 Operating Environment」。
2. 使用適當定義的安全性設定檔執行完整的安裝,判定是否有套裝模組互相依賴的問題。
有些套裝模組依賴性發生於安裝期間,而我們判定 Check PointFirewall-1 NG 需要下列 Solaris 作業系統套裝模組:
雖然此清單對於本個案是完整的,根據實際環境所部署的配置,其他套裝模組可能被加入或移除。
直到系統功能及安全性觀點兩者皆可驗證之前,如品質保證測試所述,套裝模組的最終清單可能需要作修改。若有需要,修改設定檔、重新安裝系統,然後重複作測試。
3. 依據前面兩個步驟中的套裝模組依賴性,建立一個 minimize-firewall.fin 程序檔。
本節示範如何配置 JumpStart 伺服器及用戶端來使用自訂安全設計檔作最小化。要取得有關在 JumpStart 環境下使用 Solaris Security Toolkit 軟體的詳細資訊,請參閱第 5 章。
進行下列作業來準備基礎架構。下列作業示範使用現存的驅動程式,設定檔及結束程序檔來建立用戶端配置基準線的程序。當此配置基準線已經就定位,確定它可以正常地工作,然後為選定的應用程式將它改造成為自訂配置。
|
請參閱第 5 章取得詳細指示。
2. 使用 add-client 指令新增用戶端至 JumpStart 伺服器。
3. 為用戶端建立一個 rules 檔案項目,指定適當的 JumpStart 設定檔及結束程序檔。例如:
4. 藉由複製 Solaris Security Toolkit 軟體所提供的檔案,來建立一個名為 xsp-minimal-firewall.profile 的設定檔以及名為 xsp-firewall-secure.driver 的驅動程式。
您必須在成功完成下面步驟之前建立這些檔案。最初這些檔案可以是 Solaris Security Toolkit 軟體所發行的檔案的備份。切勿修改 Solaris Security Toolkit 軟體所發行的原始檔案。下面範例說明如何建立檔案。
此範例是根據一個專屬網路伺服器的配置,因為它是使用它來開發專屬防火牆的良好基準。
a. 使用 xsp-firewall-hardening.driver 來取代參照到 hardening.driver 的 xsp-firewall-secure.driver。
b. 以 minimize-firewall.fin 以及您的結束程序檔(例如:fw1-patch-install.fin)來取代 JASS_SCRIPTS 中定義的兩個結束程序檔。
此時,應當可以開始於用戶端安裝 JumpStart,此範例為 jordan。使用 JumpStart 配置及 Solaris Security Toolkit 驅動程式、結束程序檔、以及您建立的設定檔。
7. 若您檢查 rules 檔案時發生問題,請參閱驗證及檢核規則檔案。
8. 在用戶端 ok 提示符號下,輸入下列指令來安裝使用 JumpStart 基礎架構的用戶端。
若用戶端無法建立,檢視配置以及修改它直至它可以正常地工作。請注意,本節中並未涉及所有 JumpStart 配置之狀況。請參閱 Sun BluePrint 文件「JumpStart Technology: Effective Use in the Solaris Operating Environment」,以取得詳細資訊。
達成 rules 檔案正常運轉以及正確地安裝修補程式後,您可啟動用戶端系統的基層安裝以及進行用戶端最小化及強化。
驗證 rules 檔案的正確性時,您可能會遇上各種不同的問題。本節內提出一些最常見的問題。
# pwd /jumpstart Validating profile Profiles/xsp-minimal-firewall.profile... Error in file "rules", line 20 hostname jordan - Profiles/xsp-minimal-firewall.profile |
此範例中,rules 中所指定的 jordan 設定檔項目並不存在。設定檔 xsp-minimal-firewall.profile 並未存在於設定檔目錄。通常此錯誤的原因是檔案名稱拼字錯誤,忘記指定設定檔的正確目錄,或者尚未建立設定檔。修正這個問題後重新執行檢查。
第二次執行發現兩個問題。第一個問題是要被 xsp-firewall-secure.driver 呼叫的驅動程式。應該要呼叫 xsp-firewall-hardening.driver,但
xsp-firewall-secure.driver 仍然呼叫 hardening.driver。
第二個問題是 JASS_SCRIPTS 變數設定為不正確的 minimize-Sun_ONE-WS.fin 而非 minimize-firewall.fin。
預定計畫的防火牆強化配置已經做好自訂及微調的準備。起始的程序檔是根據hardening.driver 作成的。意思是系統成為「warm-brick」,也就是停用所有的服務。
由於 Solaris 8 作業系統並未內含 Secure Shell 用戶端軟體,您必須作修改來允許防火牆的遠端,網路基礎式管理。對於本個案情境中的防火牆,需求中指定 FTP 服務必須保持啟用狀態以及必須安裝一個 Secure Shell 用戶端作遠端管理。限制上述兩種服務僅在私有管理網路內,因此並未啟用自任何其他網路介面作監聽。要取得有關限制服務的資訊,請參閱 Sun BluePrints OnLine 文摘,標題為「Solaris Operating Environment Security: Updated for Solaris 9 Operating Environment」。
除了保留啟用上述兩種服務,RPC 服務是啟用的。如此我們可以使用 Solstice DiskSuite 圖形化使用者介面 (GUI) 來配置做為磁碟鏡射的 Solstice DiskSuite。若沒有打算使用 Solstice DiskSuite GUI,那麼則不需要 RPC。本範例中,GUI 是需要的,所以 RPC 服務需要保留啟用。請注意,Solstice DiskSuite 的安裝及配置已經超出本書的範圍。
用戶端的最後一項必須要做的更改是打造使用 xSP 的 中央 SYSLOG 伺服器,自訂的 syslog.conf。此自訂的 syslog.conf 檔案必須安裝至每一個防火牆系統。
這些更改需要針對各種不同 Solaris Security Toolkit 配置選項作變更。下面章節顯示每個所需更改的詳細資訊。
|
1. 要保留啟用 FTP,請修改 update-inetd-conf.fin 檔案的預設運作方式。設定 JASS_SVCS_DISABLE 及 JASS_SVCS_ENABLE 變數。
要停用除了 FTP 外所有標準的 Solaris 作業系統服務,此個案的最好方法是定義 JASS_SVCS_ENABLE 為 ftp,同時確保 finish.init 程序檔中的 JASS_SVCS_DISABLE 保留為預設值。請參閱「Solaris Security Toolkit 4.1 Reference Manual」。
2. 要透過環境變數來使更改生效,呼叫 xsp-firewall-hardening.driver 之前,新增一個類似下列的項目至 xsp-firewall-secure.driver。
3. 確保 FTP 僅適用在 xSP 的管理網路上,藉由防火牆軟體使它生效。
另外一個需求是 FTP 應該僅適用於 xSP 的管理網路。Solaris 8 作業系統上,您可以透過系統上的 TCP 包裝函式或者透過防火牆軟體本身來使此需求生效。本個案中,透過防火牆軟體來使它生效。
由於 Solaris 8 作業系統並未納入 Secure Shell 用戶端,安裝一個作遠端管理的 Secure Shell 用戶端。
您可以配置 Solaris Security Toolkit 軟體來安裝 OpenSSH 工具。使用 install-openssh.fin 程序檔,它被列入 config.driver 檔案中並由 xsp-firewall-secure.driver 所使用。
|
1. 複製預設 config.driver 至 xsp-firewall-config.driver。
2. 於複製檔案內,為 install-openssh.fin 項目解除註解。
3. 修改 xsp-firewall-secure.driver 中的項目,它呼叫 config.driver 來取代呼叫 xsp-firewall-config.driver。
如同修補程式及作業系統版本,使用最新版本的 OpenSSH。請參閱 OpenSSH 網頁取得最新發行版本的資訊:
5. 編譯最新的 OpenSSH 套裝模組,正確地為它命名,然後安裝至 Packages 目錄。
要取得更多此套裝模組的資訊,請參閱 Sun BluePrints OnLine 文摘,標題為「Configuring OpenSSH for the Solaris Operating Environment」。
6. 更新 install-openssh.fin 程序檔來反映 OpenSSH 套裝模組名稱。
可能需要修改 install-openssh.fin 程序檔。此程序檔定義 OpenSSH 套裝模組名稱如同下列格式:
套裝模組名稱後加上版本編號 (3.5p1)、架構 (sparc)、架構的版本 (sun4u)、在哪個作業系統上作編譯 (5.8) 以及一個 pkg 的後綴。
7. 藉由防火牆軟體確保 SSH 僅適用 xSP 的管理網路。
另外一個需求是 Secure Shell 僅適用於 xSP 的管理網路。Solaris 8 作業系統下,您可以結合 TCP 包裝函式至系統或者透過防火牆軟體本身來達成這個需求。本個案中,我們透過防火牆軟體來實現。請注意,此需求也可藉由更改 Secure Shell 伺服器的配置來達成。
保留 RPC 服務啟用,如此您可使用需要 RPC 的 SDS 作磁碟鏡射。
此項修改相當容易,原因是結束程序檔 disable-rpc.fin 在 Solaris Security Toolkit 執行期間可以用來停用 RPC 服務。
|
將 xsp-firewall-hardening.driver 中的項目 disable-rpc.fin 作成註解。
藉由將其改為註解方式自驅動程式中停用程序檔,而非移除它們。當將 JASS_SCRIPTS 中定義的項目改為註解時要小心,因為只有某註解值的組合是可以接受的。
下列是包含於 driver.funcs 程序檔的註解,Solaris Security Toolkit 軟體接受為 JASS_SCRIPTS 定義的註解標記。
此用戶端所需要作的最後更改是打造使用 xSP 中央 SYSLOG 伺服器的自訂syslog.conf。此自訂 syslog.conf 檔案必須安裝至每一個防火牆系統。
|
1. 複製 xSP 標準 syslog.conf 檔案、重新命名為 syslog.conf.jordan,然後置於 Files/etc 目錄中。
Solaris Security Toolkit 軟體支援數種不同模式複製檔案。此配置的最佳選項是將系統的主機名稱做為後綴附加至檔案,如此 syslog.conf 檔案只會複製到 jordan,因為它有唯一的防火牆特定修改。此種情況下,用戶端被稱為 jordan,因此 Files/etc 中使用的驗證檔案名稱為 syslog.conf.jordan。重要的是要注意 JASS_FILES 定義必須沒有此後綴。要取得後綴的資訊,請參閱「Solaris Security Toolkit 4.1 Reference Manual」。
2. 若 xSP 標準 syslog.conf 檔案不適用,建立一個自訂 syslog.conf 檔案如下:
a. 複製 Solaris Security Toolkit 軟體內含的 syslog.conf 檔案,然後重新命名為 syslog.conf.jordan,將它放在 Files/etc 目錄。
b. 修改 syslog.conf.jordan 來配合 xSP 標準 SYSLOG。
3. 驗證 /etc/syslog.conf 檔案列入 xsp-firewall-hardening.driver 的 JASS_FILES 定義內。
依據預設,xsp-firewall-hardening.driver 內修正過的 JASS_FILE 定義如下:
/etc/init.d/set-tmp-permissions /etc/rc2.d/S00set-tmp-permissions |
現在,所有的修改皆已完成。特定應用程式的作業系統安裝,最小化及強化已經自訂完成而且完全自動化。唯一沒有自動化的程序是防火牆軟體及 Solstice DiskSuite 的安裝及配置。雖然可以使用 JumpStart 技術來進行配置,但已超出本書範圍。請參閱 Sun BluePrints 文件「JumpStart Technology: Effective Use in the Solaris Operating Environment」。
|
1. 完成驅動程式的所有修改後,使用 JumpStart 基本架構來安裝用戶端。
程序中的最後作業包括確定系統提供的應用程式及服務正確的運作。而且,此作業會驗證安全性設定檔成功地使需要的修改生效。
重要的是此項作業完全完成,以及重新啟動已強化及最小化平台之後,確保偵測到任何不正常及問題後,可迅速的將它修正。此程序可分為兩個作業:驗證設定檔安裝及驗證應用程式及服務的功能性。
|
要驗證 Solaris Security Toolkit 軟體正確無誤地安裝安全性設定檔,並且檢閱及評估下列事項。
此檔案安裝在 JASS_REPOSITORY/jass-install-log.txt。
備註 - 此日誌檔被使用為一個可清楚瞭解 Solaris Security Toolkit 軟體曾對系統所作的參考來源。每當系統執行時,會根據執行的開始時間將新的日誌檔儲存於目錄之中。這些檔案以及任何其他在 JASS_REPOSITORY 目錄中的檔案,絕對不可以直接更改。 |
要取得有關稽核選項的詳細資訊,請參閱第 6 章。此個案中,我們使用目錄中的檔案至用戶端安裝的 Solaris Security Toolkit 軟體。
若 Solaris Security Toolkit 驗證運作發生任何不一致性,它們會被記錄下來。運行報告的結尾摘要了被發現的不一致數目。此運作的全部輸出位於 JASS_REPOSITORY 目錄中。
|
應用程式及服務的驗證程序包括執行完善的測試及接受計畫。此計畫使用系統或應用程式的不同元件來判定它們是否處於適用及工作順序中。若沒有適用的計畫,根據系統使用的方式作合理的測試。目的為確保強化程序並未影響應用程式或服務執行應有功能的能力。
1. 若您發現系統強化後應用程式及服務的異常,請使用第 2 章中所述的技巧來判定問題的所在。
例如,使用 truss 指令。此指令通常被使用來判定應用程式於何時發生困難。一旦知道時間點,問題可被當成目標並可追溯至 Solaris Security Toolkit 軟體所作的更改。
備註 - 根據安裝過 Solaris Security Toolkit 軟體的共同經驗,使用本書的方法可以避免大部分的問題。 |
2. 以同樣的方式,測試 Check PointFirewall-1 NG 軟體,追溯問體返回至 Solaris Security Toolkit 軟體的修改點,然後修正該問題。
3. 若套裝模組的最終清單需要修改,請修改設定檔、重新安裝系統,然後重複測試。
Copyright © 2004, Sun Microsystems, Inc. 版權所有.