ES证书认证相关笔记

这篇具有很好参考价值的文章主要介绍了ES证书认证相关笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于自己颁发的证书,浏览器识别为不安全,当遇到不能访问时,可以采用以下方法试试:

ES证书认证相关笔记

方法:点击页面空白处,输入badidea或者thisisunsafe。页面会自动刷新。

一、集群间节点认证

  1. 生成ca证书

    bin/elasticsearch-certutil ca
    

    可以设置密码

  2. 生成elastic-certificates.p12证书

    bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    

    如果ca证书设置了密码,该命令执行后,需要输入ca证书的密码

    该证书本身也可以设置密码

    在以上两步执行完成之后,会得到以下文件

    elastic-certificates.p12  elastic-stack-ca.p12
    
  3. 如果ca证书和elastic-certificates.p12证书设置了密码

    则需要执行以下命令

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

    在执行每行命令之后,都需要输入ca证书的密码

  4. 将证书拷贝到每个节点的config/certs目录下

  5. 配置elasticsearch

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

  7. 访问es

    curl http://localhost:9200
    

    注:此时还没有为es设置访问的https,只是设置了集群内部通信的加密

    此时应修改elastic的初始化密码和kibana的密码

    ./bin/elasticsearch-reset-password -i -u kibana
    ./bin/elasticsearch-reset-password -i -u elastic
    
  8. 设置外部访问es,使用https

    如果ca证书设置了密码,则需要执行以下命令,并在命令执行之后,输入ca证书的密码

    bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password    
    bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password 
    

    在es配置文件中,添加以下配置

    xpack.security.http.ssl:
      enabled: true
      keystore.path: certs/elastic-certificates.p12
    
  9. 如果遇到更新geoip库失败,则关闭它

    ingest.geoip.downloader.enabled: false
    

二、配置kibana访问es

  1. 生成crt证书文件

    在es的证书目录下,执行以下命令

    cd config/certs
    openssl pkcs12 -in elastic-stack-ca.p12 -out kibana.crt.pem -clcerts -nokeys
    

    该命令会生成一个证书kibana.crt.pem

    将该证书移动到kibana的配置目录下

  2. 配置kibana

    elasticsearch.username: "kibana"
    elasticsearch.password: "XXXX you know, kibana password"
    
    elasticsearch.ssl.certificateAuthorities: ["config/kibana.crt.pem"]
    elasticsearch.ssl.verificationMode: none
    
  3. 启动kibana,访问kibana

    http://localhsot:5601
    

三、设置外部访问kibana使用https

  1. 生成证书和私钥

    在es目录下执行以下命令

    ./bin/elasticsearch-certutil csr -name kibana-server -dns example.com, localhost
    

    ./bin/elasticsearch-certutil csr -name kibana-server -ip 127.0.0.1
    

    注:该证书只能是dns或ip后面的地址来访问

    该命令执行完毕后,会生成一个压缩包csr-bundle.zip

  2. 移动证书

    将压缩包解压后,将里面的文件移动到kibana的配置目录下

    在压缩包中有两个文件

    kibana-server.csr  kibana-server.key 
    
  3. 生成 kibana-server.crt 文件

    在kibana的配置目录下,执行以下命令

    openssl x509 -req -in kibana-server.csr -signkey kibana-server.key -out kibana-server.crt
    

    该命令会生成kibana-server.crt文件

  4. 修改kibana配置文件

    添加以下内容

    server.ssl.enabled: true
    server.ssl.certificate: config/kibana-server.crt
    server.ssl.key: config/kibana-server.key
    
  5. 重启kibana,访问kibana文章来源地址https://www.toymoban.com/news/detail-401430.html

    https://localhost:5601
    

到了这里,关于ES证书认证相关笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包