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. 透過網站介面掃瞄

透過衛星伺服器網站介面進行掃瞄:
  1. 登入衛星伺服器網站介面。
  2. 點選系統目標系統
  3. 點選稽核排程
  4. 填入 排程新的 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」指令僅接受有限的參數。
  5. 請執行 rhn_check 以確認客戶端系統可掌握此動作。
    rhn_check -vv
    

    注意

    此外,若 rhnsdosad 在客戶端系統上執行的話,這些伺服器將會掌握動作。若要檢查它們是否正在執行中,請執行:
    service rhnsd start
    
    或是
    service osad start
    
若要檢視掃瞄的結果,請參閱 節 6.2.3, “如何檢視 SCAP 結果”
透過網站 UI 排程掃瞄

圖形 6.1. 透過網站 UI 排程掃瞄

過程 6.2. 透過 API 掃瞄

若要透過 API 執行一項稽核掃瞄:
  1. 選擇既有的 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。
  2. 在任何系統的指令列介面上執行此 script。系統需安裝了適當的 python 與 xmlrpc 函式庫。
  3. 請執行 rhn_check 以確認客戶端系統可掌握此動作。
    rhn_check -vv
    

    注意

    此外,若 rhnsdosad 在客戶端系統上執行的話,這些伺服器將會掌握動作。若要檢查它們是否正在執行中,請執行:
    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,以及掃瞄結果的清單。
稽核 ⇒ XCCDF Diff

圖形 6.3. 稽核 ⇒ XCCDF Diff

您可藉由點選位於「列出掃瞄」網頁上的圖像,以直接存取相似掃瞄的 diff,或是您亦可藉由指定掃瞄 id,以針對於任意的掃瞄進行 diff
僅顯示在一項比對過的掃瞄中的項目將會被視為「varying(偏差)」。偏差項目將以米黃色強調。可能的比對模式有三種:顯示所有掃瞄項目的「完整比對」、僅顯示受到變更項目的「只有受到變更的項目,以及僅顯示未受到變更或相似項目的「只有無偏差的項目」。
稽核進階搜尋
「搜尋」網頁能讓您根據指定的條件搜尋您的掃瞄,例如:
  • 規則結果
  • 目標機器
  • 掃瞄時間
搜尋會回傳一列結果清單,或是包含在結果中的一列掃瞄清單。

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 已修正
總數 檢測總數
每一行皆以一個圖像為起始,並顯示了與先前相似掃瞄之間的比對結果。這些圖像顯示了在新的掃瞄中:
  • "RHN List Checked" 圖像 — 與先前的掃瞄相較之下無差異。
  • "RHN List Alert" 圖像 — 任意差異
  • "RHN List Error" 圖像 — 重大差異,比先前掃瞄還要多的失敗,或是還要少的成功結果。
  • "RHN List Check In" 圖像 — 找不到可相比較的掃瞄,因此未進行任何比對。
系統系統詳細資訊稽核掃瞄詳細資訊
此網頁包含了單個掃瞄的結果。它可分為兩個部分:
  • XCCDF 掃瞄的詳細資訊
    掃瞄的詳細資訊可提供您:
    • 檔案路徑的一般資訊
    • 使用了哪些指令列引數
    • 排程的使用者
    • 硬體檢測辨識元與版本為何
    • 設定檔辨識元
    • 設定檔標題
    • 起始及完成時間
    • 任何錯誤輸出。
  • XCCDF 規則結果
    規則結果提供了完整的 XCCDF 規則辨識元清單,它可為各項規則結果辨識標籤及結果。此清單能以特定規則進行篩選。
系統系統詳細資訊稽核排程
您能在此子分頁中排程新掃瞄。您可提供額外的指令列引數,以及系統上正要被掃瞄的 XCCDF 文件的路徑。根據 Schedule no sooner than 參數,掃瞄將會在下次系統被排程 check-in 衛星伺服器的時候進行。欲取得更多有關於如何透過衛星伺服器排程的相關資訊,請參閱此章節中的 過程 6.1, “透過網站介面掃瞄”