单向和双向 TLS 证书流程

编辑

本页概述了为 Fleet Server 和 Elastic Agent 配置的各种证书和证书颁发机构 (CA) 之间的关系,使用 elastic-agent install TLS 命令选项。

简单的单向 TLS 连接

编辑

以下 elastic-agent install 命令配置 Fleet Server,其中包含启用组件之间单向 TLS 连接所需的证书和证书颁发机构。

elastic-agent install --url=https://your-fleet-server.elastic.co:443 \
--certificate-authorities=/path/to/fleet-ca \
--fleet-server-es=https://es.elastic.com:443 \
--fleet-server-es-ca=/path/to/es-ca \
--fleet-server-cert=/path/to/fleet-cert \
--fleet-server-cert-key=/path/to/fleet-cert-key \
--fleet-server-service-token=FLEET-SERVER-SERVICE-TOKEN \
--fleet-server-policy=FLEET-SERVER-POLICY-ID \
--fleet-server-port=8220

Elastic Agent 配置 fleet-ca 为其需要用来验证来自 Fleet Server 的证书的证书颁发机构。

在 TLS 连接设置期间,Fleet Server 向 Agent 呈现其证书 fleet-cert,Agent(作为客户端)使用 fleet-ca 验证所呈现的证书。

Diagram of one-way TLS connection between Fleet Server and Elastic Agent

Fleet Server 还与 Elasticsearch 集群建立安全连接。在这种情况下,Fleet Server 使用来自 Elasticsearch 的证书颁发机构 es-ca 进行配置。Elasticsearch 呈现其证书 es-cert,而 Fleet Server 使用证书颁发机构 es-ca 验证所呈现的证书。

Diagram of one-way TLS connection between Fleet Server and Elasticsearch
单向 TLS 连接中组件之间的关系
编辑
Diagram of one-way TLS connection between components

双向 TLS 连接

编辑

以下 elastic-agent install 命令配置 Fleet Server,其中包含启用组件之间双向 TLS 连接所需的证书和证书颁发机构。

elastic-agent install --url=https://your-fleet-server.elastic.co:443 \
--certificate-authorities=/path/to/fleet-ca,/path/to/agent-ca \
--elastic-agent-cert=/path/to/agent-cert \
--elastic-agent-cert-key=/path/to/agent-cert-key \
--elastic-agent-cert-key=/path/to/agent-cert-key-passphrase \
--fleet-server-es=https://es.elastic.com:443 \
--fleet-server-es-ca=/path/to/es-ca \
--fleet-server-es-cert=/path/to/fleet-es-cert \
--fleet-server-es-cert-key=/path/to/fleet-es-cert-key \
--fleet-server-cert=/path/to/fleet-cert \
--fleet-server-cert-key=/path/to/fleet-cert-key \
--fleet-server-client-auth=required \
--fleet-server-service-token=FLEET-SERVER-SERVICE-TOKEN \
--fleet-server-policy=FLEET-SERVER-POLICY-ID \
--fleet-server-port=8220

单向 TLS 示例一样,Elastic Agent 配置 fleet-ca 为其需要用来验证来自 Fleet Server 的证书的证书颁发机构。Fleet Server 向 Agent 呈现其证书 fleet-cert,Agent(作为客户端)使用 fleet-ca 验证所呈现的证书。

为了建立双向 TLS 连接,Agent 呈现其证书 agent-cert,而 Fleet Server 使用其存储在内存中的 agent-ca 验证此证书。

Diagram of mutual TLS connection between Fleet Server and Elastic Agent

Fleet Server 还可以与 Elasticsearch 集群建立双向 TLS 连接。在这种情况下,Fleet Server 使用来自 Elasticsearch 的证书颁发机构 es-ca,并使用它来验证 Elasticsearch 向其呈现的证书 es-cert

Diagram of mutual TLS connection between Fleet Server and Elasticsearch

请注意,您还可以使用代理为 Fleet Server 和 Elastic Agent 配置双向 TLS。

双向 TLS 连接中组件之间的关系
编辑
Diagram of mutual TLS connection between components