加载中

最小化安全设置

重要提示

如果您正在运行现有的未启用安全性的集群,并希望启用 Elasticsearch 的安全功能,则只需完成以下步骤。

在 Elasticsearch 8.0 及更高版本中,首次启动 Elasticsearch 时,安全性会自动启用

如果您正在运行一个已禁用安全性的现有 Elasticsearch 集群,您可以手动启用 Elasticsearch 安全功能,然后为内置用户创建密码。您稍后可以添加更多用户,但使用内置用户可以简化为集群启用安全性的过程。

重要提示

本文档中描述的最低安全性方案不足以用于生产模式集群。如果您的集群有多台节点,您必须遵循本指南,并同时配置节点之间的传输层安全性 (TLS)

启用 Elasticsearch 安全功能可提供基本身份验证,以便您能够运行带有用户名和密码身份验证的本地集群。

  1. 在集群中的每个节点上,如果 Kibana 和 Elasticsearch 正在运行,请将它们停止。

  2. 在集群中的每个节点上,将 xpack.security.enabled 设置添加到 $ES_PATH_CONF/elasticsearch.yml 文件中,并将其值设为 true

    xpack.security.enabled: true
    		
    注意

    $ES_PATH_CONF 变量是 Elasticsearch 配置文件的路径。如果您使用归档分发包(ziptar.gz)安装了 Elasticsearch,则该变量默认为 $ES_HOME/config。如果您使用的是包分发版(Debian 或 RPM),则该变量默认为 /etc/elasticsearch

  3. 如果您的集群只有单个节点,请在 $ES_PATH_CONF/elasticsearch.yml 文件中添加 discovery.type 设置,并将其值设为 single-node。此设置可确保您的节点不会无意中连接到网络上可能运行的其他集群。

    discovery.type: single-node
    		

要与集群进行通信,必须为 elastickibana_system 内置用户配置密码。除非您启用匿名访问(不推荐),否则所有不包含凭据的请求都将被拒绝。

  1. 在集群中的每个节点上启动 Elasticsearch。例如,如果您使用 .tar.gz 包安装了 Elasticsearch,请从 ES_HOME 目录运行以下命令

    ./bin/elasticsearch
    		
    注意

    如果您正在为多节点集群执行此操作,则必须先在节点中设置传输 TLS 证书,然后才能启动这些节点。

  2. 在集群的任意节点上,打开另一个终端窗口,并通过运行 elasticsearch-reset-password 工具为 elastic 内置用户设置密码。此命令将密码重置为自动生成的值。

    ./bin/elasticsearch-reset-password -u elastic
    		

    如果您想将密码设置为特定值,请带上交互式(-i)参数运行该命令。

    ./bin/elasticsearch-reset-password -i -u elastic
    		
  3. kibana_system 内置用户设置密码。

    ./bin/elasticsearch-reset-password -u kibana_system
    		
  4. 保存新密码。在下一步中,您将把 kibana_system 用户的密码添加到 Kibana 中。

下一步配置 Kibana 以使用密码连接到 Elasticsearch

启用 Elasticsearch 安全功能后,用户必须使用有效的用户名和密码登录 Kibana。

您将配置 Kibana 使用内置的 kibana_system 用户以及您之前创建的密码。Kibana 会执行一些需要使用 kibana_system 用户的后台任务。

此帐户不适用于单个用户,也没有从浏览器登录 Kibana 的权限。相反,您将作为 elastic 超级用户登录 Kibana。

  1. elasticsearch.username 设置添加到 KBN_PATH_CONF/kibana.yml 文件中,并将其值设为 kibana_system 用户

    elasticsearch.username: "kibana_system"
    		
    注意

    KBN_PATH_CONF 变量是 Kibana 配置文件的路径。如果您使用归档分发包(ziptar.gz)安装了 Kibana,则该变量默认为 KIB_HOME/config。如果您使用的是包分发版(Debian 或 RPM),则该变量默认为 /etc/kibana

  2. 从安装 Kibana 的目录中,运行以下命令以创建 Kibana 密钥库并添加安全设置

    1. 创建 Kibana 密钥库

      ./bin/kibana-keystore create
      		
    2. kibana_system 用户的密码添加到 Kibana 密钥库中

      ./bin/kibana-keystore add elasticsearch.password
      		

      出现提示时,输入 kibana_system 用户的密码。

  3. 重启 Kibana。例如,如果您使用 .tar.gz 包安装了 Kibana,请从 Kibana 目录运行以下命令

    ./bin/kibana
    		
  4. elastic 用户身份登录 Kibana。使用此超级用户帐户管理空间、创建新用户并分配角色。如果您在本地运行 Kibana,请访问 https://:5601 以查看登录页面。

恭喜!您已为本地集群启用了密码保护以防止未授权访问。您可以作为 elastic 用户登录 Kibana 并创建更多用户和角色,但请记住,您的浏览器连接以及 Kibana 与 Elasticsearch 之间的流量仍将通过纯 HTTP 保持未加密状态。

如果您的集群有多台节点,则必须配置节点之间的传输层安全性 (TLS)。如果不启用 TLS,生产模式集群将无法启动。

无论您的集群是单节点还是多节点集群,强烈建议使用 TLS 证书来保护 HTTP 层的安全。

© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.