Red Hat Training
A Red Hat training course is available for Red Hat Satellite
6.2. RHN 衛星伺服器中的 OpenSCAP
6.2.1. 先決條件
套件需求
SCAP 需要這些套件:
- 伺服器:RHN 衛星伺服器 5.5
- 客戶端:spacewalk-oscap 套件(可由 RHN 工具子頻道取得)
權利需求
排程掃瞄需擁有管理權利。
其它需求
客戶端:將 XCCDF 內容發佈至客戶端機器
可透過以下方式來將 XCCDF 內容發佈至客戶端機器上:
- 傳統方式(CD、USB、nfs、scp、ftp)
- 衛星伺服器 Script
- RPM建議使用自訂的 RPM 來將 SCAP 內容發佈至其它機器上。RPM 套件可透過簽章與驗證,以確保其完整性。您可透過使用者介面來安裝、移除和驗證 RPM 套件。
6.2.2. 執行稽核掃瞄
整合在衛星伺服器中的 OpenSCAP,提供了在客戶端系統上執行稽核掃瞄的能力。此部分將討論兩種可使用的方式。
過程 6.1. 透過網站介面掃瞄
透過衛星伺服器網站介面進行掃瞄:
- 登入衛星伺服器網站介面。
- 點選系統 → 目標系統。
- 點選稽核 → 排程
- 填入
排程新的 XCCDF 掃瞄
表格:- 指令列引數:您可在此欄位中加入 oscap 工具的額外引數。只有兩項指令列引數是被允許的。它們乃:
--profile PROFILE
— 由 XCCDF 文件選擇特定設定檔。設定檔乃透過 XCCDF xml 檔案所決定,並且可透過使用Profile id
標籤來檢查。例如:Profile id="RHEL6-Default"
注意
特定版本的 OpenSCAP 需使用 --profile 指令列引數,否則掃瞄將會失敗。--skip-valid
— 不驗證輸入/輸出檔案。沒有正確格式的 XCCDF 內容的使用者,可選擇使用此選項,以跳過檔案驗證程序。若沒使用任何指令列引數,它將會使用預設設定檔。 - XCCDF 文件的路徑:此乃必填的欄位。
path
參數指向了客戶端系統上的內容位置。例如:/usr/local/scap/dist_rhel6_scap-rhel6-oval.xml
警告
xccdf 內容在遠端系統上執行前,會先經過驗證。指定無效的引數可能會造成 spacewalk-oscap 無法驗證或執行。基於安全性考量,「osccap xccdf eval」指令僅接受有限的參數。
- 請執行
rhn_check
以確認客戶端系統可掌握此動作。rhn_check -vv
注意
此外,若rhnsd
或osad
在客戶端系統上執行的話,這些伺服器將會掌握動作。若要檢查它們是否正在執行中,請執行:service rhnsd start
或是service osad start
若要檢視掃瞄的結果,請參閱 節 6.2.3, “如何檢視 SCAP 結果”。
圖形 6.1. 透過網站 UI 排程掃瞄
過程 6.2. 透過 API 掃瞄
若要透過 API 執行一項稽核掃瞄:
- 選擇既有的 script 或新建 script,以透過
system.scap.scheduleXccdfScan
(前端 API)來排程系統掃瞄。範例 script:#!/usr/bin/python client = xmlrpclib.Server('https://spacewalk.example.com/rpc/api') key = client.auth.login('username', 'password') client.system.scap.scheduleXccdfScan(key, 1000010001, '/usr/local/share/scap/usgcb-rhel5desktop-xccdf.xml', '--profile united_states_government_configuration_baseline')
而- 1000010001 代表
system ID (sid)
。 /usr/local/share/scap/usgcb-rhel5desktop-xccdf.xml
為指向了客戶端系統上,內容位置的路徑參數。在此情況下,它會假設 USGSB 內容位於/usr/local/share/scap
目錄中。--profile united_states_government_configuration_baseline
代表 oscap 工具的額外引數。在此情況下,它使用了 USCFGB。
- 在任何系統的指令列介面上執行此 script。系統需安裝了適當的 python 與 xmlrpc 函式庫。
- 請執行
rhn_check
以確認客戶端系統可掌握此動作。rhn_check -vv
注意
此外,若rhnsd
或osad
在客戶端系統上執行的話,這些伺服器將會掌握動作。若要檢查它們是否正在執行中,請執行:service rhnsd start
或是service osad start
6.2.3. 如何檢視 SCAP 結果
檢視已完成之掃瞄結果的方式有三種:
- 透過網站介面。當動作被執行後,結果應顯示在系統的「稽核」分頁上。此網頁詳述於 節 6.2.4, “OpenSCAP 衛星伺服器網頁” 中。
- 透過
system.scap
處理程式中的 API 功能。 - 藉由執行下列指令,以透過衛星伺服器的
spacewalk-reports
工具檢視:# /usr/bin/spacewalk-reports system-history-scap # /usr/bin/spacewalk-reports scap-scan # /usr/bin/spacewalk-reports scap-scan-results
6.2.4. OpenSCAP 衛星伺服器網頁
下列部分詳述了 RHN 衛星伺服器網站 UI 中的分頁,這些分頁構成了 OpenSCAP。
6.2.4.1. 「稽核」
位於上方導覽列的「稽核」分頁,乃在 RHN 衛星伺服器 5.5 中構成了 OpenSCAP 功能的網頁。點選此分頁能讓您檢視完整的 OpenSCAP 掃瞄、進行搜尋,和進行比對。
- 稽核 → 所有掃瞄
- 「所有掃瞄」乃在您選擇了「稽核」分頁後,所會出現的預設網頁。此網頁顯示了使用者允許檢視的已完成 OpenSCAP 掃瞄。掃瞄的權限是由系統權限所衍生出的。
圖形 6.2. 稽核 ⇒ 所有掃瞄
每項掃瞄皆會顯示下列資訊:- 系統
- 掃瞄的目標系統
- XCCDF 設定檔
- 經過評估的設定檔
- 已完成
- 完成時間
- 已滿足
- 已滿足/通過的規則數量。若評估的結果乃「通過」或「已修正」,則規則便會被視為「已滿足」。
- 未滿足
- 未滿足/失敗的規則數量。若評估的結果為「失敗」,則規則便會被視為「未滿足」。
- 不明
- 尚未評估的規則數量。若評估的結果為「錯誤」、「不明」或「未檢查」,則規則便會被視為「不明」。
XCCDF 規則的評估程序亦可能會回傳像是「Informational(資訊性質)」、「Not Applicable(不適用)」或是「not Selected(未選擇)」的狀態。在此類型的情況下,規則不會包含在此網頁上的數據中。欲取得相關資訊,請參閱系統詳細資訊 → 稽核。 - 稽核 → XCCDF Diff
- XCCDF Diff 是個可檢視兩項 XCCDF 掃瞄比對的應用程式。它會顯示兩項掃瞄的 metadata,以及掃瞄結果的清單。
圖形 6.3. 稽核 ⇒ XCCDF Diff
您可藉由點選位於「列出掃瞄」網頁上的圖像,以直接存取相似掃瞄的diff
,或是您亦可藉由指定掃瞄 id,以針對於任意的掃瞄進行diff
。僅顯示在一項比對過的掃瞄中的項目將會被視為「varying(偏差)」。偏差項目將以米黃色強調。可能的比對模式有三種:顯示所有掃瞄項目的「完整比對」、僅顯示受到變更項目的「只有受到變更的項目,以及僅顯示未受到變更或相似項目的「只有無偏差的項目」。 - 稽核 → 進階搜尋
- 「搜尋」網頁能讓您根據指定的條件搜尋您的掃瞄,例如:
- 規則結果
- 目標機器
- 掃瞄時間
圖形 6.4. 稽核 ⇒ 進階搜尋
搜尋會回傳一列結果清單,或是包含在結果中的一列掃瞄清單。
6.2.4.2. 系統 → 系統詳細資訊 → 稽核
此分頁以及其子分頁允許您排程及檢視系統的規範掃瞄。SCAP 工具將會進行一項掃瞄,它會實作 NIST 的標準 SCAP(Security Content Automation Protocol)。若要掃瞄系統,請確認 SCAP 內容已準備妥當,並且已滿足 節 6.2.1, “先決條件” 中的所有先決條件。
- 系統 → 系統詳細資訊 → 稽核 → 列出掃瞄
圖形 6.5. 系統 ⇒ 系統詳細資訊 ⇒ 稽核 ⇒ 列出掃瞄結果
此子分頁會列出在系統上所有已完成的掃瞄祇概要。欄位如下:表格 6.1. OpenSCAP 掃瞄標籤
欄位標籤 定義 XCCDF 測試結果 提供掃瞄詳細結果之連結的掃瞄測試結果名稱。 已完成 掃瞄完成時的確切時間 規範 以所使用之標準為基礎的規範無權重通過/失敗比例 P 通過的檢測數量 F 失敗的檢測數量 E 進行掃瞄時所遇上的錯誤 U 不明 N 對機器不適用 K 未檢查 S 未選擇 I 資訊性 X 已修正 總數 檢測總數 每一行皆以一個圖像為起始,並顯示了與先前相似掃瞄之間的比對結果。這些圖像顯示了在新的掃瞄中:- — 與先前的掃瞄相較之下無差異。
- — 任意差異
- — 重大差異,比先前掃瞄還要多的失敗,或是還要少的成功結果。
- — 找不到可相比較的掃瞄,因此未進行任何比對。
- 系統 → 系統詳細資訊 → 稽核 → 掃瞄詳細資訊
- 此網頁包含了單個掃瞄的結果。它可分為兩個部分:
- XCCDF 掃瞄的詳細資訊掃瞄的詳細資訊可提供您:
- 檔案路徑的一般資訊
- 使用了哪些指令列引數
- 排程的使用者
- 硬體檢測辨識元與版本為何
- 設定檔辨識元
- 設定檔標題
- 起始及完成時間
- 任何錯誤輸出。
- XCCDF 規則結果規則結果提供了完整的 XCCDF 規則辨識元清單,它可為各項規則結果辨識標籤及結果。此清單能以特定規則進行篩選。
- 系統 → 系統詳細資訊 → 稽核 → 排程
- 您能在此子分頁中排程新掃瞄。您可提供額外的指令列引數,以及系統上正要被掃瞄的 XCCDF 文件的路徑。根據
Schedule no sooner than
參數,掃瞄將會在下次系統被排程 check-in 衛星伺服器的時候進行。欲取得更多有關於如何透過衛星伺服器排程的相關資訊,請參閱此章節中的 過程 6.1, “透過網站介面掃瞄”。