启用审计日志记录
审计日志仅在特定的订阅级别下可用。
您可以记录与安全相关的事件(例如身份验证失败和拒绝连接),以监控集群中的可疑活动(包括数据访问授权和用户安全配置更改)。可以为 Elasticsearch 和 Kibana 独立启用审计日志。
本节介绍如何为所有支持的部署类型(包括自管集群、Elastic Cloud Hosted、Elastic Cloud Enterprise (ECE) 和 Elastic Cloud on Kubernetes (ECK))在 Elasticsearch 和 Kibana 中启用和配置审计日志。
在编排部署中,审计日志必须传输到监控部署;否则,它们将保留在容器级别,用户无法访问。有关在编排环境中配置日志转发的详细信息,请参阅日志配置。
启用审计日志后,安全事件将持久化保存到每个集群节点主机文件系统上的专用 <clustername>_audit.json 文件中。有关更多信息,请参阅Elasticsearch 日志文件审计输出。
- 如果您使用的是 ECE 或 ECH,则需要在部署上启用监控和日志记录。作为启用监控和日志记录的一部分,您需要选择日志的投递位置。
- 在生产环境中,建议创建一个单独的监控集群来消费这些日志。
要启用 Elasticsearch 或 Kibana 审计日志,请在所有 Elasticsearch 或 Kibana 节点中将 xpack.security.audit.enabled 配置为 true,然后重启节点以应用更改。有关详细说明,请选择您的部署类型
在运行 Elastic Stack 9.5 或更高版本的 Elasticsearch 部署中,xpack.security.audit.enabled 是一个动态设置,可以在运行时使用集群更新设置 API 进行更改,而无需重启节点。Kibana 设置仍遵循下一节中的静态配置流程。
审计日志默认处于禁用状态,必须显式启用。
在 Elasticsearch 中启用审计日志:
- 在所有节点中,在
elasticsearch.yml中将xpack.security.audit.enabled设置为true。 - 按照滚动重启步骤重启集群。
在 Kibana 中启用审计日志:
- 在
kibana.yml中将xpack.security.audit.enabled设置为true。 - 重启 Kibana。
要了解如何在 Elasticsearch 集群中消费这些日志,请参阅使用 Filebeat 收集日志数据。
在 Elastic Cloud Hosted 部署中启用审计日志
在主页或托管部署页面上找到您的部署,然后选择管理以访问其设置菜单。
在部署菜单中,转到 Edit 页面。
为 Elasticsearch 启用审计
- 在 Elasticsearch 部分,选择 Manage user settings and extensions。对于具有现有用户设置的部署,您可能需要改为展开每个节点的 Edit elasticsearch.yml 箭头。
- 添加设置
xpack.security.audit.enabled: true。
为 Kibana 启用审计
- 在 Kibana 部分,选择 Edit user settings。对于具有现有用户设置的部署,您可能需要改为展开 Edit kibana.yml 箭头。
- 添加设置
xpack.security.audit.enabled: true。
选择 Save changes。
您的部署将执行计划更改。更改完成后,审计日志将被传送到您的监控部署。
在 ECE 部署中启用审计日志
在 Deployments 页面上,选择您的部署。
在部署菜单中,转到 Edit 页面。
为 Elasticsearch 启用审计
- 在 Elasticsearch 部分,选择 Edit user settings and plugins。对于具有现有用户设置的部署,您可能需要改为展开第一个节点的 Edit elasticsearch.yml 箭头。
- 添加设置
xpack.security.audit.enabled: true。
为 Kibana 启用审计
- 在 Kibana 部分,选择 Edit user settings。对于具有现有用户设置的部署,您可能需要改为展开 Edit kibana.yml 箭头。
- 添加设置
xpack.security.audit.enabled: true。 - 如果您的 Elastic Stack 版本低于 7.6.0,请添加设置
logging.quiet: false。
选择 保存 (Save)。
您的部署将执行计划更改。更改完成后,审计日志将被传送到您的监控部署。
要在 ECK 管理的集群中启用审计日志,请将 xpack.security.audit.enabled: true 添加到每个 Elasticsearch nodeSet 的 config 部分以及 Kibana 对象规范的 config 部分中。
以下示例展示了此配置,以及向远程集群交付日志和指标的情况
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
spec:
monitoring:
metrics:
elasticsearchRefs:
- name: monitoring
namespace: observability
logs:
elasticsearchRefs:
- name: monitoring
namespace: observability
nodeSets:
- name: default
config:
xpack.security.audit.enabled: true
---
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
spec:
monitoring:
metrics:
elasticsearchRefs:
- name: monitoring
namespace: observability
logs:
elasticsearchRefs:
- name: monitoring
namespace: observability
config:
xpack.security.audit.enabled: true
启用后,审计日志将被收集并传输到 monitoring.logs 部分中引用的监控集群。如果未启用监控,审计日志将仅在容器级别可见。
您可以配置其他选项来控制记录哪些事件以及审计日志中包含哪些信息。有关更多信息,请参阅配置审计日志。