评估和监控 RHEL 系统的安全策略合规性

Red Hat Insights 1-latest

了解 Red Hat Enterprise Linux 基础架构的安全合规状态

Red Hat Customer Content Services

摘要

评估并跟踪 RHEL 环境的安全策略合规性状态,以确定合规级别并规划解决合规性问题的方法。
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 信息

第 1 章 Red Hat Insights 合规服务概述

Red Hat Insights for Red Hat Enterprise Linux 合规服务使 IT 安全和合规性管理员能够评估、监控和报告 RHEL 系统安全策略合规性。

合规服务提供简单但强大的用户界面,支持创建、配置和管理 SCAP 安全策略。通过内置过滤和上下文添加的功能,IT 安全管理员可轻松识别和管理 RHEL 基础架构中的安全合规问题。

本文档描述了合规性服务的一些功能,以帮助用户了解报告、管理问题并从服务中获取最大值。

您还可以创建 Ansible Playbook 来解决安全合规问题,并与利益相关者共享报告,以传达合规性状态。

1.1. 要求和先决条件

合规服务是 Red Hat Enterprise Linux 的 Red Hat Insights 的一部分,它包括在您的 Red Hat Enterprise Linux (RHEL)订阅中,并可与红帽当前支持的 RHEL 版本一起使用。您不需要额外的红帽订阅来使用 Insights for Red Hat Enterprise Linux 和合规性服务。

1.2. 支持的配置

红帽为每个 Red Hat Enterprise Linux (RHEL)的次版本支持 SCAP 安全指南(SSG)的特定版本。SSG 版本中的规则和策略只对一个 RHEL 次版本有效。要接收准确的合规性报告,系统必须安装有受支持的 SSG 版本。

Red Hat Enterprise Linux 次版本提供并升级支持的 SSG 版本。但是,在升级前,一些机构可能会决定临时继续使用较早的版本。

如果策略包括使用不支持的 SSG 版本的系统,在 Security > Compliance > Reports 中的策略旁边有一个 不受支持的 警告(在受影响的系统的数量前)。

注意

有关 RHEL 中支持哪些 SCAP 安全指南版本的更多信息,请参阅 Insights Compliance - 支持的配置

运行不支持的 SSG 版本的合规策略示例

img compl assess unsupported configuration example

1.2.1. 有关合规服务的常见问题

如何解释 SSG 软件包名称?

软件包名称如下所示: scap-security-guide-0.1.43-13.el7。本例中的 SSG 版本为 0.1.43;发行版是 13,架构是 el7。发行号可能与表中所示的版本号不同;但是,版本号必须匹配,如下所示才能得到支持的配置。

如果红帽为我的 RHEL 次版本支持多个 SSG,该怎么办?

当 RHELminor 版本支持多个 SSG 版本时,如 RHEL 7.9 和 RHEL 8.1 的情况,合规性服务将使用最新的可用版本。

为什么我的旧策略不再受 SSG 支持?

当 RHEL 次版本较老时,支持较少的 SCAP 配置集。要查看支持哪些 SCAP 配置集,请参阅 Insights Compliance - 支持的配置

有关不支持配置的限制的更多信息

以下条件适用于不支持的配置的结果:

  • 这些结果是"尽力"的努力,因为使用除红帽支持的任何 SSG 版本可能会导致结果不准确。

    重要

    虽然您仍可以看到安装了不支持的 SSG 版本的系统的结果,但这些结果可能被视为不准确进行合规报告。

  • 策略的整体合规评估 不包括 使用不支持的 SSG 版本的系统的结果。
  • 对于安装了不支持的 SSG 版本的系统,不提供补救。

1.3. 最佳实践

为了受益于最佳用户体验并获得合规性服务最准确的结果,红帽建议您遵循一些最佳实践。

确保 RHEL OS 系统次版本对 Insights 客户端可见

如果合规服务无法看到您的 RHEL OS 次版本,则无法验证支持的 SCAP 安全指南版本,您的报告可能并不准确。Insights 客户端允许用户从上传到 Red Hat Enterprise Linux for Red Hat Enterprise Linux 的数据有效负载中,从上传到 Red Hat Enterprise Linux 的数据有效负载中,包括 Red Hat Enterprise Linux 等特定数据。这将禁止准确的合规性服务报告。

要了解更多有关数据重定位的信息,请参阅以下文档: Red Hat Insights 客户端数据重做

在合规服务中创建安全策略

在合规服务中创建机构的安全策略,您可以:

  • 将多个系统与策略关联。
  • 将支持的 SCAP 安全指南用于您的 RHEL 次版本。
  • 根据您的机构的要求编辑包含哪些规则。

1.4. 用户访问注意事项

帐户上的机构管理员配置 User Access 中的设置,以控制对 Red Hat Insights for Red Hat Enterprise Linux 功能的访问。您的帐户中的所有用户都可以访问 Insights for Red Hat Enterprise Linux 中的大多数数据。但是,执行一些操作需要用户具有升级访问权限。

