本仓库包含将 Corelight 或 Zeek 日志转换为 Elastic Common Schema(ECS)命名标准并将其存储到 Elastic Stack 部署中所需的一切。该仓库最初于 2019 年发布,与 Elastic Common Schema 同年,至今仍在积极维护和更新。
它支持超过 200 种不同的日志和指标,旨在支持所有环境,同时能够自定义所需和期望的选项以适配每个独特的环境。 我们投入了大量精力来确保对所有环境的支持,同时允许自定义必要和期望的选项,以适应每个独特且各自的部署。
该仓库主要由两部分组成:
这些文件和自动化脚本在 BSD 许可证下开源。详见 COPYING。
运行脚本前请阅读所有章节。
corelight_ecs.py 脚本。不支持手动安装模板和管道,因为整个文件中有数百个变量需要由脚本替换。鼓励自定义索引设置、映射、别名和 ILM 策略。因此,该脚本被设计为支持多种类型的自定义(详见下文)。 许多自定义功能可能不需要,但有选项总比没有好。始终建议使用自己的分片/副本数量和 ILM 策略,但除此之外,您不需要自定义太多其他内容。然而,如果您通常在所有部署中自定义索引模板、ingest 管道和 logstash 管道中的许多内容,那么您仍然具备这种能力。
更多详情请参见以下各节。
脚本会提示您是否希望为您的数据流选择自定义索引名称/模式。这允许您选择自己的索引命名约定。例如,您可以选择:
logs-corelight.conn-defaultecs-corelight.conn-defaultcall_it_what_you_will.conn-defaultlogs-corelight.conn-remotesite1然后,如果您选择了 ingest 管道或 logstash 管道,它还会更新所有必要的索引模板。
不建议更改默认值,因为 Corelight 日志现已设置为可与所有其他类型的 ECS 数据配合使用,并可从诸如 logs-* 之类的 Kibana 数据视图中使用。
对于 MSSP/CSSP 或多网络等多租户环境,您不仅可以在脚本提示中选择数据流的组织部分(即上述 3 个示例中的 default 部分),而且如果您在 filebeat 中或其他方法或挂钩管道中设置了 data_stream.namespace,则管道会设置为尊重该变量(如果已设置)而不覆盖它。只需确保您的 namespace 设置为 Elasticsearch 允许作为索引名称的值(这是一个常见错误,有时并不明显)。
您可以在 Google Sheet 中查看所使用的索引模式以及每个日志的默认值。此外,还列出了每个日志的一些附加信息,如 event.category、event.kind 等。
每个索引模板都被指定调用一个组件模板,您可以使用该组件模板覆盖索引设置。 因此,您无需修改仓库中的索引模板即可使用您自己的索引设置。
创建以下组件模板或在安装后修改它们。您可以修改的组件模板名称如下:
涵盖所有日志(分为 5 个类别):
corelight-ecs-component-metric_log-base-settings@customcorelight-ecs-component-parse_failures-base-settings@customcorelight-ecs-component-protocol_log-base-settings@customcorelight-ecs-component-system_log-base-settings@customcorelight-ecs-component-unknown_log-base-settings@custom涵盖上述之外的个别日志,这些日志通常需要更具体的自身设置:
corelight-ecs-component-protocol_log-conn-base-settings@customcorelight-ecs-component-protocol_log-dns-base-settings@customcorelight-ecs-component-protocol_log-files-base-settings@customcorelight-ecs-component-protocol_log-http-base-settings@customcorelight-ecs-component-protocol_log-smb-base-settings@customcorelight-ecs-component-protocol_log-smtp-base-settings@customcorelight-ecs-component-protocol_log-ssl-base-settings@customcorelight-ecs-component-protocol_log-suricata_corelight-base-settings@customcorelight-ecs-component-protocol_log-syslog-base-settings@customcorelight-ecs-component-protocol_log-various-base-settings@customcorelight-ecs-component-protocol_log-weird-base-settings@customcorelight-ecs-component-protocol_log-x509-base-settings@custom每个索引模板都被指定调用一个组件模板,您可以使用该组件模板覆盖字段类型或名称等内容的索引映射。 因此,您无需修改仓库中的索引模板即可使用您自己的索引映射。
创建以下组件模板或在安装后修改它们。您可以修改的组件模板名称如下:
涵盖所有日志(分为 5 个类别):
corelight-ecs-component-metric_log-mappings@customcorelight-ecs-component-parse_failures-mappings@customcorelight-ecs-component-protocol_log-mappings@customcorelight-ecs-component-system_log-mappings@customcorelight-ecs-component-unknown_log-mappings@custom涵盖上述之外的个别日志,这些日志通常需要更具体的自身设置:
corelight-ecs-component-protocol_log-conn-mappings@customcorelight-ecs-component-protocol_log-dns-mappings@customcorelight-ecs-component-protocol_log-files-mappings@customcorelight-ecs-component-protocol_log-http-mappings@customcorelight-ecs-component-protocol_log-smb-mappings@customcorelight-ecs-component-protocol_log-smtp-mappings@customcorelight-ecs-component-protocol_log-ssl-mappings@customcorelight-ecs-component-protocol_log-suricata_corelight-mappings@customcorelight-ecs-component-protocol_log-syslog-mappings@customcorelight-ecs-component-protocol_log-various-mappings@customcorelight-ecs-component-protocol_log-weird-mappings@customcorelight-ecs-component-protocol_log-x509-mappings@custom每个索引模板都被指定调用一个组件模板,您可以使用该组件模板覆盖 ILM 策略以设置您自己的保留期限。 因此,您无需修改仓库中的索引模板即可使用您自己的 ILM 策略。
创建以下组件模板或在安装后修改它们。您可以修改的组件模板名称如下:
涵盖所有日志(分为 5 个类别):
corelight-ecs-component-metric_log-ilm-settings@customcorelight-ecs-component-parse_failures-ilm-settings@customcorelight-ecs-component-protocol_log-ilm-settings@customcorelight-ecs-component-system_log-ilm-settings@customcorelight-ecs-component-unknown_log-ilm-settings@custom这些将涵盖上述之外的个别日志,这些日志通常需要更具体的自身设置:
corelight-ecs-component-protocol_log-conn-ilm-settings@customcorelight-ecs-component-protocol_log-dns-ilm-settings@customcorelight-ecs-component-protocol_log-files-ilm-settings@customcorelight-ecs-component-protocol_log-http-ilm-settings@customcorelight-ecs-component-protocol_log-smb-ilm-settings@customcorelight-ecs-component-protocol_log-smtp-ilm-settings@customcorelight-ecs-component-protocol_log-ssl-ilm-settings@customcorelight-ecs-component-protocol_log-suricata_corelight-ilm-settings@customcorelight-ecs-component-protocol_log-syslog-ilm-settings@customcorelight-ecs-component-protocol_log-various-ilm-settings@customcorelight-ecs-component-protocol_log-weird-ilm-settings@customcorelight-ecs-component-protocol_log-x509-ilm-settings@custom每个索引模板都被指定调用一个组件模板,您可以使用该组件模板覆盖索引别名。 因此,您无需修改仓库中的索引模板即可使用您自己的索引别名。
创建以下组件模板或在安装后修改它们。您可以修改的组件模板名称如下:
涵盖所有日志(分为 5 个类别):
corelight-ecs-component-metric_log-aliases@customcorelight-ecs-component-parse_failures-aliases@customcorelight-ecs-component-protocol_log-aliases@customcorelight-ecs-component-system_log-aliases@customcorelight-ecs-component-unknown_log-aliases@custom这些将涵盖上述之外的个别日志,这些日志通常需要更具体的自身设置:
corelight-ecs-component-protocol_log-conn-aliases@customcorelight-ecs-component-protocol_log-dns-aliases@customcorelight-ecs-component-protocol_log-files-aliases@customcorelight-ecs-component-protocol_log-http-aliases@customcorelight-ecs-component-protocol_log-smb-aliases@customcorelight-ecs-component-protocol_log-smtp-aliases@customcorelight-ecs-component-protocol_log-ssl-aliases@customcorelight-ecs-component-protocol_log-suricata_corelight-aliases@customcorelight-ecs-component-protocol_log-syslog-aliases@customcorelight-ecs-component-protocol_log-various-aliases@customcorelight-ecs-component-protocol_log-weird-aliases@customcorelight-ecs-component-protocol_log-x509-aliases@custom在 ingest 管道的开头,在任何 Corelight 管道被调用之前,有一个函数使用名为 corelight-ecs-main-pipeline@custom 的 ingest 管道。
如果您想在 Corelight 管道被调用之前执行某些操作,可以用该名称创建一个 ingest 管道。
如果您不创建该管道,该函数会静默跳过它,因此它是可选的。