单节点 xpack 配置


修改 ES 配置文件,开启 Security

  • 默认文件:./config/elasticsearch.yml

    1. xpack.security.enabled: true
    2. xpack.security.transport.ssl.enabled: true
  • 配置修改完之后重启 ES。

设置内置用户密码

  1. ./bin/elasticsearch-setup-passwords interactive

修改 Kibana 配置文件,访问 ES

  • 默认文件:$KIBANA_HOME/config/kibana.yml

    1. elasticsearch.username: "elastic"
    2. elasticsearch.password: "elastic"
    3. xpack.security.enabled: true
    4. xpack.security.encryptionKey: "4297f44b13955235245b2497399d7a93"
  • 重启 Kibana,重新登录。

ES 集群 xpack 配置


官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/master/configuring-tls.html

为 ES 集群创建节点认证中心

  1. ./bin/elasticsearch-certutil ca
  • 可以设置一个密码,也可以直接回车。
  • 默认文件会在 ES 根目录产生,名为 elastic-stack-ca.p12
  • 然后可以将文件 elastic-stack-ca.p12 复制到每个 ES 节点的根目录下。

为集群中的每个节点创建证书和私钥(每个节点都要执行以下内容)

  • 生成证书和密钥。

    1. ./bin/elasticsearch-certutil cert --ca ./elastic-stack-ca.p12
  • 可以设置密码,也可以直接回车。

  • 默认会生成文件 elastic-certificates.p12
  • 将生成的文件复制到配置文件目录下:
    1. mv ./elastic-certificates.p12 ./config/

修改 ES 配置文件

  • 默认文件: ./config/elasticsearch.yml
    1. xpack.security.enabled: true
    2. xpack.security.transport.ssl.enabled: true
    3. xpack.security.transport.ssl.verification_mode: certificate
    4. xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    5. xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

如果之前节点证书设置了密码,将密码添加到 keystore

  1. ./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
  2. ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

重启 ES 集群。

设置内置用户密码

  1. ./bin/elasticsearch-setup-passwords interactive

修改 Kibana 配置文件,访问 ES

  • 默认文件:$KIBANA_HOME/config/kibana.yml

    1. elasticsearch.username: "elastic"
    2. elasticsearch.password: "elastic"
    3. xpack.security.enabled: true
    4. xpack.security.encryptionKey: "4297f44b13955235245b2497399d7a93"
  • 重启 Kibana,重新登录。