Red Hat Hybrid Cloud Console 中的 User Access 中授予访问权限。要授予或更改访问权限,机构管理员或用户访问权限管理员必须把具有 Red Hat Hybrid Cloud Console 中所需角色的 User Access 组添加到 Red Hat Hybrid Cloud Console > the Settings 图标(busybox)> Identity & Access Management > User Access > Users 中。

重要

在本文档中,对流程的先决条件声明是否需要提高访问权限来执行此流程。

与了解用户访问有关的重要预定义组和角色是:

  • 默认访问组
  • 默认 admin 访问组
  • 机构管理员角色

有关某些预定义组和角色的简要概述

以下预定义的组和角色与访问权限相关:

  • 默认访问组。帐户上的所有用户都是 Default access 组的成员。Default access 组的成员具有只读访问权限,供您在 Insights for Red Hat Enterprise Linux 中查看大多数信息。
  • 默认 admin 访问组。作为机构管理员的账户中的所有用户都是这个组的成员。用户不能修改红帽管理的 Default admin access 组中的角色。Default admin access 组的成员具有读写访问权限,允许您查看和执行 Insights for Red Hat Enterprise Linux 中的其他操作。
  • 组织管理员角色.机构管理员的所有用户都可以创建和修改 User Access 组,并授予对其他帐户用户的访问权限。要找出您是否是机构管理员,请在屏幕右上角点 Red Hat Hybrid Cloud Console 标头中的名称,并查看词语"Org"。管理员"在您的用户名下显示。
重要

如果无法访问 您需要的功能,您可以:

  • 联系客户服务 以获取您帐户的机构管理员详情。

    • 在发送请求时提供您的帐户号。
  • 联系机构管理员并要求访问,提供以下信息:

    • 您需要访问权限的角色名称,例如 Remediations 管理员
    • 一个到 完整用户访问文档的链接,以帮助告知机构管理员如何为您提供访问权限。

1.4.1. compliance-service 用户的用户访问角色

以下角色启用对 Insights for Red Hat Enterprise Linux 中的补救功能的标准或增强的访问:

  • 合规查看器.授予对任何合规资源的读取访问权限的 compliance-service 角色。
  • 合规管理员.一个 compliance-service 角色,授予任何合规资源的完整访问权限。如果流程要求您被授予 Compliance 管理员角色或其他增强的权限,则会在该流程 的先决条件 中记录它。

第 2 章 使用合规性服务

本节论述了如何配置 RHEL 系统,将合规数据报告到 Insights for RHEL 应用程序。这会安装必要的其他组件,如 SCAP 安全指南(SSG),后者用于执行合规性扫描。

先决条件

  • Insights 客户端已部署在系统上。
  • 必须具有系统上的 root 权限。

流程

  1. 检查系统中的 RHEL 版本:

    [user@insights]$ ​​cat /etc/redhat-release
  2. 查看 Insights Compliance - 支持的配置 文章,并记录系统中 RHEL 次版本的支持的 SSG 版本。

    注意

    RHEL 的一些次要版本支持多个 SSG 版本。Insights 合规性服务总是显示最新支持的版本的结果。

  3. 检查系统中是否安装了支持的 SSG 软件包版本:

    示例 - 对于 RHEL 8.4 运行:

    [root@insights]# dnf info scap-security-guide-0.1.57-3.el8_4
  4. 如果尚未安装,请在系统上安装受支持的 SSG 版本。

    示例 - 对于 RHEL 8.4 运行:

    [root@insights]# dnf install scap-security-guide-0.1.57-3.el8_4
  5. 在合规性服务 UI 中,Security > Compliance > SCAP policies,将系统添加到策略中。

    1. Create new policy 将系统添加到新的安全策略中。
    2. 或者,选择一个现有策略并点击 Edit policy 向其添加系统。
  6. 将每个系统添加到所需的安全策略后,返回到系统并运行合规性扫描:

    [root@insights]# insights-client --compliance
    注意

    扫描可能需要 1 到 5 分钟才能完成。

  7. 导航到 生成 Compliance Service Reports 以查看结果。
  8. (可选) 使用 cron 调度合规作业

其它资源

要了解 Red Hat Enterprise Linux 次版本支持的 SCAP 安全指南版本,请参阅 Insights Compliance - 支持的配置

第 3 章 在 Insights for RHEL 合规服务中管理 SCAP 安全策略

完全在合规服务 UI 中创建和管理您的 SCAP 安全策略。定义新策略并选择您要与它们关联的规则和系统,并在您的要求更改时编辑现有策略。

重要

与大多数 Red Hat Insights for Red Hat Enterprise Linux 服务不同,合规服务不会自动按默认调度运行。要将 OpenSCAP 数据上传到 Insights for Red Hat Enterprise Linux 应用程序,您必须运行 insights-client --compliance,可以是 on-demand 或您设置的调度作业。

