zoukankan      html  css  js  c++  java
  • Elasticsearch7.10 开发中配置伪集群的TLS和身份验证(基础)

    二、开发中配置伪集群的TLS和身份验证(基础)

    参看资料:
    基础
    扩展
    视频
    Document

    很详细的配置,支持博客主【https://knner.wang/】链接

    我这里用到的是基础板(免费的),自动申请Basic License,X-pack 的免费Auth和Node间的SSL。

    1.创建三个Elasticsearch7.10的节点

    在一个服务器上,创建三个节点。解压文件,复制一个es-slave01和es-slave02,其中一个命名为master节点,好区分。

    2.配置TLS和身份验证文件

    在安全的集群中,Elastic节点在与其他节点通信时使用证书来标识自己。这个集群必须验证这些证书的真实性。推荐的方法
    是信任指定的CA身份认证文件,因此,当节点加入到集群中时,它只需都拥有相同的CA签署的证书,

    这里第一步是生成证书,然后把证书分发到子节点(好区分),其中一个命名为master节点。

    在这个过程中,我们需要证书让节点安全的通信,会用到elasticsearch-certutil 的命令,此命令可以很快的生成证书。

    流程:

    ca证书--》根据ca证书,生成node证书--》复制node证书到其他节点--》生成用户密码

    1.master主节点生成node证书

    官网配置Node节点认证

    1. 在config目录下
    [~choleen config]mkdir certs
    
    1. 在linux系统中,cd 进入elastic的bin目录下,这个可以不启动执行,运行此命令
    [~choleen bin]./elasticsearch-certutil cert -out elastic-certificates.p12 -pass ""
    

    对于这个命令elasticsearch-certutil ,可以输入--help来查看帮助,我们来看它给解释:

    命令 含义
    elasticsearch-certutil --help
    cert 生成X.509的证书和密码
    ca 生成一个新本地认证文件,里面包含了证书和密钥
    csr 生成证书签名
    http 对于这个Elastcsearch的http接口生成一个新的认证
    cert --help
    ca 指向已经生成的ca密钥文件
    ca-cert 指向存在的ca认证文件(节点之间认证)
    dns 指定DNS域名
    ip 指定ip
    pass 生成的私钥密码
    out 指定生成文件路径
    name 证书名字

    执行之后,在根目录生成了elastic-certificates.p12 文件。

    $ cd config
    $ mkdir certs
    $ mv ../elastic-certificates.p12 certs/
    
    1. 配置elasticsearch.yml
    xpack.security.enabled: true
    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
    

    这里的verification_mode配置方式:

    • full,认证证书是否通过信任的CA证书签发,同时认证server的hostname 或者 IP 地址是否匹配证书中配置的
    • cretificate,只认证证书是否通过信任的CA证书签发的
    • none,什么也不认证,相当于关闭了SSL/TLS认证,仅用于你非常相信的安全的环境
    1. 启动master节点,生成集群密码
    $ bin/ elasticsearch-setup-passwords interactive
    

    手动设置密码,elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user,都有这些用户。

    登录时会用到。

    1. Elastic节点配置TLS
      由于不是后台运行,打开一个新的终端,拷贝node证书(cert文件)到字节的的config/certs目录下。

      节点中node.master: false,不能为true。

      在其他节点中增加,就是xpck.security.*键设置为master一样。
    $ echo "xpack.security.enabled: true" >> elasticsearch.yml
    $ echo ''xpack.security.transport.ssl.enabled: true" >> elasticsearch.yml
    $ echo ''xpack.security.transport.ssl.verification_mode: certificate" >> elasticsearch.yml
    $ echo ''xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12" >> elasticsearch.yml
    $ echo ''xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12" >> elasticsearch.yml
    
    1. 运行其他两个节点,
    $ bin/elasticsearch
    

    最后看其他两个节点加入进去没有。

    1. Kibana中设置安全
    elasticsearch.username: "kibana"
    elasticsearch.password: "admin123"
    

    运行命令 bin/kibana --allow-root

    打开浏览器,输入 http://localhost:5601

    这里的密码,我们可以使用elastic超级用户进行登录,就是来自setup-password 命令。

    1. Kibana中可以设置Role和User
    • role

    • user

    先生成证书

    1. 执行命令 $ bin/elasticsearch-certutil ca -v
      • 其中
    Please enter the desired output file [elastic-stack-ca.p12]:  # 输入保存的ca文件名称
    Enter password for elastic-stack-ca.p12 : # 输入证书密码,我们这里留空
    
    1. 在生成node证书时,使用$ bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
      • 其中
    Enter password for CA (elastic-stack-ca.p12) :  # 输入CA证书的密码,我们这里没有设置,直接回车
    Please enter the desired output file [elastic-certificates.p12]:  # 输入证书保存名称,保值默认直接回车
    Enter password for elastic-certificates.p12 :  # 输入证书的密码,留空,直接回车
    

    这种根据CA证书签署生成的node证书elastic-certificates.p12,包含有node证书、CA证书、私钥

    3. 查看节点命令

    1. 查看节点信息
    $ curl localhost:9200/_cat/nodes?v
    
    1. 查看节点状态
    $ curl localhost:9200/_cat/health
    
    1. 查看每台机器的属性
    $ curl localhost:9200/_cat/nodeattrs
    
    弯弯月亮,只为美好的自己。
  • 相关阅读:
    Cygwin一些设置总结!
    【补题】牛客58矩阵消除【数据水的一匹,算法:二进制枚举】
    【补题】牛客58E题(数学)
    [补题]牛客练习56,迷宫【orz】
    【补题】牛客58E题(数学)
    判断两个二叉树是否相同
    判断两个二叉树是否相同
    利用费马小定理求逆元
    [补题]牛客练习56,迷宫【orz】
    【补题】牛客58矩阵消除【数据水的一匹,算法:二进制枚举】
  • 原文地址:https://www.cnblogs.com/Choleen/p/14182353.html
Copyright © 2011-2022 走看看