Snyk 模块
编辑Snyk 模块
编辑此功能处于测试阶段,可能随时更改。其设计和代码不如正式 GA 功能成熟,按原样提供,不提供任何担保。测试版功能不受正式 GA 功能支持 SLA 的约束。
这是一个用于摄取来自不同 Snyk API 端点数据的模块。目前支持以下文件集:
-
vulnerabilities
文件集:收集与相关组织和项目相关的所有已发现漏洞。 -
audit
文件集:收集来自 Snyk 的审计日志,这可以是用户、权限、组、API 访问等操作。
运行模块时,它会在后台执行一些任务:
- 设置日志文件的默认路径(但不用担心,您可以覆盖默认值)
- 确保每个多行日志事件都作为单个事件发送
- 使用 Elasticsearch Ingest Pipeline 解析和处理日志行,将数据塑造成适合在 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
- 模块首次启动时回溯多远,支持以完整天数为单位的值(24h、48h 等)。
-
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
- 模块首次启动时回溯多远,支持以完整天数为单位的值(24h、48h 等)。
-
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 | |============================================================|
字段
编辑有关模块中每个字段的描述,请参阅导出字段部分。