3.1. 创建新的 SCAP 策略

您必须将每个 Insights for Red Hat Enterprise Linux 注册的系统添加到一个或多个安全策略,然后才能执行扫描或在合规服务 UI 中查看该扫描的结果。要创建新策略,并包括特定的系统和规则,请完成以下步骤:

重要

如果您的 RHEL 服务器跨越多个 RHEL 主版本,您必须为每个主版本创建单独的策略。例如,所有 RHEL 7 服务器都将位于一个 适用于 RHEL 策略的标准系统 安全配置文件,所有 RHEL 8 服务器都将位于另一个。

流程

  1. 进入到 Security > Compliance > SCAP Policies 页面。
  2. Create new policy 按钮。
  3. 向导的 Create SCAP 策略 页面中,选择您在策略中包含的系统的 RHEL 主版本

    img compl assess create policy wizard 1

  4. 选择那个 RHEL 主版本可用的策略类型之一,然后点 Next
  5. Details 页面中,接受已提供的名称和描述,或者提供您自己的有意义的条目。
  6. (可选)添加 商业目标 以提供上下文,例如"CISO 强制"。
  7. 根据您的要求定义可接受的 合规阈值,然后点 Next
  8. 选择要包含在 此策略 中的系统,然后单击 Next。在第一步中选择 RHEL 主版本会自动决定可以将哪些系统添加到此策略中。
  9. 选择要包含在每个策略中的规则。因为 RHEL 的每个次要版本都支持使用特定的 SCAP 安全指南(SSG)版本(有时多于一个版本,我们使用最新的),所以每个 RHEL 次版本的规则集稍有不同,必须单独选择。

    img compl assess create policy rules tabs

    1. (可选)使用过滤和搜索功能来优化规则列表。

      例如,若要只显示最高严重性规则,请单击主过滤器下拉菜单并选择 Severity。在第二个过滤器中,选中 HighMedium 框。

      img compl assess create policy filter rules

    2. 默认情况下显示的规则是为该策略类型和 SSG 版本指定的规则。默认情况下,启用过滤器框旁边的 Selected only 切换。如果需要,您可以删除此切换。
    3. 根据需要重复这个过程, 每个 RHEL 次要版本选项卡
    4. 在为每个 Red Hat Enterprise Linux 次版本 SSG 选择规则后,点 Next
  10. Review 页面中,验证显示的信息是否正确,然后点 Finish
  11. 为应用程序指定创建策略的时间,然后点 返回应用程序 按钮查看您的新策略。
注意

在合规服务 UI 中显示结果前,您必须进入系统并运行合规性扫描。

3.2. 编辑合规策略

创建合规策略后,您可以稍后编辑策略以更改策略详情,或者包含哪些规则或系统。

使用以下步骤编辑策略以满足您的机构需求。

用户访问备注

编辑策略中包含的规则和系统要求用户成为具有 Compliance adminstrator 角色的用户访问组的成员。Compliance admistrator 角色包括为 Red Hat Enterprise Linux 用户的所有 Insights 默认未授予的增强权限。

3.2.1. 编辑策略详情

先决条件

  • 登录到 Red Hat Hybrid Cloud 控制台。

流程

  1. 进入到 Security > Compliance > SCAP policies 页面。
  2. 找到您要编辑的策略。
  3. 点策略名称。这将打开策略详情视图。
  4. 在看到铅笔图标时,您可以点击图标来编辑该字段中的详情。可编辑的字段包括

    • 合规阈值
    • 商业目标
    • 策略描述
  5. 编辑字段后,单击字段右侧的蓝色复选标记,以保存您的输入。

3.2.2. 编辑包含的规则

先决条件

  • 登录到 Red Hat Hybrid Cloud 控制台。
  • 您有 Compliance administrator User Access 权限。

流程

  1. 进入到 Security > Compliance > SCAP policies 页面。
  2. 找到您要编辑的策略。
  3. 在策略行的右侧,点 More actions 图标 more actions icon ,然后点 Edit policy
  4. 在 Edit 弹出窗口中,点 Rules 选项卡。
  5. 点 RHEL 次版本。

    重要

    因为每个 RHEL 次要版本都有不同的 SCAP Style Guide (SSG)版本,所以您必须为每个 RHEL 次版本单独编辑规则。

  6. 使用 Name 过滤器和搜索功能找到要删除的规则。

    注意

    选择 Name primary 过滤器后,您可以根据规则名称或其标识符进行搜索。

  7. 取消选中您要删除的任何规则旁边的框。

    ,选中您要添加的任何规则旁边的框。

  8. 为每个 RHEL 次版本标签页重复这些步骤。
  9. 点击 Save

验证

  1. 进入到 Security > Compliance > SCAP policies 页面,找到编辑的策略。
  2. 点策略,验证包含的规则是否与您编辑一致。

