Kickstart

如何強制 Anaconda 的 SCAP 外掛讓我使用 USB 鍵盤?

  • March 30, 2017

問題

我正在使用自定義 kickstart 文件創建 RHEL 7.3 安裝映像。

我可以將它添加到我的 kickstart 文件中以在安裝期間啟用 SCAP 配置:

%addon org_fedora_oscap
content-type = scap-security-guide
profile = stig-rhel7-server-gui-upstream
%end

但是,當我這樣做時,我最終nousb會在我的核心 cmdline 中禁用所有 USB 介面,包括鍵盤和滑鼠。

(我之前對 RHEL 7.2 映像做過同樣的事情,而且它“正常工作”,所以我知道基本方法是合理的。但這是使用較舊且顯然不太完整的安全配置文件。)

現在,我完全明白為什麼了:有一條規則專門設置它。我需要“定制”規則,以便 SCAP 工具不會禁用我所有的 USB 設備。

到目前為止我發現了什麼

根據Red Hat 的 kickstart 文件OSCAP Anaconda 站點,我可以通過提供我自己的定製文件來暫停這條規則:

剪裁路徑 - 應該使用的剪裁文件的路徑,作為存檔中的相對路徑給出。

所以,我執行 scap-workbench,禁用受影響的規則,並將我的更改保存為一個剪裁.xml 文件

scap-workbench 的部分螢幕截圖,其中未選中“通過引導載入程序配置禁用對 USB 的核心支持”規則

然後,我可以在 kickstart 配置中添加一行,如下所示:

%addon org_fedora_oscap
content-type = scap-security-guide
profile = stig-rhel7-server-gui-upstream
tailoring-path = ssg-rhel7-ds-tailoring.xml
%end

基於反複試驗,我還得出結論,tailoring.xml 文件必須放在 /root/openscap_data 中(絕對路徑絕對不起作用——在安裝過程中會出現顯著的顯示停止調試提示)。

什麼我想不通

nousb即使在生成定製文件之後,當我進行全新安裝時,我仍然會得到一個核心。

  • 我真的將剪裁.xml 放在正確的位置嗎?
  • 是否有詳細的日誌可以用來診斷外掛在做什麼?(我在 /var/log/anaconda/journal.log 中只找到了非常基本的資訊。)
  • 如果定制方法由於某種原因而失敗,那麼在不完全放棄 STIG 自動配置的情況下,為解決此問題應用解決方法的干淨且一致的方法是什麼?(例如,我可以在 OSCAP 破壞核心參數後使用另一個附加模組來清理它們嗎?)

如果添加 a tailoring-path,則可能需要更新該profile

定義tailoring-path不會自動注入任何新規則,它只是將另一個源添加到搜尋層次結構中。要實際使用它,您需要按名稱呼叫“定制”配置文件,而不是原始配置文件,例如:

%addon org_fedora_oscap
content-type = scap-security-guide
profile = stig-rhel7-server-gui-upstream-MYPROJECT-CUSTOMIZATIONS
tailoring-path = ssg-rhel7-ds-tailoring.xml
%end

定制的配置文件名稱是 Scap Workbench 在您保存它時指導您創建的名稱。“長格式”是可以接受的;您可以使用文本編輯器打開定製文件並直接複製它。

根據這篇 OpenShift 部落格文章,您需要安裝一些軟體包才能將 openSCAP 日誌記錄到 syslog:

yum install html2text util-linux-ng

就解決問題本身而言,您提到的檢查基本上執行以下操作:

 sed -i "s/\(GRUB_CMDLINE_LINUX=\)\"\(.*\)\"/\1\"\2 nousb\"/" /etc/default/grub
bootloader
 /sbin/grubby --update-kernel=ALL --args="nousb"

nousb因此,您可以通過從預設 grub 選項中刪除來恢復該特定規則的操作。

但是,我似乎找不到任何關於您的剪裁為什麼不起作用的資訊。 然而,這篇文章似乎確實向您報告了一個類似的問題,並且這個 RH 解決方案- 如果您有訪問權限 - 可能會有用(我沒有查看解決方案本身的帳戶,但它的標題是“支持 OpenSCAP 在衛星 6")。

OpenSCAP 的官方定制指南確實建議您確保保存您的 Work Bench 定制:

文件 → 僅保存自定義。

還有一件需要注意的小事(來自http://static.open-scap.org/scap-workbench-1.1/#_load_a_ready_made_customization_xccdf_tailoring_file_optional):

只有 XCCDF 1.2 正式支持剪裁。OpenSCAP 項目有一個擴展,允許定製文件與 XCCDF 1.1 一起使用,因此 SCAP Workbench 也支持它。詳細資訊超出了本文件的範圍,但請記住,定制 XCCDF 1.1 文件可能不適用於除 openscap 之外的掃描器。

引用自:https://serverfault.com/questions/839804