跳到主要内容

基线巡检

在 osquery 采集结果上执行等保 2.0 与 CIS 合规判定。不调用模型,结论可复现,离线环境可用。

基线巡检对主机的 SSH 配置、口令策略、审计开关等项目做合规判定。每条规则由一段 osquery SQL 采集查询和一个判定算子组成。判定是确定性的,不调用模型。所有版本都可以使用。

网关启动时创建基线用的索引(baseline-rules、baseline-results、baseline-runs)。规则库为空时,自动导入内置的 127 条规则,覆盖 Linux 与 Windows 上等保 2.0 和 CIS 的常见检查项。已有规则的规则库不会被覆盖。

基线巡检

接入 osquery 数据

基线数据流

没有巡检记录时,页面上可以选择 查看接入步骤。

接入步骤

步骤

  1. 在目标主机上安装 osquery,把 规则库 中的采集查询作为 pack 定时执行。pack 中的查询名即规则 ID。
  2. 用 Fleet(Osquery Manager)、Filebeat 或 Logstash 把采集结果写入 Elasticsearch。网关默认读取 logs-osquery_manager.result-*。
  3. 在页面顶部的 osquery 字段自检 中,核对网关推断的主机字段、规则键和列前缀。与实际数据不一致时,用环境变量覆盖(见 配置项)。自建 ELK 的索引名和字段前缀常与默认值不同。
  4. 选择 立即巡检。

网关按规则逐台主机判定,结果显示在 巡检结果 中。定时巡检由 RST_BASELINE_INTERVAL_SECONDS 设置,不少于 300 秒,建议与 osquery pack 的执行间隔一致,例如 86400。

巡检结果

卡片含义
合规评分通过数除以通过与不合规之和,按主机与规则的组合计算
通过判定通过的组合数
不合规需要修改配置的组合数
待人工 / 异常不计入评分

卡片下方是 历次合规评分、判定分布、单机合规评分 和结果表。选择结果表中的一行,查看 期望值、实际观测、整改建议 和标准引用,例如 等保2.0-8.1.4.2, CIS-5.4.1。

网关读取上报中的 host.os.* 判定主机平台,只对主机执行对应平台和通用的规则。上报中没有 host.os.* 时,对该主机执行全部规则。超过 RST_BASELINE_MAX_AGE_HOURS(默认 48 小时)的采集结果判为过期,不参与通过与不合规的判定。

规则库

规则库

规则库 中每条规则有规则 ID、标题、平台、判定算子、启用状态和来源(内置 或 自定义)。按 ID、标题或类别过滤,停用不适用的规则。界面为英文时,内置规则的标题、类别、标准引用和修复建议显示为英文。自建或改过的规则按输入原样显示。

新建规则

在 规则库 中选择 新建规则,填写以下字段。

新建规则

字段说明
规则 ID3 到 64 个字符,限 [A-Za-z0-9._-]。同时是 osquery pack 中的查询名
平台linux 或 windows,留空表示通用
采集查询(osquery SQL)例如 SELECT value FROM ... WHERE key='PermitRootLogin'
判定字段(judge.field)、判定算子、期望值(judge.expected)取采集结果的哪一列、比较方式(等于、包含、正则、数值比较)和期望值
字段缺失时判定(judge.on_missing)采集结果中没有该字段时,判为通过、不合规或待人工
整改模板不合规时给出的整改建议,例如「编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no」
标准引用(逗号分隔)在结果和报告中原样显示

历史轮次

历史轮次 列出每一轮的完成时间、评分、通过与不合规数、主机与规则数。选择一轮查看该轮的完整结果。运营报告 引用报告周期内的基线通过率。

配置项

环境变量默认说明
RST_BASELINE_OSQUERY_INDEXlogs-osquery_manager.result-*读取的 osquery 结果索引
RST_BASELINE_RULES_INDEXbaseline-rules规则库索引
RST_BASELINE_RESULTS_INDEXbaseline-results判定结果索引
RST_BASELINE_RUNS_INDEXbaseline-runs巡检轮次索引
RST_BASELINE_HOST_FIELD自动推断主机标识字段
RST_BASELINE_QUERY_FIELD自动推断查询名字段,与规则 ID 关联
RST_BASELINE_COL_PREFIX自动推断结果列前缀,例如 osquery.
RST_BASELINE_INTERVAL_SECONDS未设置定时巡检间隔(秒),不少于 300。未设置或小于 300 时不定时巡检
RST_BASELINE_MAX_AGE_HOURS48超过该时长的采集结果判为过期
RST_BASELINE_HOST_ROSTER_DAYS30超过该天数未上报的主机不再参与巡检

本页内容