3.2.3. 编辑包含的系统

  1. 进入到 Security > Compliance > SCAP policies 页面。
  2. 找到您要编辑的策略。
  3. 在策略行的右侧,点 More actions 图标 more actions icon ,然后点 Edit policy
  4. 在 Edit 弹出窗口中,点 Systems 选项卡。

    此时会显示所有可用系统的列表。

    已包含在策略中的系统在系统名称左侧的框中有一个复选框。

    此策略中不包含系统名称旁边没有勾选的系统。

  5. 按名称搜索系统。要在策略中包含该系统,请选中系统名称旁边的框。

    ,要从策略中删除系统,请取消选中系统名称旁边的框。

  6. Save 保存您的更改。

验证

  1. 进入到 Security > Compliance > SCAP policies 页面,找到编辑的策略。
  2. 点策略,并验证包含的系统是否与您编辑一致。

3.3. 查看策略规则

Insights Compliance 在分类组中显示规则,以便类似的规则被接近。您可以查看根据类别或分类分组的规则,以了解策略要进行的合规性检查。嵌套组结构(或树视图)是默认视图。tree 视图提供了额外的上下文信息,允许您查看规则类别,以及策略的多个规则。tree 视图还允许您查看具有可编辑值的规则(有关可编辑规则值的更多信息,请参阅"编辑策略规则值")。

您可以在树视图或经典视图中查看规则。在典型的视图中,规则会出现在线性列表中。

highlight view options

您可以通过切换 View 策略规则 下的两个按钮,从树视图切换到经典视图。

要查看以树视图格式列出的规则,请点树视图图标( tree view )。

突出显示树视图,并列出树视图中的规则

要查看经典视图格式中列出的规则,请点经典视图图标( classic view )。

突出显示经典视图,并列出经典视图中的规则
注意
  • 当您使用过滤器功能搜索特定规则时,视图会自动切换到经典视图。
  • 在扩展规则以显示其他信息后,它将保留在扩展视图中,即使您切换到不同的视图。

您可以在以下情况时切换视图:

3.4. 编辑策略规则的值

组织有时需要根据安全要求为其法规合规性策略进行一定程度自定义。一个级别的自定义是添加或删除不适用于您的机构需求的规则。您可以通过编辑策略中的规则值,在合规服务中自定义 SCAP 策略。编辑特定值提供了更精细的控制,允许准确跟踪来满足机构安全需求。通过编辑策略以满足您的特定需求,您可以创建一个与您的安全状况相关的合规框架。

了解规则值

对于给定的 SCAP 安全指南(SSG)版本,一个规则可能会多次显示,因此同一 SSG 版本中的多个规则可以使用相同的值。在这种情况下,当您更新 SSG 版本中给定策略的规则值时,这不会更新其他策略中的规则。它只会为您要更新的当前策略和 SSG 版本更新规则。

另外,规则也可以和另一个 RHEL 次要版本不同。例如,如果您有 RHEL 8.5 和 RHEL 8.7,更改 RHEL 8.5 规则的规则值不会自动编辑 RHEL 8.7 中的值。您必须根据需要为每个列出的 RHEL 版本单独更改值。您还会在另一个版本中找到规则不相同。

使用以下步骤编辑规则的值。

先决条件

流程

  1. 导航到 Security > Compliance > SCAP policies
  2. 找到您要编辑的策略。
  3. 点击具有您要编辑的规则的策略。
  4. Rules 选项卡。在 Filter by name 字段中,输入您要编辑的规则的前几个字母。在本例中,输入 ANSSI
  5. 找到您要编辑的规则,然后点击规则旁边的 caret 以展开内容。
  6. 找到展开文本 中的值 字段,然后点击编辑值图标( edit value )来更改值。(如果您没有看到 取决于值,则该值不可编辑。)
  7. 编辑值。要改回到默认值,请点击恢复图标( img compl icon revert )。仔细检查您的编辑,因为编辑的值没有检查或验证输入的值。例如,如果您在预期数字字符的值字段中输入符号,则不会收到错误消息。
  8. 点击保存图标( save )保存新值。您将在屏幕上看到一个提示,指示 Rule 值已更新
  9. (可选)要将编辑的值更改回默认值,请点恢复图标( img compl icon revert )。您将看到警报消息: Rule values reset to default。您可以在编辑进行或保存编辑后恢复默认值。恢复图标的存在表示值与默认值不同。
重要

目前,合规服务不支持具有多个值的 50 个字符或规则的规则值。

注意

您只能为合规服务的 SCAP policies 部分中的规则编辑规则值。您可以在 Security > Compliance > Reports 部分看到您的编辑,但无法在 reporting 部分编辑它们。

第 4 章 分析并分类您的合规性报告

合规服务向服务显示每个注册(和报告数据)的策略和系统的数据。这可以是很多数据,其中大多数可能与您的即时目标无关。

