STIGS,SCAP,OVAL,Oracle数据库和ERP安全

上周前所未有的勒索软件网络攻击(http://preview.tinyurl.com/lhjfjgk)让我完成了有关安全自动化的一些研究。网络攻击显然归因于未修补的Windows XP漏洞。当面临保护组织中的所有Windows台式机和Linux服务器之类的数千个资产的挑战时,自动化很快就成为必需。

关于如何保护支持大型ERP实施(例如Oracle电子商务套件 ,PeopleSoft和SAP)的技术“堆栈”的客户对话中,越来越多地出现自动化。例如,从安全专家的角度,您如何传达针对Linux操作系统,虚拟化软件,Web的安全基准配置(控制遵守/违反)和安全补丁程序级别(补丁程序/未修补的CVE)的客观风险评估?服务器,数据库和ERP应用程序本身?如果没有自动化,就无法迅速对整个技术体系进行基于风险的评估,并且难以在不需要深厚主题知识的通用风险度量(例如CVE)中产生易于表达的结果。

但是,只有在定义了需求之后才能考虑自动化。在研究和与客户合作定义安全要求方面,我长期使用《安全技术实施指南》(STIG)。 STIG是由美国国防部针对Oracle RDBMS等产品开发的安全配置标准,可以免费获得(http://iase.disa.mil/stigs/Pages/index.aspx)。尽管大多数客户不需要将其数据库加固为军事规格,但STIG是安全最佳实践思想的宝贵来源。

STIG(安全检查表)仅以xml格式提供,而没有PDF文件。 DISA确实提供了查看和使用STIG的实用程序(http://iase.disa.mil/stigs/Pages/stig-viewing-guidance.aspx),您可以手动执行检查表,记录您的发现,然后导出结果。看到这个YouTube(//www.youtube.com/watch?v=-h_lj5sWo4A)发布有关STIG Viewer及其使用方法的摘要。

安全内容自动化协议(SCAP)

为了回答如何使STIG和/或安全检查表自动化的问题,国防部再次考虑了挑战并创建了安全内容自动化协议(SCAP)。

CAP 是一个多功能框架,用于自动进行配置,漏洞,补丁检查和合规性的安全扫描。 CAP 内容由美国国家标准技术研究院(NIST)开发,其组件在下表中进行了描述。关键是SCAP安全内容(清单)是免费的,并且SCAP内容扫描工具在开源和商业选项中均可用。

CAP 组件

描述
可扩展清单配置描述格式(XCCDF) 基于XML的语言,用于指定清单和报告清单评估的结果。
开放式漏洞和评估语言(OVAL) 基于XML的语言,用于指定测试程序以检测机器状态
常见漏洞和披露(CVE) 与安全相关的安全缺陷的术语和词典
通用配置枚举(CCE) 软件安全性配置问题的术语和词典
通用漏洞评分系统(CVSS) 衡量软件缺陷相对安全性的方法
打开清单交互式语言(OCIL) 基于XML的语言,用于指定需要人工交互或否则OVAL无法捆绑的安全检查
资产报告格式(ARF) 标准化的数据模型,用于共享有关资产的信息,以便于资产安全信息的报告,关联和融合。

 

OpenSCAP

有很多工具,包括Integrigy的AppSentry(//www.katsenatps.com/products/appsentry),这将对Oracle数据库执行STIG扫描。我本周正在研究的问题是,我是否可以使用一个SCAP工具来自动扫描Linux服务器和数据库,以及是否可能为PeopleSoft和/或Oracle电子商务套件 进行ERP配置–我可以吗?与开源软件一起使用吗?

我考虑的第一个工具是OpenSCAP(//www.open-scap.org/)。这个开源工具很容易在笔记本电脑或Linux数据库服务器上安装,并具有远程扫描功能。下例显示了GUI工具“ CAP Workbench”的功能以及默认情况下安装的免费内容,用于扫描Linux服务器。

这项练习很快确认了Linux系统安全配置有很多安全自动化可用。但是,这就是我碰壁的地方:OpenSCAP是否可以与Oracle数据库一起使用?尽管SCAP标准明确表明支持使用OVAL的SQL探针(例如sql_test,sql57_test等)来扫描SQL数据库配置,但我可能已得到纠正,但OpenSCAP的标准构建似乎并未包括SQL探针。

 

约瓦尔

为了获得用于数据库配置的SCAP扫描的SQL探针,经过一些研究,我获得了Joval Professional(http://jovalcm.com/)。 Joval形容自己允许您 从任何地方扫描任何东西 并允许对开发人员,企业,内容作者和安全专业人员进行连续的配置评估。

Joval Professional的安装速度很快,我能够扫描笔记本电脑并远程扫描远程Oracle Linux服务器,而不会出现问题。下面的屏幕快照显示了对运行Oracle RDBMS的Linux服务器进行远程扫描的结果。

通过一些试验(以及来自Joval的出色的客户服务),我能够快速证明我可以开发OVAL内容来对Oracle数据库进行自动SCAP扫描,从而进行标准数据库安全检查或Oracle E-Business和/或PeopleSoft配置。概念验证的一个关键问题是连接字符串对用户名和密码进行硬编码。硬编码当然是安全问题,但是JOVAL(以及OpenSCAP)提供python绑定。下面的屏幕快照是单个OVAL扫描,其中包括两个SQL检查以及使用OVAL探针对sqlnet.ora文件中的内容进行的检查: textfilecontent54_test。 

我的OVAL定义在下面引用。我将其作为其他示例。您将知道的关键点是Oracle的JOVAL连接字符串:

Engine:  oracle
Version values: 11.2.0, 11.1.0, 10.2.0, 10.1.0, 9.2.0, 9.0.1
Connection string (do not use JDBC syntax): user=<username>;password=<password>;SID=<instance name>

如果要复制概念验证:

  1. 下载Joval Professional的试用版。
  2. 扫描本地笔记本电脑
  3. 对运行Oracle RDBMS的Linux服务器运行远程扫描
  4. 编辑数据库的样本基准文件(此处)
  5. 将编辑的样本基准测试上载到Joval
  6. 运行示例基准扫描

接下来是什么?

证明我可以使用OVAL编写Oracle和ERP审计检查之后,我将花费更多时间来扩展POC。我也对使用资产报告格式(ARF)将Joval和OpenSCAP导出到NoSQL数据库(例如MongoDB)的自动化选项感兴趣 (//scap.nist.gov/specifications/arf/). Joval和OpenScap都具有使用ARF导出结果的标准功能。

如有任何疑问,请通过以下方式与我们联系  [email protected]

-Michael Miller,CISSP-ISSMP,CCSP,CCSK

参考文献

示例Oracle 椭圆 基准定义:  椭圆形 示例检查Oracle

CAP

NIST CAP 网站: //scap.nist.gov/

CAP 内容: //nvd.nist.gov/ncp/repository?scap

Oracle Linux安全指南–使用OpenSCAP: //docs.oracle.com/cd/E37670_01/E36387/html/ol-scap-sec.html

CAP 的摘要: //energy.gov/sites/prod/files/cioprod/documents/Technical_Introduction_to_SCAP_-_Charles_Schmidt.pdf

椭圆

编写OVAL内容 //oval.mitre.org/documents/docs-07/Writing_an_OVAL_Definition.pdf

椭圆形教程  //nvd.nist.gov/scap/docs/conference%20presentations/workshops/OVAL%20Tutorial%202%20-%20%20Definitions.pdf

 
 
 
 
 
 

 Share this post