Katello:使用OpenSCAP进行安全合规性管理

时间:2020-03-21 11:45:55  来源:igfitidea点击:

我们将配置OpenSCAP插件,以接收来自Foreman主机的自动化漏洞评估和安全合规性审核。

本文是KVM,Katelo和Puppet系列测试环境项目的一部分。

测试环境

我们在CentOS 7服务器上安装了Katello:

katello.igi.local(10.11.1.4)

OpenSCAP

通过安全内容自动化协议(SCAP),可以定义配置和安全策略,还可以通过审计手段来检查是否符合这些策略。
在Foreman中,使用OpenSCAP项目提供的工具来实现SCAP。

OpenSCAP插件使Foreman可以从Foreman主机接收自动漏洞评估和安全合规性审核。
我们可以上传SCAP合规性内容,从中创建合规性策略,然后将策略分配给主机或者主机组。

安装

可以在Foreman上找到详细的安装说明。
有关网络链接,请参见参考。

我们需要安装以下内容:

  • 工头OpenSCAP(foreman_openscap)。
  • 智能代理OpenSCAP(smart_proxy_openscap)。
  • foreman_scap_client。
  • puppet-foreman_scap_client。

安装foreman_openscap

# foreman-installer --enable-foreman-plugin-openscap

安装smart_proxy_openscap

# foreman-installer --enable-foreman-proxy-plugin-openscap

如果需要,可以使用自定义设置修改'/etc/foreman-proxy/settings.d/openscap.yml'。

在代理上安装smart_proxy_openscap之后,刷新代理的功能,以便它将在Foreman上向OpenSCAP功能注册。

安装Puppet模块puppet-foreman_scap_client

这个p模块将自动安装foreman_scap_client并使用foreman_scap_client操作所需的所有参数来配置客户端。

# puppet module install theforeman-foreman_scap_client --environment homelab
Notice: Preparing to install into /etc/puppetlabs/code/environments/homelab/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Notice: Installing -- do not interrupt ...
/etc/puppetlabs/code/environments/homelab/modules
└─┬ theforeman-foreman_scap_client (v0.3.18)
  └── puppetlabs-stdlib (v4.24.0)

安装模块后,通过Katello WebUI导入新的Puppet类:

'配置>Puppet类>从katello.igi.local导入环境'

设置工头插件存储库

从Foreman 1.14附带的puppet-foreman_scap_client 0.3.14开始,如果我们至少定义了Foreman的主要发行版本,则可以设置Foreman插件yum repo。
需要此存储库来安装foreman_scap_client,否则将失败。

请注意,程序包未签名。

创建一个新的存储库并对其进行同步:

# hammer repository create \
  --product "el7_repos" \
  --name "foreman-plugins-117" \
  --label "foreman-plugins-117" \
  --content-type "yum" \
  --download-policy "on_demand" \
  --url "https://yum.theforeman.org/plugins/1.17/el7/x86_64/"
# hammer repository synchronize \
  --name "foreman-plugins-117" \
  --product "el7_repos"

将新的存储库添加到内容视图:

# hammer content-view add-repository \
  --name "el7_content" \
  --product "el7_repos" \
  --repository "foreman-plugins-117"

发布内容视图的新版本,其中包括Foreman插件存储库:

# hammer content-view publish \
  --name "el7_content" \
  --description "Publishing foreman plugins 1.17"

让我们看到我们要升级的版本号:

# hammer content-view version list

将内容视图版本升级到我们的“稳定”生命周期环境:

# hammer content-view version promote \
  --content-view "el7_content" \
  --version "11.0" \
  --to-lifecycle-environment "stable" \
  --description "Publishing foreman plugins 1.17"

此时,新的存储库应可供客户端使用。

用法

创建默认的SCAP内容

以下内容将搜索scap-security-guide SCAP内容,并在Foreman上创建SCAP内容。

# foreman-rake foreman_openscap:bulk_upload:default
Saved /usr/share/xml/scap/ssg/content/ssg-centos6-ds.xml as Red Hat centos6 default content
Saved /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml as Red Hat centos7 default content
Saved /usr/share/xml/scap/ssg/content/ssg-firefox-ds.xml as Red Hat firefox default content
Saved /usr/share/xml/scap/ssg/content/ssg-jre-ds.xml as Red Hat jre default content
Saved /usr/share/xml/scap/ssg/content/ssg-rhel6-ds.xml as Red Hat rhel6 default content
Saved /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml as Red Hat rhel7 default content

创建策略向导

打开Katello WebUI并导航到以下位置:

“主机>合规性>策略>新合规性策略”

创建一个新策略并提供以下详细信息:

  • 策略名称(例如homelab)。
  • 选择要应用的SCAP内容和SCAP配置文件(例如STIG)。
  • 选择执行此政策的时间安排(例如,每周的星期日)。
  • 选择该政策所属的位置/组织(例如theitroad/HomeLab)。
  • 选择我们希望将此策略应用于哪些主机组(例如,el7_group)。

结果应如下所示:

这会将策略分配给指定的主机组。
属于该主机组的所有主机都将自动分配给该策略,并且将包括Puppet类。

打开Katello WebUI,编辑主机组并指定OpenSCAP代理:

确保分配给主机组的所有主机都分配有OpenSCAP代理。

主机将在下一次运行Puppet代理时自动安装并配置foreman_scap_client。
将创建一个cron文件'/etc/cron.d/foreman_scap_client_cron',该文件将根据创建策略时选择的计划运行。

如何手动运行foreman_scap_client

在要运行客户端的主机上检查cron文件的内容(我们使用db1.igi.local):

[db1]# cat /etc/cron.d/foreman_scap_client_cron
# DO NOT EDIT THIS FILE MANUALLY
# IT IS MANAGED BY PUPPET
# foreman_scap_client cron job
# Runs foreman_scap_client 1
0 1 * * 0 root /usr/bin/foreman_scap_client 1 > /dev/null

复制文件中的行并运行:

[db1]# /usr/bin/foreman_scap_client 1
[...]
Uploading results to https://katello.igi.local:9090/compliance/arf/1

可以在此处找到报告:“主机>合规性>报告”

SCAP工作台和Tailoring文件

默认的SCAP策略可能无法满足需求,因此可以对其进行编辑。
SCAP Workbench是一种图形实用程序,提供了一种简便的方法。

Workbench允许我们轻松修改XCCDF配置文件,而无需更改相应的XCCDF文件。
该工具提供了启用或者禁用XCCDF元素的图形方式。
我们所做的更改可以存储为XCCDF定制文件。