以下小节讨论了优化大量合规服务数据的方法 - in Reports、SCAP 策略和 Systems-​ 以专注于对您最重要的系统或策略。

合规服务允许用户设置系统、规则和策略列表的过滤器。与其他 Insights for Red Hat Enterprise Linux 服务一样,合规服务还启用通过 system-group 标签进行过滤。但是,由于合规性注册的系统使用不同的报告机制,因此必须在合规 UI 视图中直接设置标签过滤器,而不是从 Insights 应用程序其他位置使用的全局过滤器。

重要

要查看系统的准确数据,请在 UI 中查看结果前,始终在每个系统上运行 insights-client --compliance

4.1. 合规性报告

Security > Compliance > Reports 中,使用以下主和二级过滤器来专注于特定或范围报告集:

  • 策略名称。按名称搜索策略。
  • 策略类型。从为基础架构在合规服务中配置的策略类型中选择。
  • 操作系统。选择一个或多个 RHEL OS 主版本。
  • 系统符合合规性.显示包含系统的百分比(范围)兼容的策略。

4.2. SCAP 策略

Security > Compliance > SCAP policies 中,使用 Filter by name 搜索框来按名称定位特定的策略。然后点击策略名称来查看策略卡,其中包括以下信息:

  • 详情。查看合规性阈值、目标、操作系统和 SSG 版本等详情。
  • 规则。根据名称、严重性和可用的修复,查看并过滤策略的特定 SSG 版本中包含的规则。然后,根据规则名称、严重性或 Ansible Playbook 支持对结果进行排序。
  • 系统。搜索系统名称以查找与策略关联的特定系统,然后点系统名称查看该系统以及可能影响它的问题的更多信息。

4.3. 系统

Security > Compliance > Systems 上的默认功能是按系统名称搜索。

  • 标签.按系统组群或标签名称搜索。
  • 名称。按系统名称搜索。
  • 策略。按照策略名称搜索并查看该策略中包含的系统。
  • 操作系统。由 RHEL OS 主版本搜索,只查看 RHEL 7 或 RHEL 8 系统。

4.4. 搜索

合规服务中的搜索功能可在您正在查看的页面上下文中工作。

  • SCAP 策略.按名称搜索特定策略。
  • 系统。按照系统名称、策略或 Red Hat Enterprise Linux 操作系统主版本搜索。
  • 规则列表(单系统)。规则列表搜索功能允许您按规则名称或标识符进行搜索。标识符直接显示在规则名称下。

第 5 章 系统标签和组

Red Hat Insights for Red Hat Enterprise Linux 使管理员能够使用组标签过滤清单中的系统组以及单个服务中的系统组。组通过到 Insights for Red Hat Enterprise Linux 的系统数据识别的方法。Insights for Red Hat Enterprise Linux 支持根据运行 SAP 工作负载、Satellite 主机组、Microsoft SQL Server 工作负载以及具有 root 访问权限的自定义标签来过滤系统组。

注意

从 Spring 2022 开始,清单、公告、合规性、漏洞、补丁、偏移和策略根据组和标签进行过滤。其他服务将遵循。

重要

与启用标记的其他服务不同,合规性服务在合规服务 UI 中的系统列表中设置标签。如需更多信息,请参阅 合规性服务 中的以下部分组和 标签过滤器。

使用 global, Filter 结果 框根据 SAP 工作负载、Satellite 主机组、MS SQL Server 工作负载或添加到 Insights 客户端配置文件中的自定义标签过滤。

先决条件

为了使用 Red Hat Insights for Red Hat Enterprise Linux 中的标记功能,必须满足以下先决条件和条件:

  • 每个系统中已安装并注册了 Red Hat Insights 客户端。
  • 您必须具有 root 权限或对应的权限,才能创建自定义标签或更改 /etc/insights-client/tags.yaml 文件。

5.1. 合规服务中的组和标签过滤器

合规服务允许用户将标签和组过滤器应用到系统报告合规性数据,但它们没有使用 Filter by status 下拉菜单设置。与 Insights for Red Hat Enterprise Linux 应用程序中的大多数其他服务不同,合规服务只在以下情况下显示系统的数据:

  • 系统与合规服务安全策略关联。
  • 系统使用 insights-client --compliance 命令报告合规数据。

由于这些条件,compliance-service 用户必须使用位于合规性服务 UI 中的系统列表的主和次要过滤器来设置标签和组过滤器。

在合规服务中标记和组过滤以上系统列表

img compl tag filters context

5.2. SAP 工作负载

由于 Linux 在 2025 年成为 SAP deployments 工作负载的强制操作系统,Red Hat Enterprise Linux 和 Red Hat Insights for Red Hat Enterprise Linux 致力于使 Insights for Red Hat Enterprise Linux 成为 SAP 管理员选择的管理工具。

