zoukankan      html  css  js  c++  java
  • ES集群配置用户密码

    背景: ES集群原先没设置密码,存在数据泄露,被篡改风险。

    1、集群设置证书

    启用了x-pack模块,那么集群中的各节点之间通讯就必须安全认证。为了解决节点间通讯的认证问,我们需要制作证书。

    不然直接生成密码的话, 会报Cause: Cluster state has not been recovered yet, cannot write to the [null]index

    elasticsearch-certutil  cert
    

    用于生成elastic-certificates.p12 文件,

    ps: 也有博客说要先生成证书elasticsearch-certutil ca , 我这边只生成elastic-certificates.p12。

    elastic-certificates.p12文件放到config下面,同时传输到集群各节点config下面。

    2、elasticsearch.yml设置

    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
    

    重启ES

    Elasticsearch 有两个级别的通信,传输通信和 http 通信。 传输协议用于 Elasticsearch 节点之间的内部通信,http 协议用于客户端到 Elasticsearch 集群的通信。
    个人认为上面只设置了内部传输协议直接的证书,所以只用cert生成 ,没有ca生成。
    elasticsearch.yml设置里面也只设置了 xpack.security.transport.ssl, 没有设置xpack.security.http.ssl...

    开始设置密码:

    elasticsearch.yml设置

    xpack.security.enabled: true
    
    elasticsearch-setup-passwords auto 
    

    来自动生成密码

    存储密码可能需要elasticsearch.keystore
    ./elasticsearch-keystore create来生成

    生成好后配置到kibana等。

    kibana上可以自定义设置角色和用户。设置只读用户read,写入用户write

    后续可以用这些用户来操作ES了,

    curl -XGET "http://localhost:9200/_search" -H 'Content-Type: application/json' -d'{"query": {"match_all": {}}}' -u read:read1234 
    
    curl -XPOST 'http://localhost:9200/teacher/_doc' -u apm_system:apm1234 -d '{"name":"lihua1","age":13}' -H 'Content-Type:application/json; charset=UTF-8'
    
    

    参考:
    https://blog.csdn.net/UbuntuTouch/article/details/120568128
    https://blog.csdn.net/piaoranyuji/article/details/114264033
    https://zhuanlan.zhihu.com/p/163337278

  • 相关阅读:
    课堂测试-单元测试(比较大小)
    第三周进度条
    软件工程个人作业02
    构建之法——阅读笔记02
    第二周学习进度条
    第一周学习进度条
    软件工程个人作业01
    构建之法阅读笔记01
    java课堂测试
    Java验证码程序
  • 原文地址:https://www.cnblogs.com/iois/p/15664353.html
Copyright © 2011-2022 走看看