Snyk 模块
编辑Snyk 模块编辑
此功能处于测试阶段,可能会发生变化。设计和代码不如正式的 GA 功能成熟,并按原样提供,不提供任何保证。测试版功能不受官方 GA 功能支持 SLA 的约束。
这是一个用于从不同 Snyk API 端点提取数据的模块。目前支持以下文件集
-
vulnerabilities
文件集:收集相关组织和项目的所有已发现漏洞 -
audit
文件集:收集来自 Snyk 的审计日志记录,这可以是用户、权限、组、API 访问等操作。
当您运行模块时,它会在后台执行一些任务
- 设置日志文件的默认路径(但不用担心,您可以覆盖默认值)
- 确保每个多行日志事件都作为单个事件发送
- 使用 Elasticsearch 提取管道来解析和处理日志行,将数据 shaping 成适合在 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
- 要收集的审计类型,可以是“组”或“组织”。
-
var.audit_id
- 与 audit_type 相关的 ID。如果审计类型是组,则此值应为组 ID,如果审计类型是组织,则此值应为要从中收集数据的组织 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 | |============================================================|
字段编辑
有关模块中每个字段的说明,请参阅导出字段部分。