前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深入了解Elasticsearch:设置启动和访问密码

深入了解Elasticsearch:设置启动和访问密码

原创
作者头像
洛秋_
发布于 2023-12-14 09:57:59
发布于 2023-12-14 09:57:59
3.7K0
举报

引言

在保障数据安全的现代环境中,对 Elasticsearch 启动和访问实施有效的密码保护至关重要。本节将详细介绍如何设置 Elasticsearch 的启动密码以及访问密码,以确保系统的安全性。通过合理配置密钥库和使用 SSL 加密通信,您可以有效地管理启动密码,并在访问密码方面提供更强大的安全性。

设置启动密码

elasticsearch-密钥库

代码语言:shell
AI代码解释
复制
# 该命令用于管理 Elasticsearch 密钥库中的安全设置。
elasticsearch-keystore

描述

所有安全设置都是特定于节点的设置,必须具有 每个节点上的值相同。因此,您必须在每个节点上运行此命令。当密钥库受密码保护时,每次都必须提供密码 Elasticsearch 启动。在重新启动 Elasticsearch 之前,对密钥库的修改不会生效。

创建启动密码

代码语言:shell
AI代码解释
复制
bin/elasticsearch-keystore create -p

系统将会提示输入启动密码。受密码保护的文件elasticsearch.keystore将与该文件 elasticsearch.yml一起创建。

修改启动密码

代码语言:shell
AI代码解释
复制
bin/elasticsearch-keystore passwd

如果之前有旧密码,修改密码时系统会提示输入旧密码,然后再输入新密码。

如果之前没有设置过密码,系统将提示直接设置密码。

列出秘钥库中的设置(如果之前设置了密码,则需要输入密码验证)

代码语言:shell
AI代码解释
复制
bin/elasticsearch-keystore list

删除启动密码

代码语言:shell
AI代码解释
复制
bin/elasticsearch-keystore remove the.setting.name.to.remove
# 还可以一次性删除多个
bin/elasticsearch-keystore remove \
  the.setting.name.to.remove \
  the.other.setting.name.to.remove

删除的时候系统会提示输入密钥库的保护密码。

或者在设置密码时,不输入新的密码,直接回车,同样可以将密码清楚启动密码。

当然,除了启动ES的密码还可以设置防止访问ES的密码,这个是更加重要的。

设置访问密码

修改ES的配置文件config/elasticsearch.yml在最后面添加以下内容

代码语言:shell
AI代码解释
复制
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

切换到ES用户并启动ES

代码语言:shell
AI代码解释
复制
su - es
cd /app/elasticsearch-7.8.0/
./bin/elasticsearch -d

设置访问密码

代码语言:shell
AI代码解释
复制
./bin/elasticsearch-setup-passwords interactive

接下来需要设置一系列的密码,可以都设置同一个密码,然后设置完成后重启ES即可

在设置认证的过程中可能会遇到的错误

代码语言:shell
AI代码解释
复制
Caused by: javax.net.ssl.SSLHandshakeException: No available authentication scheme

这里是使用了ssl加密通信导致的问题

报错解决方法

生成CA证书(生成时需要设置密码,可以直接回车)

代码语言:shell
AI代码解释
复制
bin/elasticsearch-certutil ca

使用证书生成p12秘钥

代码语言:shell
AI代码解释
复制
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

在config目录下创建certs目录,并将生成的p12文件复制到certs目录,并在config/elasticsearch.yml最后面新增以下内容

代码语言:shell
AI代码解释
复制
xpack.security.enabled: true
xpack.license.self_generated.type: basic
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

总结

通过以上步骤,您已经成功设置了 Elasticsearch 的启动密码和访问密码,从而为您的数据和系统安全提供了一层坚实的保障。保持密码的定期更新和定期审计,以适应不断变化的安全需求。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 设置启动密码
    • elasticsearch-密钥库
    • 描述
    • 创建启动密码
    • 修改启动密码
    • 删除启动密码
  • 设置访问密码
    • 切换到ES用户并启动ES
  • 设置访问密码
    • 报错解决方法
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档