安全 · 2022年7月14日 0

开源安全扫描工具OpenSCAP介绍

一、OpenSCAP介绍

OpenSCAP是一个开源框架,主要集成了安全内容自动化协议(Security Content Automation Protocol,SCAP),它的目标是为使用SCAP提供一个简单易于使用的接口。安全内容自动化协议(SCAP:Security Content Automation Protocol),发音为“S-Cap”,结合了一系列用来枚举软件缺陷和安全配置问题的开放性标准。它们衡量系统,以寻找脆弱性(Vulnerabilities),并提供方法评定这些调查结果,以评估可能产生的影响。它基本上是一种用开放性标准实现自动化脆弱性管理、衡量和策略符合性评估的方法。

1.1 OpenSCAP工具集

OpenSCAP由工具集(oscap)及基线库(SSG)组成,其中工具集包括如下:
◆ OpenSCAP Base 命令行工具,本地扫描(1.2.3 开始有支持 ssh 的远程扫描),适合做一次性的服务。
◆ OpenSCAP Daemon 守护进程工具,功能同 OpenSCAP Base,适合做持续的合规服务。
◆ SCAP Workbench 图形界面,功能同 SCAP Base,适合入门,可视化操作

(1)列出当前可用的基线库

# ssg 的xml默认保存目
[root@ansible ~]# ll /usr/share/xml/scap/ssg/content/
total 186356
-rw-r--r-- 1 root root      591 Apr 28 21:40 ssg-firefox-cpe-dictionary.xml
-rw-r--r-- 1 root root     3885 Apr 28 21:40 ssg-firefox-cpe-oval.xml
-rw-r--r-- 1 root root   281902 Apr 28 21:40 ssg-firefox-ds-1.2.xml
-rw-r--r-- 1 root root   281902 Apr 28 21:40 ssg-firefox-ds.xml
-rw-r--r-- 1 root root    39209 Apr 28 21:40 ssg-firefox-ocil.xml
-rw-r--r-- 1 root root    53469 Apr 28 21:40 ssg-firefox-oval.xml
-rw-r--r-- 1 root root   181362 Apr 28 21:40 ssg-firefox-xccdf.xml
-rw-r--r-- 1 root root     1231 Apr 28 21:40 ssg-jre-cpe-dictionary.xml
-rw-r--r-- 1 root root     5862 Apr 28 21:40 ssg-jre-cpe-oval.xml
-rw-r--r-- 1 root root   265493 Apr 28 21:40 ssg-jre-ds-1.2.xml
-rw-r--r-- 1 root root   265493 Apr 28 21:40 ssg-jre-ds.xml
-rw-r--r-- 1 root root    34727 Apr 28 21:40 ssg-jre-ocil.xml
-rw-r--r-- 1 root root    42031 Apr 28 21:40 ssg-jre-oval.xml
-rw-r--r-- 1 root root   181066 Apr 28 21:40 ssg-jre-xccdf.xml
-rw-r--r-- 1 root root     6768 Apr 28 21:42 ssg-rhel6-cpe-dictionary.xml
-rw-r--r-- 1 root root    93922 Apr 28 21:42 ssg-rhel6-cpe-oval.xml
-rw-r--r-- 1 root root 22934702 Apr 28 21:42 ssg-rhel6-ds-1.2.xml
-rw-r--r-- 1 root root 22935173 Apr 28 21:42 ssg-rhel6-ds.xml
-rw-r--r-- 1 root root   733916 Apr 28 21:42 ssg-rhel6-ocil.xml
-rw-r--r-- 1 root root  2335663 Apr 28 21:42 ssg-rhel6-oval.xml
-rw-r--r-- 1 root root  7439626 Apr 28 21:42 ssg-rhel6-xccdf.xml
-rw-r--r-- 1 root root     8141 Apr 28 21:41 ssg-rhel7-cpe-dictionary.xml
-rw-r--r-- 1 root root    88026 Apr 28 21:41 ssg-rhel7-cpe-oval.xml
-rw-r--r-- 1 root root 33611514 Apr 28 21:42 ssg-rhel7-ds-1.2.xml
-rw-r--r-- 1 root root 33611985 Apr 28 21:42 ssg-rhel7-ds.xml
-rw-r--r-- 1 root root  1443951 Apr 28 21:41 ssg-rhel7-ocil.xml
-rw-r--r-- 1 root root  3766071 Apr 28 21:41 ssg-rhel7-oval.xml
-rw-r--r-- 1 root root 10423795 Apr 28 21:41 ssg-rhel7-xccdf.xml
-rw-r--r-- 1 root root     6427 Apr 28 21:41 ssg-rhel8-cpe-dictionary.xml
-rw-r--r-- 1 root root    88026 Apr 28 21:41 ssg-rhel8-cpe-oval.xml
-rw-r--r-- 1 root root 16966331 Apr 28 21:41 ssg-rhel8-ds-1.2.xml
-rw-r--r-- 1 root root 16966657 Apr 28 21:41 ssg-rhel8-ds.xml
-rw-r--r-- 1 root root  1514690 Apr 28 21:41 ssg-rhel8-ocil.xml
-rw-r--r-- 1 root root  3863524 Apr 28 21:41 ssg-rhel8-oval.xml
-rw-r--r-- 1 root root 10279369 Apr 28 21:41 ssg-rhel8-xccdf.xml