作为这一持续工作的一部分,Red Hat Enterprise Linux 的 Insights 会自动标记运行 SAP 工作负载和 SAP ID (SID)的系统,而无需管理员进行任何自定义。用户可以使用全局 Filter by tags 下拉菜单在 Insights for Red Hat Enterprise Linux 应用程序中轻松过滤这些工作负载。

5.3. Satellite 主机组

Satellite 主机组在 Satellite 中配置,并由 Insights for Red Hat Enterprise Linux 自动识别。

5.4. Microsoft SQL Server 工作负载

使用全局 Filter by tags 功能,Red Hat Insights for Red Hat Enterprise Linux 用户可以选择运行 Microsoft SQL Server 工作负载的系统组。

2019 年 5 月,Red Hat Insights 团队为在 Red Hat Enterprise Linux (RHEL)上运行的 Microsoft SQL Server 引进了一组新的 Insights for Red Hat Enterprise Linux 建议。这些规则向管理员发出没有遵守 Microsoft 和 Red Hat 记录的建议的操作系统级别配置。

这些规则的一个限制是,它们主要分析操作系统,而不是数据库本身。最新版本的 Insights for Red Hat Enterprise Linux 和 RHEL 8.5 引入了 Microsoft SQL assessment API。SQL 评估 API 提供了一种机制来评估 MS SQL Server 的数据库配置以了解最佳实践。API 提供了一个规则集,其中包含 Microsoft SQL Server 团队推荐的最佳实践规则。虽然此规则集通过新版本改进,但 API 构建旨在提供高度可自定义的可扩展解决方案,让用户能够自行调优默认规则并自行创建。

SQL 评估 API 由 Linux 的 PowerShell 支持(可从 Microsoft 使用),Microsoft 开发了可用于调用 API 的 PowerShell 脚本,并将其结果存储为 JSON 格式的文件。在 RHEL 8.5 中,Insights 客户端现在上传此 JSON 文件,并在 Insights for Red Hat Enterprise Linux UI 中以易于理解的格式显示结果。

有关 Insights for Red Hat Enterprise Linux 中的 SQL Server 评估的更多信息,请参阅 SQL Server 数据库最佳实践现在通过 Red Hat Insights 获得

5.4.1. 设置 SQL Server 评估

要将 Microsoft SQL 评估 API 配置为向 Red Hat Insights 提供信息,数据库管理员需要执行以下步骤。

流程

  1. 在您要评估的数据库中,使用 SQL Authentication 为 SQL Server 创建登录评估。以下 Transact-SQL 创建一个登录。将 <*PASSWORD*& gt; 替换为强密码:

    USE [master]
    GO
    CREATE LOGIN [assessmentLogin] with PASSWORD= N'<*PASSWORD*>’
    ALTER SERVER ROLE [sysadmin] ADD MEMBER [assessmentLogin]
    GO
  2. 按如下所示存储用于登录的凭证,再次将 <*PASSWORD*> 替换为在第 1 步中使用的密码。

    # echo "assessmentLogin" > /var/opt/mssql/secrets/assessment
    # echo "<*PASSWORD*>" >> /var/opt/mssql/secrets/assessment
  3. 通过确保只有 mssql 用户可以访问凭证来保护评估工具使用的凭证。

    # chmod 0600 /var/opt/mssql/secrets/assessment
    # chown mssql:mssql /var/opt/mssql/secrets/assessment
  4. 从 microsoft-tools 存储库下载 PowerShell。这与您在安装 mssql-toolsmssqlodbc17 软件包作为 SQL Server 安装的一部分时配置的存储库相同。

    # yum -y  install powershell
  5. 为 PowerShell 安装 SQLServer 模块。此模块包括评估 API。

    # su mssql -c "/usr/bin/pwsh -Command Install-Module SqlServer"
  6. 从 Microsoft 示例 GitHub 存储库下载 runassessment 脚本。确保它归 mssql 所有并由其执行。

    # /bin/curl -LJ0 -o /opt/mssql/bin/runassessment.ps1 https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/manage/sql-assessment-api/RHEL/runassessment.ps1
    # chown mssql:mssql /opt/mssql/bin/runassessment.ps1
    # chmod 0700 /opt/mssql/bin/runassessment.ps1
  7. 创建用于存储 Red Hat Insights 使用的日志文件目录。同样,请确保它归 mssql 所有并可执行。

    # mkdir /var/opt/mssql/log/assessments/
    # chown mssql:mssql /var/opt/mssql/log/assessments/
    # chmod 0700 /var/opt/mssql/log/assessments/
  8. 现在,您可以创建第一个评估,但请务必以 mssql 用户身份这样做,以便后续评估可以作为 mssql 用户更加安全地通过 cron 或 systemd 自动运行。

    # su mssql -c "pwsh -File /opt/mssql/bin/runassessment.ps1"
  9. Insights for Red Hat Enterprise Linux 在下次运行时会自动包含评估,或者您可以通过运行以下命令来启动 Insights 客户端:

    # insights-client

