目录
1 概述
1.1 OpenSCAP 简介
OpenSCAP 是一个获得`SCAP`认证的、免费开源的工具,目前由Redhat 进行维护,主要功能是为Linux操作系统提供安全合规检查和漏洞评估。
其中,安全合规是指,系统要能在不断变化的计算机安全领域里,始终符合特定安全策略。并且对于不断变化的安全策略进行评估、检测和调整,以满足新的合规需求。漏洞评估是指,系统具有识别和分类风险漏洞的能力。
SCAP是一种协议,其全称为“Security Content Automation Protocol:安全内容自动化协议”,是由NIST(National Institute of Standards and Technology:美国国家标准与技术研究院)提出。
NIST期望利用SCAP解决三个棘手的问题:一是实现高层政策法规(如FISMA,ISO27000系列)等到底层实施的落地,二是将信息安全所涉及的各个要素标准化(如统一漏洞的命名及严重性度量),三是将复杂的系统配置核查工作自动化。SCAP是当前美国比较成熟的一套信息安全评估标准体系,其标准化、自动化的思想对信息安全行业产生了深远的影响。
OpenSCAP官网:Home | OpenSCAP portal
OpenSCAP 用户手册:OpenSCAP User Manual
1.2 Keyarch 简介
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接浪潮信息KOS服务器操作系统-服务器操作系统-浪潮信息。浪潮信息云峦服务器操作系统KeyarchOS_KOS服务器操作系统-浪潮信息
2 安装准备
2.1 操作系统环境
版本信息:KeyarchOS 5.8sp1
硬件平台:X86_64
2.2 OpenSCAP版本
openscap-1.3.6-4
3 安装OpenSCAP
3.1 通过yum安装
#安装openscap-scanner
yum install -y openscap-scanner
#安装SCAP Security Guide (SSG)
yum install -y scap-security-guide
【注】SSG: SCAP安全指南(SCAP Security Guide,SSG)。使用OpenSCAP执行合规检查或漏洞评估任务时,需要指定SCAP格式的安全策略,因此,SSG文件也被称为SCAP内容。
3.2 验证安装
#查看OpenSCAP版本
oscap --version
(上图为不完整截图)
#查看SSG文件,默认路径在/usr/share/xml/scap/ssg/content/
ls -lh /usr/share/xml/scap/ssg/content/
可以看到,SSG包中包含了多个SSG安全策略xml文件。
4 OpenSCAP基本使用
4.1 SCAP内容介绍
由上文我们已经知道,SSG是由SCAP官方提供的SCAP内容,它是按照SCAP协议的约定,利用一些公开标准,描述生成的应用于实际检查工作的数据。例如,FDCC(Federal Desktop CoreConfiguration:联邦桌面核心配置)、USGCB(United States Government ConfigurationBaseline:美国政府配置基线)等官方的检查单数据格式均为SCAP Content。
SCAP版本1.0包含以下六个SCAP元素:XCCDF、OVAL、CVE、CCE、CPE、CVSS。这些标准在SCAP产生之前都已经存在,并在各自的领域发挥着重要作用。其中一些标准我们可能之前有所了解,如CVE、CVSS。当SCAP将它们整合后,其整体标准化的优势变得十分明显。SCAP为安全工具实现标准化提供了解决方案:标准的输入数据格式、标准的处理方法和标准的输出数据格式,这非常有利于安全工具之间实现数据交换。
具体描述见下表:
SCAP组件名称 | 描述 |
通用配置列举(CCE: Common Configuration Enumeration) | 定义了与安全相关的系统配置项标准 |
通用平台列举(CPE: Common Platform Enumeration) | 定义了平台及版本的标准 |
通用脆弱性与漏洞列举(CVE: Common Vulnerabilities and Exposures) | 定义了与软件缺陷相关的标准 |
通用脆弱性评分系统(CVSS: Common Vulnerability Scoring System) | 定义了脆弱性对系统影响的评分 |
可扩展配置检查列表描述格式(XCCDF: Extensible Configuration Checklist Description Format) | 定义了检查列表与检查报告的XML描述格式 |
开放脆弱性评估描述格式(OVAL: Open Vulnerability and Assessment Language) | 定义了用于检查列表的测试过程 |
可以通过命令查看SCAP内容的信息,如下图所示:
oscap info /usr/share/xml/scap/ssg/content/ssg-anolis8-xccdf.xml
其中,字段的具体含义为:
(以下为代码块:发布时删掉此句)
- Document type: 文档类型
- Imported: 文档导入时间
- Stream: 数据流ID
- Version: SCAP标准的版本
- Checklists: 可用检查的列表
- Status: XCCDF基准状态。常用的值包括“accepted已接受”、“draft草案”、“deprecated已弃用”和“incomplete不完整”
- Profiles: 可用的配置文件
- Checks: 数据流中的OVAL检查组件
- Dictionaries: 数据流中的CPE字典组件
注意,请稍加留意上图中被框起来的Id字段(Profiles.Title.Id),后面会用到。
同样的,可以根据这个Id,查看对应的Profile信息。
命令格式为:
oscap info --profile [profile.title.id] [xml文件名]
如下图所示。
4.2 SCAP合规检查
可以使用不同的SCAP内容,以指定相应的标准,来进行SCAP合规检查,最终产出检查报告。
在进行检查之前,建议新建一个专门的目录,用于保存检查报告文件。
mkdir /root/oscap
进行合规检查命令格式如下:
oscap xccdf eval --profile [profile.title.id] --results [result xml 文件] --report [report html 文件] [SCAP内容xml文件]
例如,使用ssg-anolis8-ds.xml的pci-dss基线标准进行合规检查,命令如下:
oscap xccdf eval \
> --profile xccdf_org.ssgproject.content_profile_standard \
> --results /root/oscap/results.xml \
> --report /root/oscap/report.html \
> ssg-anolis8-ds.xml
执行完毕后,查看预设目录,发现报告已经生成:
打开OS图形界面,可以看到具体的报告内容。
4.3 SCAP漏洞评估
与合规检查类似,漏洞评估也可以指定SSG内容文件。指令如下:
oscap oval eval \
> --results /root/oscap/results2.xml \
> --report /root/oscap/report2.html \
> ssg-anolis8-ds.xml
查看预留目录,发现评估报告已经生成:
4.4 SCAP其他功能
除以上两个基本功能外,SCAP还提供了诸如远程主机扫描,容器、镜像和虚拟机扫描,以及简单的修复功能,这里不再展开赘述。感兴趣可以一步OpenSCAP官方网站和用户手册。