(2)关于基线库介绍

不同的基线检查项目数量和结果判断标准不同
ubuntu 系统基线库目录位置:ll /usr/share/scap-security-guide/ 

参数介绍:
--profile      指定基线 Id,
--results-arf  指定生成的 arf 报告文件名,
--report       指定生成的 html 报告文件名

(3)为什么要使用 OpenSCAP 来做基线核查?

◆ 检查项(CCE),检查方式(OVAL)和基线标准化(PCI,STIG 等),都是 NIST 和 MITRE 维护的美国政府或者行业标准
◆ 容易扩展,二次开发制作自定义的基线可用的高质量资源较多
◆ 产品专业性强,本身完成度和质量也比较高
◆ 支持多种运行方式(bash/ansible/openscap)
◆ 支持自动修复/缓解

基线库一般是一个`xccdf`的 xml,简单讲就是一个清单配置文件,定义包含哪些检查项,以及如何产生报告的,而另外一个重要文件的就是`oval`或者`ocil`的 xml,定义了每个检查项目如何实现的,比如 CIS 有一个非常全的`oval`免费https://oval.cisecurity.org/repository/download,可以自行组装出`xccdf`基线来。

推荐资源库:https://nvd.nist.gov/ncp/repository   https://oval.cisecurity.org/repository/download

1.2 支持的安全扫描类型

◆ 通用漏洞披露 (CVE)
◆ 通用配置评估 (CCE)
◆ 通用平台评估 (CPE)
◆ 通用漏洞评分系统 (CVSS)
◆ 通用弱点枚举 (CWE)
◆ The Script Check Engine (SCE)

二、OpenSCAP安装部署

2.1 yum安装OpenSCAP

下载地址:https://www.open-scap.org/download/

开源安全扫描工具OpenSCAP介绍(图1)
[root@ansible ~]# yum install scap-security-guide

oscap 工具使用的安全策略可以由OVAL文件或XCCDF文件编写,扫描结果可以打印为两种,标准输出和 XML 文件,结果文件可以经由 oscap 做进一步处理以便生成可读的报告。

2.2 扫描测试与报告输出

(1)使用SSG OVAL 定义扫描系统

[root@ansible ~]# oscap oval eval --results scan-oval-results.xml /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml

【注】扫描结果将会以 scan-oval-results.xml 文件的方式保存在当前目录中

(2)使用 SSG XCCDF 基准扫描系统

[root@ansible ~]# oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_rht-ccp --results scan-xccdf-results.xml scan-xccdf-results.xml /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml

(3)将 SSG 扫描结果转换为报告

[root@ansible ~]# oscap oval generate report scan-oval-results.xml > ssg-scan-oval-report.html
[root@ansible ~]# oscap xccdf generate report scan-xccdf-results.xml > scan-xccdf-report.html

(4)报告展示

开源安全扫描工具OpenSCAP介绍(图2)

ubuntu官网提供用法:https://ubuntu.com/security/oval