5.4.1.1. 在计时器上设置 SQL 评估

由于 SQL Server 评估可能需要 10 分钟或更长时间来完成,所以您可以每天自动运行评估过程,也可能不意义。如果要自动运行它们,Red Hat SQL Server 社区已创建了 systemd 服务和计时器文件,以用于评估工具。

流程

  1. 从红帽公共 SQL Server 社区下载以下文件,以实践 GitHub 站点

    • mssql-runassessment.service
    • mssql-runassessment.timer
  2. /etc/systemd/system/ 目录中安装这两个文件:

    # cp mssql-runassessment.service /etc/systemd/system/
    # cp mssql-runassessment.timer /etc/systemd/system/
    # chmod 644 /etc/systemd/system/
  3. 启用计时器:

    # systemctl enable --now mssql-runassessment.timer

5.5. 自定义系统标记

通过将自定义分组和标记应用到您的系统,您可以将上下文标记添加到各个系统,根据 Insights for Red Hat Enterprise Linux 应用程序中的标签过滤,并更轻松地专注于相关系统。在大规模部署 Insights for Red Hat Enterprise Linux 时,此功能特别有价值,管理有大量数百个或数千个系统。

除了将自定义标签添加到多个 Insights for Red Hat Enterprise Linux 服务外,您还可以添加预定义的标签。顾问服务可以使用这些标签为您的系统创建目标建议,这些系统可能需要更多关注,比如那些需要较高级别的安全性的系统。

注意

要创建自定义和预定义的标签,您必须具有 root 权限或等效的权限,才能添加到或更改 /etc/insights-client/tags.yaml 文件。

5.5.1. 标签结构

标签使用 namespace/key=value 对的结构。

  • namespace。命名空间是 ingestion 点( insights-client )的名称,且无法更改。tags.yaml 文件从命名空间中提取,在上传前由 Insights 客户端注入。
  • 密钥。密钥可以是用户选择的密钥,也可以是系统中的预定义密钥。您可以使用大写、字母、数字、符号和空格的组合。
  • 值。定义您自己的描述性字符串值。您可以使用大写、字母、数字、符号和空格的组合。
注意

顾问服务包括红帽支持的预定义标签。

5.5.2. 创建 tags.yaml 文件并添加自定义组

使用 insights-client --group=<name-you-choose> 创建并为 /etc/insights-client/tags.yaml 添加标签,这会执行以下操作:

  • 创建 etc/insights-client/tags.yaml 文件
  • group= 键和 &lt ;name-you-choose&gt; 值添加到 tags.yaml
  • 将系统的新存档上传到 Insights for Red Hat Enterprise Linux 应用程序,以便立即看到新标签以及最新的结果

创建初始 标签后,通过编辑 /etc/insights-client/tags.yaml 文件根据需要添加额外的标签。

以下流程演示了如何创建 /etc/insights-client/tags.yaml 文件和初始组,然后验证 Insights for Red Hat Enterprise Linux 清单中是否存在该标签。

创建新组的步骤

  1. 以 root 用户身份运行以下命令,在 --group= 后添加自定义组名称:

    [root@server ~]# insights-client --group=<name-you-choose>

tags.yaml 格式示例

以下 tags.yaml 文件示例显示了一个文件格式示例,并为新组添加其他标签:

# tags
---
group: eastern-sap
name: Jane Example
contact: jexample@corporate.com
Zone: eastern time zone
Location:
- gray_rack
- basement
Application: SAP

验证是否已创建自定义组的步骤

  1. 导航到 Red Hat Insights > RHEL > Inventory,并根据需要登录。
  2. 单击 Filter 结果 下拉菜单。
  3. 滚动浏览列表或使用搜索功能来定位标签。
  4. 单击标签以对其进行过滤。
  5. 验证您的系统是否在公告系统列表中的结果。

验证系统是否已标记的步骤

  1. 导航到 Red Hat Insights > RHEL > Inventory,并根据需要登录。
  2. 激活 Name 过滤器并开始输入系统名称,直到您看到您的系统,然后选择它。
  3. 验证系统名称旁边,标签符号为 darkened,并显示代表所应用正确标签数的数字。

5.5.3. 编辑 tags.yaml 以添加或更改标签

创建组过滤器后,根据需要编辑 /etc/insights-client/tags.yaml 的内容,以添加或修改标签。

流程

  1. 使用命令行,打开标签配置文件进行编辑。

    [root@server ~]# vi /etc/insights-client/tags.yaml

  2. 根据需要编辑内容或添加额外的值。以下示例演示了如何在向系统添加多个标签时组织 tags.yaml

    # tags
    ---
    group: eastern-sap
    location: Boston
    description:
    - RHEL8
    - SAP
    key 4: value
    注意

    根据需要添加任意数量的 key=value 对。使用大写、字母、数字、符号和空格的组合。

  3. 保存更改并关闭编辑器。
  4. (可选)为 Red Hat Enterprise Linux 生成到 Insights 的上传。

    # insights-client

