与 Elasticsearch 进行安全通信
编辑与 Elasticsearch 进行安全通信编辑
当通过 elasticsearch
输出将数据发送到安全的集群时,Auditbeat 可以使用以下任何一种身份验证方法
- 基本身份验证凭据(用户名和密码)。
- 基于令牌的 API 身份验证。
- 客户端证书。
身份验证在 Auditbeat 配置文件中指定
-
要使用 基本身份验证,请在
output.elasticsearch
下指定username
和password
设置。例如 -
要使用基于令牌的 API 密钥身份验证,请在
output.elasticsearch
下指定api_key
。例如output.elasticsearch: hosts: ["https://myEShost:9200"] api_key: "ZCV7VnwBgnX0T19fN8Qe:KnR6yE41RrSowb0kQ0HWoA"
此 API 密钥必须具有将事件发布到 Elasticsearch 所需的权限。要创建这样的 API 密钥,请参阅使用 API 密钥授予访问权限。
-
要使用 公钥基础设施 (PKI) 证书 对用户进行身份验证,请在
output.elasticsearch
下指定certificate
和key
设置。例如output.elasticsearch: hosts: ["https://myEShost:9200"] ssl.certificate: "/etc/pki/client/cert.pem" ssl.key: "/etc/pki/client/cert.key"
这些设置假定证书中的可区分名称 (DN) 映射到 Elasticsearch 集群中每个节点上的
role_mapping.yml
文件中的相应角色。有关更多信息,请参阅使用角色映射文件。默认情况下,Auditbeat 使用运行 Auditbeat 的操作系统的可信证书颁发机构 (CA) 列表。如果签署节点证书的证书颁发机构不在主机系统的可信证书颁发机构列表中,则需要将包含 CA 证书的
.pem
文件的路径添加到 Auditbeat 配置中。这将配置 Auditbeat 使用特定的 CA 证书列表,而不是使用操作系统的默认列表。以下是一个配置示例
output.elasticsearch: hosts: ["https://myEShost:9200"] ssl.certificate_authorities: - /etc/pki/my_root_ca.pem - /etc/pki/my_other_ca.pem ssl.certificate: "/etc/pki/client.pem" ssl.key: "/etc/pki/key.pem"
对于任何给定的连接,SSL/TLS 证书必须具有与为
hosts
指定的值匹配的主题,否则 SSL 握手将失败。例如,如果指定hosts: ["foobar:9200"]
,则证书必须在主题 (CN=foobar
) 中或作为使用者备用名称 (SAN) 包含foobar
。确保主机名解析为正确的 IP 地址。如果没有可用的 DNS,则可以在/etc/hosts
(在 Unix 上)或C:\Windows\System32\drivers\etc\hosts
(在 Windows 上)中将 IP 地址与其主机名关联。
与 Kibana 端点进行安全通信编辑
如果您配置了Kibana 端点,则还可以指定用于在 kibana.setup
下对 Kibana 进行身份验证的凭据。如果未指定凭据,Kibana 将使用 Elasticsearch 输出中配置的身份验证方法。
例如,指定唯一的用户名和密码以连接到 Kibana,如下所示
了解有关安全通信的更多信息编辑
有关将数据发送到安全集群的更多信息,请参阅配置参考