Link Search Menu Expand Document Documentation Menu

审计日志存储类型

审计日志会占用相当大的空间,因此安全插件提供了多种存储位置选项。

设置 描述
debug 输出到标准输出。适用于测试和调试。
internal_opensearch 写入当前 OpenSearch 集群上的审计索引。
internal_opensearch_data_stream 写入当前 OpenSearch 集群上的审计日志数据流。
external_opensearch 写入远程 OpenSearch 集群上的审计索引。
webhook 将事件发送到任意 HTTP 端点。
log4j 将事件写入 Log4j 记录器。您可以使用任何 Log4j appender,例如 SNMP、JDBC、Cassandra 和 Kafka。

您可以在 opensearch.yml 中配置输出位置

plugins.security.audit.type: <debug|internal_opensearch|internal_opensearch_data_stream|external_opensearch|webhook|log4j>

internal_opensearch_data_streamexternal_opensearchwebhooklog4j 可以通过其他配置选项进行自定义。有关更多信息,请参阅内部 OpenSearch 数据流

内部 OpenSearch 数据流

您可以使用以下参数配置 internal_opensearch_data_stream 类型。

名称 数据类型 描述
plugins.security.audit.config.data_stream.name 字符串 审计日志数据流的名称。默认值为 opensearch-security-auditlog

模板设置

名称 数据类型 描述
plugins.security.audit.config.data_stream.template.manage 布尔型 当为 true 时,数据流的模板由 OpenSearch 管理。默认值为 true
plugins.security.audit.config.data_stream.template.name 字符串 数据流模板的名称。默认值为 opensearch-security-auditlog
plugins.security.audit.config.data_stream.template.number_of_replicas 整数 数据流的副本数量。默认值为 0
plugins.security.audit.config.data_stream.template.number_of_shards 整数 数据流的分片数量。默认值为 1

外部 OpenSearch

external_opensearch 存储类型需要一个或多个 OpenSearch 端点,包括主机/IP 地址和端口。可选地,提供索引名称和文档类型。

plugins.security.audit.type: external_opensearch
plugins.security.audit.config.http_endpoints: [<endpoints>]
plugins.security.audit.config.index: <indexname>
plugins.security.audit.config.type: _doc

安全插件使用 OpenSearch REST API 发送事件,就像任何其他索引请求一样。对于 plugins.security.audit.config.http_endpoints,请使用逗号分隔的主机/IP 地址列表和 REST 端口(默认 9200)。

plugins.security.audit.config.http_endpoints: ['https://my-opensearch-cluster.company.com:9200', 'http://my-opensearch-cluster.company.com:9200', 'my-opensearch-cluster.company.com:9200', '192.168.178.1:9200', '192.168.178.2:9200']

如果您使用 external_opensearch 并且远程集群也使用安全插件,则必须提供一些额外的认证参数。这些参数取决于您为远程集群配置的认证类型。

TLS 设置

名称 数据类型 描述
plugins.security.audit.config.enable_ssl 布尔型 如果在接收集群上启用了 SSL/TLS,请设置为 true。默认值为 false
plugins.security.audit.config.verify_hostnames 布尔型 是否验证接收集群的 SSL/TLS 证书的主机名。默认值为 true
plugins.security.audit.config.pemtrustedcas_filepath 字符串 外部 OpenSearch 集群的可信根证书,相对于 config 目录。
plugins.security.audit.config.pemtrustedcas_content 字符串 除了指定路径 (plugins.security.audit.config.pemtrustedcas_filepath),您还可以直接配置 Base64 编码的证书内容。
plugins.security.audit.config.enable_ssl_client_auth 布尔型 是否启用 SSL/TLS 客户端认证。如果将其设置为 true,审计日志模块会将节点的证书随请求一起发送。接收集群可以使用此证书来验证调用方的身份。
plugins.security.audit.config.pemcert_filepath 字符串 要发送到外部 OpenSearch 集群的 TLS 证书路径,相对于 config 目录。
plugins.security.audit.config.pemcert_content 字符串 除了指定路径 (plugins.security.audit.config.pemcert_filepath),您还可以直接配置 Base64 编码的证书内容。
plugins.security.audit.config.pemkey_filepath 字符串 要发送到外部 OpenSearch 集群的 TLS 证书私钥路径,相对于 config 目录。
plugins.security.audit.config.pemkey_content 字符串 除了指定路径 (plugins.security.audit.config.pemkey_filepath),您还可以直接配置 Base64 编码的证书内容。
plugins.security.audit.config.pemkey_password 字符串 私钥的密码。

基本认证设置

如果在接收集群上启用了 HTTP 基本认证,请使用这些设置来指定用户名和密码。

plugins.security.audit.config.username: <username>
plugins.security.audit.config.password: <password>

Webhook

使用以下键配置 webhook 存储类型。

名称 数据类型 描述
plugins.security.audit.config.webhook.url 字符串 用于发送日志的 HTTP 或 HTTPS URL。
plugins.security.audit.config.webhook.ssl.verify 布尔型 如果为 true,则会验证端点提供的 TLS 证书(如果有)。如果设置为 false,则不执行任何验证。如果您使用自签名证书,可以禁用此检查。
plugins.security.audit.config.webhook.ssl.pemtrustedcas_filepath 字符串 用于验证 webhook TLS 证书的可信证书路径。
plugins.security.audit.config.webhook.ssl.pemtrustedcas_content 字符串 plugins.security.audit.config.webhook.ssl.pemtrustedcas_content 相同,但您可以直接配置 Base64 编码的证书内容。
plugins.security.audit.config.webhook.format 字符串 审计日志消息的记录格式,可以是 URL_PARAMETER_GETURL_PARAMETER_POSTTEXTJSONSLACK 之一。请参阅格式

格式

格式 描述
URL_PARAMETER_GET 使用 HTTP GET 将日志发送到 webhook URL。所有记录的信息都作为请求参数附加到 URL。
URL_PARAMETER_POST 使用 HTTP POST 将日志发送到 webhook URL。所有记录的信息都作为请求参数附加到 URL。
TEXT 使用 HTTP POST 将日志发送到 webhook URL。请求正文包含纯文本格式的审计日志消息。
JSON 使用 HTTP POST 将日志发送到 webhook URL。请求正文包含 JSON 格式的审计日志消息。
SLACK 使用 HTTP POST 将日志发送到 webhook URL。请求正文包含适合 Slack 使用的 JSON 格式审计日志消息。默认实现返回 "text": "<AuditMessage#toText>"

Log4j

log4j 存储类型允许您指定记录器名称和日志级别。

plugins.security.audit.config.log4j.logger_name: audit
plugins.security.audit.config.log4j.level: INFO

默认情况下,安全插件使用记录器名称 audit 并在 INFO 级别记录事件。审计事件以 JSON 格式存储。

剩余 350 字符

有问题?

想贡献?