Osquery 模块
编辑Osquery 模块编辑
osquery
模块收集并解码 osqueryd 以 JSON 格式编写的结果日志。 要设置 osqueryd,请按照您的操作系统的 osquery 安装说明进行操作,并配置 filesystem
日志记录驱动程序(默认)。 确保启用 UTC 时间戳。
运行模块时,它会在后台执行一些任务
- 设置日志文件的默认路径(但别担心,您可以覆盖默认值)
- 确保每个多行日志事件都作为单个事件发送
- 使用 Elasticsearch 摄取管道来解析和处理日志行,将数据整形为适合在 Kibana 中可视化的结构
- 部署用于可视化日志数据的仪表板
阅读快速入门以了解如何配置和运行模块。
兼容性编辑
osquery
模块已使用 osquery 版本 2.10.2 的日志进行了测试。 由于结果以 JSON 格式编写,因此该模块很可能适用于任何版本的 osquery。
此模块在 Linux、macOS 和 Windows 上可用。
配置模块编辑
您可以通过在 modules.d/osquery.yml
文件中指定变量设置,或在命令行覆盖设置,来进一步优化 osquery
模块的行为。
您必须在模块中至少启用一个文件集。 默认情况下,文件集处于禁用状态。
以下示例显示了如何在 modules.d/osquery.yml
文件中设置路径以覆盖系统日志和授权日志的默认路径
- module: osquery result: enabled: true var.paths: ["/path/to/osqueryd.results.log*"]
要在命令行指定相同的设置,请使用
-M "osquery.result.var.paths=[/path/to/osqueryd.results.log*]"
变量设置编辑
每个文件集都有单独的变量设置,用于配置模块的行为。 如果您不指定变量设置,则 osquery
模块将使用默认值。
对于高级用例,您还可以覆盖输入设置。 请参阅覆盖输入设置。
在命令行指定设置时,请记住在设置前加上模块名称,例如,使用 osquery.result.var.paths
而不是 result.var.paths
。
result
文件集设置编辑
-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。 Go Glob 支持的所有模式在此处也受支持。 例如,您可以使用通配符从预定义级别的子目录中获取所有文件:
/path/to/log/*/*.log
。 这将从/path/to/log
的子文件夹中获取所有.log
文件。 它不会从/path/to/log
文件夹本身获取日志文件。 如果将此设置留空,Filebeat 将根据您的操作系统选择日志路径。 -
var.use_namespace
- 如果为 true,则此模块导出的所有字段都以
osquery.result
为前缀。 设置为 false 以复制文档根目录中的字段。 如果启用,此设置还会禁用某些字段的重命名(例如,将hostIdentifier
重命名为host_identifier
)。 请注意,如果您将其设置为 false,则此模块附带的示例仪表板将无法正常工作。 默认为 true。
示例仪表板编辑
此模块附带一个示例仪表板,用于可视化“合规性”包收集的数据。 要收集此数据,请在 osquery 配置文件中启用 it-compliance
包。
字段编辑
有关模块中每个字段的描述,请参阅导出字段部分。