为ELK配置密码访问, 以docker镜像sebp/elk为例

所有文件目录参考链接:Docker安装ELK8.x

1. 生成证书

  1. 进入docker容器: docker exec -it elk /bin/bash
  2. 进入ES的bin目录: cd /opt/elasticsearch/bin
  3. 生成ca文件,./elasticsearch-certutil ca,可以指定文件名,配置密码
  4. 生成节点秘钥文件,./elasticsearch-certutil cert --ca elastic-stack-ca.p12,可以指定文件名,配置密码
  5. 复制节点秘钥文件到各节点的指定目录下:

    # 退出Dcoker容器, 在宿主机创建certs目录, 用于存放证书
    mkdir /data/elk/elasticsearch/config/certs
    cd /data/elk/elasticsearch/config/certs
    
    # 从docker复制证书到宿主机
    docker cp elk:/opt/elasticsearch/elastic-certificates.p12 .
    docker cp elk:/opt/elasticsearch/elastic-stack-ca.p12 .
    
    # 更改certs目录权限
    cd /data/elk/elasticsearch/config
    chown -R 991 certs
    chgrp -R 991 certs
  6. 如果指定了秘钥文件密码,需要执行以下两条命令(不执行启动会报错,所有节点都要执行)

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

    实测会报错:
    ERROR: will not overwrite keystore at [/etc/elasticsearch/elasticsearch.keystore], because this incurs changing the file owner
    这个报错暂时没解决, 建议以上3-4步骤不要设置密码, 先跳过第6步

2. 配置elasearch开启密码

  1. 修改, 增加如下几行
    vim /data/elk/elasticsearch/config/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

    重启Docker容器

3. 设置密码

# 进入docker 
docker exec -it elk /bin/bash

cd /opt/elasticsearch/bin
# 手动设置密码
./elasticsearch-setup-passwords interactive
# 在后面的提示中配置密码,配置密码即可, 会有很多个密码, 都配一样的

4. 为Kibana配置访问密码

vim /data/elk/kibana/config/kibana.yml:

# elk体系有很多的用户组,kibana是默认的用户组之一,可以使用默认的用户,也可以自定义用户
# 这里不能使用elastic账户
elasticsearch.username: "kibana" 
elasticsearch.password: "1qaz@WSX3edc"

重启kibana或Docker容器docker restart elk

浏览器打开kibana页面, 使用elastic / 1qaz@WSX3edc 帐号登录


YYGP
25 声望11 粉丝

写BUG