5.5.4. 使用预定义的系统标签获得更准确的 Red Hat Insights 顾问服务建议并提高安全性

Red Hat Insights 顾问服务建议同样地处理每个系统。但是,有些系统可能需要比其他系统更安全,或者需要不同的网络性能级别。除了添加自定义标签的功能外,Red Hat Insights for Red Hat Enterprise Linux 提供了预定义的标签,公告服务还可用来为可能需要更多关注的系统创建目标建议。

要选择并获取预定义的标签提供的扩展安全强化和增强检测和修复功能,您需要配置标签。配置后,公告服务会根据适用于您的系统的定制严重性级别和首选网络性能提供建议。

要配置标签,请使用 /etc/insights-client/tags.yaml 文件以类似的方式标记带有预定义标签的系统,您可能使用它来标记 inventory 服务中的系统。预定义的标签是使用用于创建自定义标签的相同 key=value 结构配置的。下表包括了 Red Hat-predefined tags 的详细信息。

表 5.1. 支持的预定义标签列表

备注

安全

normal (默认)/ strict

使用 normal (默认) 值,公告服务会将系统的风险配置集与从 RHEL 最新版本的默认配置以及经常使用的模式的默认配置进行比较。这会以数字为重点、可操作和低的建议。使用 严格 值时,公告服务将系统视为安全敏感,从而导致特定建议使用更严格的基线,甚至可能会在最新的 RHEL 安装中显示建议。

network_performance

null (默认)/ 延迟 / 吞吐量

首选网络性能(根据您的业务要求的延迟或吞吐量)会影响到系统的公告服务推荐的严重性。

注意

预定义的标签键名称被保留。如果您已使用关键 安全性,且值与其中一个预定义值不同,您不会在您的建议中看到更改。如果您的现有 key=value 与其中一个预定义键相同,才会看到建议更改。例如,如果您有一个 key=value of security: high,您的建议不会因为红帽定义的标签而改变。如果您目前有一个 key=valuesecurity: strict,则会在您的系统建议中看到更改。

5.5.5. 配置预定义的标签

您可以使用 Red Hat Insights for Red Hat Enterprise Linux 顾问服务的预定义标签来调整系统的建议行为,以便扩展安全强化和增强检测和修复功能。您可以按照这个流程配置预定义的标签。

先决条件

流程

  1. 使用命令行和您首选的编辑器,打开 /etc/insights-client/tags.yaml。(以下示例使用 Vim。)

    [root@server ~]# vi /etc/insights-client/tags.yaml
  2. 编辑 /etc/insights-client/tags.yaml 文件,为标签添加预定义的 key=value 对。本例演示了如何添加 security: strictnetwork_performance: latency 标签。

    # cat /etc/insights-client/tags.yaml
    group: redhat
    location: Brisbane/Australia
    description:
    - RHEL8
    - SAP
    security: strict
    network_performance: latency
  3. 保存您的更改。
  4. 关闭编辑器。
  5. 可选: 运行 insights-client 命令生成到 Red Hat Insights for Red Hat Enterprise Linux 的上传,或等待下一个调度的 Red Hat Insights 上传。

    [root@server ~]# insights-client

确认预定义的标签在您的生产区中

在生成上传到 Red Hat Insights (或等待下一个调度的 Insights 上传)后,您可以通过访问 Red Hat Insights > RHEL > Inventory 来查找标签是否在生产环境中。查找您的系统并查找新创建的标签。您会看到一个显示的表:

  • Name
  • 标签源(例如 insights-client)。

下图显示了您在创建标签后在清单中看到的示例。

突出显示显示当前名称的信息

应用预定义的标签后的建议示例

以下公告服务镜像显示了配置了 network_performance: latency 标签的系统。

显示两个建议

系统显示具有较高的 Total Risk 级别 Important 的建议。没有 network_performance: latency 标签的系统具有中等总风险。您可以决定系统优先级更高的总风险。

第 6 章 参考资料

要了解更多有关合规服务的信息,请参阅以下资源:

对红帽文档提供反馈

我们非常感谢并对我们文档的反馈进行优先排序。提供尽可能多的详细信息,以便快速解决您的请求。

先决条件

  • 已登陆到红帽客户门户网站。

流程

要提供反馈,请执行以下步骤:

  1. 点击以下链接: Create Issue
  2. Summary 文本框中描述问题或功能增强。
  3. Description 文本框中提供有关问题或请求的增强的详细信息。
  4. Reporter 文本框中键入您的名称。
  5. Create 按钮。

此操作会创建一个文档票据,并将其路由到适当的文档团队。感谢您花时间来提供反馈。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.