Pre
Elasticsearch - Configuring security in Elasticsearch 开启用户名和密码访问
版本号 7.x
ES7.x
操作步骤
检查当前Elasticsearch安全配置
首先,确认您的Elasticsearch集群是否启用了安全性功能。您可以通过检查配置文件 elasticsearch.yml
或者通过 curl
请求检查:
curl -u elastic:current_password -X GET "localhost:9200/_xpack/security/_authenticate?pretty"
停止Elasticsearch服务
在修改配置文件前,首先需要停止Elasticsearch服务。使用以下命令:
代码语言:javascript复制sudo systemctl stop elasticsearch
修改Elasticsearch配置文件
编辑Elasticsearch配置文件 elasticsearch.yml
,移除或注释掉与安全相关的配置。例如:
# xpack.security.enabled: true
同时,确保在 elasticsearch.yml
文件中,以下设置被正确配置或移除:
xpack.security.enabled: false
删除密码
代码语言:javascript复制curl -X DELETE -u elastic:passwd* "http://127.0.0.1:9200/.security-7"
ES 8.x ,可以使用Elasticsearch提供的 elasticsearch-reset-password
工具
https://www.elastic.co/guide/en/elasticsearch/reference/current/reset-password.html
重启Elasticsearch服务
修改完配置文件后,重新启动Elasticsearch服务:
代码语言:javascript复制sudo systemctl start elasticsearch
验证配置
确保Elasticsearch服务正常运行,并且密码验证已被禁用。您可以通过以下命令确认:
代码语言:javascript复制curl -X GET "localhost:9200"
如果返回了集群的状态信息而未要求认证信息,说明配置已生效。
小结
删除Elasticsearch密码虽然可以简化测试环境,但应小心操作,确保在生产环境中保持严格的安全配置。
- 测试环境:仅在短期测试或调试时暂时移除密码,测试完毕后立即恢复安全配置。
- 生产环境:始终保持安全设置,定期审核和更新安全策略,确保数据安全
在Elasticsearch 7.x中删除密码虽然可以简化测试或开发环境的配置,但也会带来明显的安全风险,包括:
- 未授权的访问:任何人都可以访问并修改您的数据。
- 数据泄露:敏感信息可能会被未经授权的用户读取。
- 集群不稳定:没有安全保护的集群更容易受到攻击和恶意行为的影响。
在生产环境中,应始终保持和增强Elasticsearch的安全配置,以确保数据的完整性和安全性。