Snyk 模块

编辑

此功能为测试版,可能会发生更改。其设计和代码不如正式 GA 功能成熟,按“原样”提供,不提供任何保证。测试版功能不受正式 GA 功能的支持 SLA 约束。

此模块用于从不同的 Snyk API 端点摄取数据。目前支持以下文件集:

  • vulnerabilities 文件集:收集相关组织和项目的所有已发现漏洞。
  • audit 文件集:从 Snyk 收集审计日志,这可以是用户、权限、组、API 访问等操作。

当您运行该模块时,它会在后台执行一些任务:

  • 设置日志文件的默认路径(但不用担心,您可以覆盖默认值)
  • 确保每个多行日志事件都作为单个事件发送
  • 使用 Elasticsearch 摄取管道解析和处理日志行,将数据塑造成适合在 Kibana 中可视化的结构

阅读快速入门,了解如何配置和运行模块。

配置模块

编辑

您可以通过在 modules.d/snyk.yml 文件中指定变量设置,或者在命令行中覆盖设置,来进一步优化 snyk 模块的行为。

您必须在模块中启用至少一个文件集。文件集默认情况下处于禁用状态。

变量设置

编辑

每个文件集都有单独的变量设置,用于配置模块的行为。如果您不指定变量设置,则 snyk 模块将使用默认值。

对于高级用例,您还可以覆盖输入设置。请参阅覆盖输入设置

当您在命令行中指定设置时,请记住在设置前加上模块名称,例如 snyk.audit.var.paths,而不是 audit.var.paths

audit 文件集设置

编辑

此功能为测试版,可能会发生更改。其设计和代码不如正式 GA 功能成熟,按“原样”提供,不提供任何保证。测试版功能不受正式 GA 功能的支持 SLA 约束。

要配置 Filebeat 对 Snyk 审计日志 API 的访问,您必须按照 Snyk 文档中的描述生成 API 访问令牌。

配置示例

- module: snyk
  audit:
    var.input: httpjson
    var.audit_type: organization
    var.audit_id: 1235432-asdfdf-2341234-asdgjhg
    var.interval: 1h
    var.api_token: 53453Sddf8-7fsf-414234gfd-9sdfb7-5asdfh9f8e342

还有多个可选的配置选项可用于筛选不需要的内容,以下是一个示例:

- module: snyk
  audit:
    var.input: httpjson
    var.audit_type: organization
    var.audit_id: 1235432-asdfdf-2341234-asdgjhg
    var.interval: 1h
    var.api_token: 53453Sddf8-7fsf-414234gfd-9sdfb7-5asdfh9f8e342
    var.email_address: "[email protected]"
