目 录CONTENT

文章目录

elk密码配置

JamKing
2025-11-13 / 0 评论 / 0 点赞 / 7 阅读 / 0 字

1、elk密码安全重要性

为ELK(Elasticsearch, Logstash, Kibana)设置密码,或者说启用安全认证,是保障整个日志系统安全、稳定和合规的基石。这绝不是一个“可选项”,尤其是在生产环境中,它是一个“必选项”。

简单来说,不设置密码就等于把你的家门钥匙挂在了门上,任何人只要能找到你的房子(网络地址),就可以自由进出。

2、添加安全认证

2.1 官方安全密码设置

2.1.1 适用环境

适用于【已经部署但未投产的ELK】和【准备部署的ELK】环境

集群部署参考链接:ELK实战

2.1.2 elasticsearch添加xpack配置

PS:利用ELK实战已有的集群配置

vim /data/elasticsearch/config/elasticsearch.yml

#创建存放证书的目录
mkdir -p /data/elasticsearch/config/certs

# 启用 X-Pack 安全功能
xpack.security.enabled: true

# 启用传输层(节点间通信)的TLS/SSL(可选且强烈推荐)
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
#默认手动生成的证书名
xpack.security.transport.ssl.keystore.path: certs/elastic-stack-ca.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-stack-ca.p12

# 启用HTTP层(客户端通信)的TLS/SSL
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/elastic-stack-ca.p12

生成证书elastic-stack-ca.p12

#确认生成的证书名,不输入密码,直接回车
/data/elasticsearch/bin/elasticsearch-certutil ca

mv /data/elasticsearch/elastic-stack-ca.p12 /data/elasticsearch/config/certs/

image-Hcfj.png

2.1.3 重新启动es

chown -R elastic:elastic /data/elasticsearch
su elastic -c "/data/elasticsearch/bin/elasticsearch -d &"

2.1.4 设置es密码

/data/elasticsearch/bin/elasticsearch-setup-passwords interactive

#输入elk密码,可以同一个密码

image-Cvhv.png

2.1.5 logstash新增连接es密码

vim /data/logstash/config/logstash.conf

#添加如下配置并重新启动logstash
/data/logstash/bin/logstash -f /data/logstash/config/logstash.conf

image-LTYp.png

2.1.6 kibana新增连接es密码

vim /data/kibana/config/kibana.yml

#添加如下配置并重新启动kibana
/data/kibana/bin/kibana --allow-root &

image-iFYQ.png

2.1.7 登录验证

已经成功提示输入密码

image-aSyB.png

输入密码后成功登录和查看日志

image-AFZl.png

2.2 第三方htpasswd密码设置

2.2.1 适用环境

适用于【已经部署但不能停服的elasticsearch环境】

2.2.2 添加kibana配置

vim /data/kibana/config/kibana.yml

server.basePath: "/elk"

image-XYfh.png

2.2.3 重启kibana

/data/kibana/bin/kibana --allow-root &

2.2.4 安装htpasswd工具

yum install httpd-tools -y

2.2.5 生成密码文件

#nginx服务器上操作,elastic是自定义的账户名,回车后输入密码即可
htpasswd -cm /data/.htpasswd elastic

image-Zyrt.png

2.2.6 nginx配置

#/elk需要和kibana.yml的server.basePath: "/elk"路径一致
location /elk/ {
        proxy_pass http://172.16.10.132:5601/;
        #自定义提示语
        auth_basic "kibana登录验证";
        #刚才生成的.htpasswd路径
        auth_basic_user_file /data/.htpasswd;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        rewrite ^/elk/(.*)$ /$1 break;
    }

image-aXoM.png

重载nginx

nginx -t
#-t没问题后重载
nginx -s reload

2.2.7 登录验证

浏览器访问:http://nginx_ip:端口/elk/ 输入创建的账密即可

image-GLOI.png

image-LDZB.png

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区