引言:SCAP(安全內容自動化協議)列舉了各種軟件產品的漏洞,各種與安全有關的軟件配置問題,并提供了漏洞管理自動化的機制。它用開放性標準實現了自動化脆弱性管理、衡量和策略符合性評估。OpenSCAP 項目的目的是為了提供一個開放源碼的框架,以讓開源社群能夠整合安全內容自動協議(SCAP) 標準的能力。
SCAP(安全內容自動化協議)列舉了各種軟件產品的漏洞和各種與安全有關的軟件配置問題,并提供了漏洞管理自動化的機制。SCAP用開放性標準實現了自動化脆弱性管理、衡量和策略符合性評估。而OpenSCAP項目的目的則是為了提供一個開放源碼的框架,從而讓開源社群能夠整合安全內容自動協議(SCAP)標準的能力。
SCAP包含兩個主要元素:一個是協議,即一組標準化格式與術語的開放規(guī)范,通過SCAP,軟件安全產品可以互通軟件缺陷與安全配置信息,每一個規(guī)范也被稱作一個SCAP組件;其次,SCAP包括軟件缺陷與安全配置標準化的參考數據,也被稱作SCAP內容。
下面列出了目前的SCAP 1.0協議組件,這些組件按類型分為:列舉(Enumerations)組,為安全與產品相關的信息定義了標準表述符與目錄;脆弱性測量與評分(Vulnerability Measurement and Scoring)組, SCAP版本1.0具體包含以下六個組件(如圖1所示):
圖1 六個SCAP組件的示意圖
OVAL(開放漏洞和評估語言):主要是用于說明計算機的配置和發(fā)現的漏洞情況。
XCCDF(可擴展配置清單說明格式):用于描述安全配置列表(Checklists)、基準點(Benchmarks)的相關文檔。XCCDF一般用于描述目標系統(tǒng)安全配置規(guī)則,是一種為表達、組織和管理安全指導的語言。
CVE(通用漏洞披露):是包含了公眾所已知的信息安全的漏洞信息以及披露的集合。
CPE(通用平臺枚舉):可以利用該平臺列舉出各項企業(yè)資產,從而為各項資產的數據提供基本的管理依據。
CCE(通用配置枚舉):其作用與CVE很相似,但是CCE主要用于處理錯誤配置問題。
CVSS(通用漏洞評價體系):一種用于評估軟件安全隱患的度量系統(tǒng),同時它也可以以打分的方式幫助用戶優(yōu)先應對安全風險。
其中,在圖1所示中,FISMA是法規(guī),是美國政府制定的信息安全管理的法律依據。NIST是政府授權去制定和實施標準、技術援助的機構。而SCAP則是NIST為了實施符合FISMA的自動化要求而制定的一個協議。
使用Yum命令即可在線安裝OpenSCAP相關軟件包:
#yum install openscap-utils scapsecurity-guide openscapengine-sce scapworkbench
說 明 :“openscap-utils”是SCAP軟件包,主要包括Oscap 命令行工具。該工具作為一個 OpenSCAP 庫的前端,基于它處理的一種類型的 SCAP內容,將其功能分組模塊化(子命令)。openscap-engine-sce 的安裝包提供了腳本檢查引擎(SCE)。SCE是SCAP的一個擴展協議,允許內容作者使用腳本語言去編寫自己的安全內容,例如Bash語言,Python語言或者Ruby語言?!皊cap-security-guide”是SSG軟件包,它包含了Linux 系統(tǒng)最新的一套安全策略。SSG安全內容可以在“/usr/share/xml/scap/ssg/rhel7/”目錄下找到。scap-workbench是一個圖形化的工具,它允許用戶在本地或遠程系統(tǒng)上執(zhí)行配置和漏洞掃描,實現系統(tǒng)的修復,以及生成基于掃描評估的報告。
檢查Oscap版本的功能:
在安裝完Oscap后,您可以檢查您所安裝Oscap 版本的功能,要顯示此信息,請輸入以下命令:
# oscap -V
命令輸出的內容包括,系統(tǒng)版本(CVE、OVAL、CPE、CVSS),某個 Oscap 文件儲存在什么位置,能使用什么樣的SCAP對象,以及其他有用的信息。
Oscap最重要的功能是在本地系統(tǒng)上執(zhí)行配置與漏洞掃描。通常包括有兩種格式:OVAL格式以及XCCDF格式。
XCCDF語言被設計為支持信息交換、文檔生成、組織化和情境化調整、自動一致性測試以及符合性評分。XCCDF語言主要是描述性質的,并不包含任何用來執(zhí)行安全掃描的命令。然而,XCCDF文檔可以作為其他SCAP組件的參考,而且就其本身而言,它也可以被用于制作合規(guī)策略,移植到除相關的評估文檔(OVAL、OCIL)以外的所有目標平臺。通常,可以用一組XML文件中包含一個XCCDF清單的方法來表示合規(guī)策略。該XCCDF文件通常指向了評估資源、多重OVAL,OCIL以及腳本檢查引擎(SCE)文件。此外,該文件集可以包含有CPE字典文件和為此字典定義了對象的OVAL文件。
使用SSG XCCDF基準掃描系統(tǒng)。要在系統(tǒng)中為 xccdf_org.ssgproject.content_profile_rht-ccp 配置文件執(zhí)行SSG XCCDF基準測試,請運行以下命令:
#oscap xccdf eval--profile rht-ccp
--results /tmp/′hostname′-ssgresults.xml
--report /var/www/html/′hostname′-ssgresults.html
--cpe /usr/share/xml/scap/ssg/content/ssg-rhel7-cpedictionary.xml
/usr/share/xml/scap/ssg/content/ssgrhel7-xccdf.xml
其中屏幕輸出界面如圖2所示。
Result:圖中“fail”(紅色字符)表示存在安全漏洞。Result:“pass”(綠 色字符)表示通過安全檢查。
這份結果報告將會以“l(fā)ocalhost.localdomainssg-results.html”文件為名儲存在“/var/www/html/”目錄下。我們可以使用瀏覽器打開這個檢查結果文件。
OVAL(開放式漏洞評估語言)是SCAP中必不可少的和最初始的組成部分。有別于其他工具或者自定義腳本,OVAL語言以聲明的形式描述了資源的理想狀態(tài)。OVAL語言代碼不能被直接執(zhí)行,而是依靠一個叫做掃描軟件的OVAL解釋工具去執(zhí)行。OVAL所具備的聲明性質保證了受評估系統(tǒng)的狀態(tài)不會被意外地改變,這一點是非常重要的,因為安全掃描工具通常運行在可能獲取的最高權限上。為了評估來自由SSG數據流文件代表的安全策略中的特別的OVAL定義,請運行以下命令:
圖2 屏幕輸出界面
圖3 工作界面
# oscap oval eval--id oval:ssg:def:100--results scan-ovalresults.xml /usr/share/xml/scap/ssg/rhel7/ssgrhel7-ds.xml
OVAL的掃描結果將會以“scan-oval-results.xml”文件格式的方式保存在當前目錄中。
SCAP Workbench是一個圖形化的工具,它允許用戶在本地或遠程系統(tǒng)上執(zhí)行配置和漏洞掃描,從而實現系統(tǒng)的修復,以及生成基于掃描評估的報告。與Oscap命令行實用工具比起來,SCAP工作臺只具備有限的功能。SCAP工作臺也可以處理只以XCCDF文件和數據流文件形式存在的安全內容。安裝SCAP Workbench軟件包后通過終端即可啟動,其工作界面如圖3所示。
CAP工作臺窗口包含許多交互式組件,簡單介紹一下主要組件:
Title(輸入文件):該字段包含了所選安全策略的完整路徑。
Tailoring(裁剪)可以對XCCDF中所定義的檢查單進行剪裁和調整,該下拉列表框顯示的是將被應用于所選安全策略中的清單的名稱。如果存在不止一個清單,您可以通過點擊此下拉列表框來選擇一個特定的清單。該下拉列表框會通知您給定安全策略的定制情況。您可以通過點擊該下拉列表框來選擇自定義規(guī)則,這些規(guī)則將會被應用在系統(tǒng)評估中。默認值是“no tailoring”,這意味著所使用的安全策略將不會有任何改變。如果您對所選的安全配置文件做了任何改動,可以通過點擊“Save Tailoring”按鈕以XML文檔的方式保存這些改動內容。
Profile(配置文件):該下拉列表框包含所選安全策略配置文件的名稱。通過點擊該下拉列表框,您可以從給定的XCCDF或者數據流文件中篩選出安全配置文件。若要創(chuàng)建一個繼承了所選安全策略配置文件屬性的新配置文件,請點擊“Customize”按鈕。
Target(目標):這兩個單選按鈕允許您選擇待評估系統(tǒng)是本地計算機還是遠程計算機。
Status bar(狀態(tài)欄):這是一種圖形化的工具條,指示著正在執(zhí)行的操作狀態(tài)。
Oline Remediation(在線修復):該復選框允許在系統(tǒng)評估中開啟修復功能。如果您選中該復選框,SCAP工作臺將嘗試校正那些無法匹配策略定義狀態(tài)的系統(tǒng)設置。
Scan(掃描):該按鈕允許啟動對指定系統(tǒng)的評估。
圖4 掃描系統(tǒng)結束后的界面
SACP工作臺的主要功能是依照給定的XCCDF或者數據流文件,在被選中的系統(tǒng)中執(zhí)行安全掃描。若要評估您的系統(tǒng)有沒有違反所選的安全策略,請遵循下列步驟:
首先通過點擊“File”和“Open Content”按鈕打開相應的XCCDF或者數據流文件來選擇一項安全策略。然后點擊“Scan(掃描)”開始掃描系統(tǒng),當系統(tǒng)掃描結束以后,新的按鈕包括:“Clear” 和“Save Report”以 及“Show Report”,會出現并取代“Scan”按鈕如圖4所示。
說明:
pass(綠 色 字 符):目標系統(tǒng)(及其相關組件)滿足所有規(guī)則的條件XCCDF。
fail(紅色字符):目標系統(tǒng)(其特定的組件)不符合某些條件的XCCDF規(guī)則。
除了“fail”和“pass”兩個最常見的選項,還有幾個選項。
error:沒有能夠完成規(guī)則評估。
notapplicable:規(guī)則并不適用于在此系統(tǒng)上進行測試(可以理解為掃描規(guī)則不匹配的)。
unknown:未知錯誤。
本文從整體上介紹了什么是SCAP,SCAP的組成元素,SCAP元素之間的關系和SCAP相關的開源工具,以及如何利用SCAP和開源工具對系統(tǒng)進行配置合規(guī)性掃描。可以看到使用SCAP能夠非常方便地對系統(tǒng)配置合規(guī)性進行自動化評估。