var.paths
一个基于 glob 的路径数组,用于指定查找日志文件的位置。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中获取所有文件:/path/to/log/*/*.log。这将从 /path/to/log 的子文件夹中获取所有 .log 文件。它不会从 /path/to/log 文件夹本身获取日志文件。如果此设置为空,Filebeat 将根据您的操作系统选择日志路径。
var.first_interval
模块首次启动时回溯的时间长度,此值支持完整天数(24 小时、48 小时等)。
var.audit_type
要收集的审计类型,可以是“group”或“organization”。
var.audit_id
与 audit_type 相关的 ID。如果审计类型为 group,则此值应为组 ID;如果为 organization,则此值应为要从中收集的组织 ID。
var.api_token
为特定用户创建的 API 令牌,可在 Snyk 管理仪表板中找到。
var.project_id
用于筛选的可选字段,将仅返回此特定项目的日志。
var.user_id
用于筛选的可选字段,用户公共 ID。将仅获取由此用户操作产生的审计日志。
var.event
用于筛选的可选字段,将仅返回此特定事件的日志。
var.email_address
用于筛选的可选字段,用户电子邮件地址。将仅获取由此用户操作产生的审计日志。

Snyk 审计日志 ECS 字段

编辑

这是映射到 ECS 的 Snyk 审计日志字段列表。

Snyk 审计日志字段 ECS 字段

groupId

user.group.id

userId

user.id

event

event.action

created

@timestamp

vulnerabilities 文件集设置

编辑

此功能为测试版,可能会发生更改。其设计和代码不如正式 GA 功能成熟,按“原样”提供,不提供任何保证。测试版功能不受正式 GA 功能的支持 SLA 约束。

要配置 Filebeat 对 Snyk 漏洞 API 的访问,您必须按照 Snyk 文档中的描述生成 API 访问令牌。

配置示例

- module: snyk
  vulnerabilities:
    var.input: httpjson
    var.interval: 24h
    var.api_token: 53453Sddf8-7fsf-414234gfd-9sdfb7-5asdfh9f8e342
    var.orgs:
      - 12354-asdfdf-123543-asdsdfg
      - 76554-jhggfd-654342-hgrfasd

还有多个可选的配置选项可用于筛选不需要的内容,以下是一个示例:

- module: snyk
  vulnerabilities:
    var.input: httpjson
    var.interval: 24h
    var.api_token: 53453Sddf8-7fsf-414234gfd-9sdfb7-5asdfh9f8e342
    var.orgs:
      - 12354-asdfdf-123543-asdsdfg
      - 76554-jhggfd-654342-hgrfasd
    var.included_severity:
      - medium
      - high
    var.types:
      - vuln
var.paths
一个基于 glob 的路径数组,用于指定查找日志文件的位置。此处还支持 Go Glob 支持的所有模式。例如,您可以使用通配符从预定义级别的子目录中获取所有文件:/path/to/log/*/*.log。这将从 /path/to/log 的子文件夹中获取所有 .log 文件。它不会从 /path/to/log 文件夹本身获取日志文件。如果此设置为空,Filebeat 将根据您的操作系统选择日志路径。
var.first_interval
模块首次启动时回溯的时间长度,此值支持完整天数(24 小时、48 小时等)。
var.api_token
为特定用户创建的 API 令牌,可在 Snyk 管理仪表板中找到。
var.orgs
用于筛选结果的组织 ID 列表。每行一个组织 ID,以 - 符号开头
var.included_severity
用于筛选的可选字段列表,用于筛选结果的问题严重级别。
var.exploit_maturit
用于筛选的可选字段列表,用于筛选结果的问题利用成熟度级别。
var.types
用于筛选的可选字段列表,用于筛选结果的问题类型。
var.languages
用于筛选的可选字段列表,用于筛选结果的语言类型。
var.identifier
用于筛选的可选字段,用于按问题名称筛选的搜索词,或确切的 CVE 或 CWE。
var.ignored
用于筛选的可选字段。如果设置为 true,则仅包含已忽略的问题;如果设置为 false,则仅包含未忽略的问题。
var.patched
用于筛选的可选字段。如果设置为 true,则仅包含已忽略的问题;如果设置为 false,则仅包含未忽略的问题。
var.fixable
用于筛选的可选字段。如果设置为 true,则仅包含已忽略的问题;如果设置为 false,则仅包含未忽略的问题。
var.is_fixed
用于筛选的可选字段。如果设置为 true,则仅包含已忽略的问题;如果设置为 false,则仅包含未忽略的问题。
var.is_patchable
用于筛选的可选字段。如果设置为 true,则仅包含已忽略的问题;如果设置为 false,则仅包含未忽略的问题。
var.is_pinnable
用于筛选的可选字段。如果设置为 true,则仅包含已忽略的问题;如果设置为 false,则仅包含未忽略的问题。
var.min_priority_score
用于筛选的可选字段,最小优先级分数范围为 0-1000。
var.max_priority_score
用于筛选的可选字段,最大优先级分数范围为 0-1000。

Snyk 审计日志 ECS 字段

编辑

这是映射到 ECS 的 Snyk 漏洞字段列表。

|============================================================| | Snyk 字段 | ECS 字段 | | issue.description | vulnerability.description | | issue.identifiers.CVE | vulnerability.id | | issue.identifiers.ALTERNATIVE | vulnerability.id | | issue.cvssScore | vulnerability.score.base | | issue.severity | vulnerability.severity | | issue.url | vulnerability.reference | |============================================================|

字段

编辑

有关模块中每个字段的描述,请参阅导出的字段部分。