针对elk7.13安全配置参考网上文档,根据实际进行小修改,并验证
6.8之前免费版本并不包含安全认证功能
本版本使用6.8.4最新版7.6需JDK11
免费版本
TLS 功能,可对通信进行加密
文件和原生 Realm,可用于创建和管理用户
基于角色的访问控制,可用于控制用户对集群 API 和索引的访问权限;
通过针对 Kibana Spaces 的安全功能,还可允许在 Kibana 中实现多租户。
收费版本包含更丰富的安全功能,比如:
日志审计
IP过滤
LDAP、PKI和活动目录身份验证
单点登录身份验证(SAML、Kerberos)
基于属性的权限控制
字段和文档级别安全性
静态数据加密支持
需要同时在ES和kibana端开启安全认证功能
一、启用安全模块
在elasticsearch.yml配置文件中加入
xpack.security.enabled: true
在免费版本中此项设置是禁用的
二、集群内部安全通信
1.生成证书
bin/elasticsearch-certutil ca
2.为集群中的每个节点生成证书和私钥
/elasticsearch-certutil cert --ca elastic-stack-ca.p12
回车即可,若创建密码切记一致
3.将证书拷贝到elasticsearch的每个节点下面config/certs目录下
elastic-certificates.p12
4.配置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
5.如果在创建证书的过程中加了密码,需要将你的密码加入到你的Elasticsearch keystore中去。每个节点都需要
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
三、给认证的集群创建用户密码
启动es
bin/elasticsearch-setup-passwords interactive
elastic 账号:拥有 superuser 角色,是内置的超级用户。
kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。
beats_system账号:拥有 beats_system 角色。用户 Beats 在 Elasticsearch 中存储监控信息时使用。
elastic是超级用户
四、在Kibana中设置登录ES的用户
在Kibana.yml中配置
elasticsearch.username: "xxx"
elasticsearch.password: "xxx"
如果你不想将用户ID和密码放在kibana.yml文件中明文配置,可以将它们存储在密钥库中。运行以下命令以创建Kibana密钥库并添加配置
bin/kibana-keystore create
bin/kibana-keystore add elasticsearch.name
bin/kibana-keystore add elasticsearch.password
#删除
bin/kibana-keystore remove xxxx
重启kibana
————————————————
版权声明:本文为CSDN博主「JesJiang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiangshuanshuan/article/details/106014064
安全配置完成后的配置手册如下:
#集群名称 一个集群配置相同名称
cluster.name: hq-escluster
#节点名称 唯一每个节点不同
node.name: hq-es01
node.master: true
node.data: true
#配置集群可发现节点
discovery.seed_hosts: ["10.2.2.61:9300", "10.2.2.62:9300", "10.2.2.63:9300"]
#主节点配置
#cluster.initial_master_nodes: ["hq-es01"]
path.data: /data/elasticsearch/data
#本机IP
network.host: 10.2.2.61
transport.tcp.port: 9300
transport.tcp.compress: true
http.port: 9200
http.max_content_length: 100mb
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
文章评论