Elastic-Search设置密码

本文档详细介绍了如何在Elasticsearch中进行安全配置,包括生成keystore、创建证书、修改配置文件`elasticsearch.yml`以启用HTTP CORS、SSL/TLS以及设置密码。步骤包括使用`elasticsearch-keystore`和`elasticsearch-certutil`工具,以及通过交互式和自动模式设置密码。完成这些步骤将确保Elasticsearch实例具有基本的安全保护。
  1. 保证
  2. 在config目录下生成文件elasticsearch.keystore,在elastic-search的bin目录下执行:

elasticsearch-keystore create

  1. 在config目录下创建文件夹certs,并生成证书文件,在elastic-search的bin目录下执行(输入私钥key的时候可以直接回车):

./elasticsearch-certutil ca -out config/certs/elastic-certificates.p12 -pass

  1. 修改config目录下elasticsearch.yml文件的配置, 并重启elastic-search

http.cors.enabled: true
http.cors.allow-origin: “*”
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type x
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

  1. 设置密码
    (a). 手动模式(需要逐个输入)

./elasticsearch-setup-passwords interactive

(b). 自动模式(随机生成,需要自己保存好)

./elasticsearch-setup-passwords auto

### 在 Elasticsearch设置密码的方法与配置教程 在 Elasticsearch设置密码是确保集群安全的重要步骤。以下是关于如何为 Elasticsearch 设置密码的详细说明,涵盖不同场景下的操作方法。 #### 方法一:使用 `elasticsearch-reset-password` 工具重置或设置密码 Elasticsearch 提供了一个内置工具 `elasticsearch-reset-password`,用于重置内置用户的密码。通过以下命令可以生成或修改用户密码: ```bash ./elasticsearch-reset-password -u elastic ``` 该命令会提示输入新密码,并将其应用于指定用户(例如 `elastic` 用户)。如果需要自定义密码,可以添加 `-i` 参数以交互方式输入密码[^1]。 #### 方法二:通过修改配置文件禁用身份验证并重新设置密码 如果忘记了 Elasticsearch 的登录密码,可以通过以下步骤恢复访问权限: 1. 编辑 `elasticsearch.yml` 文件,注释掉与身份验证相关的配置项。 2. 重启 Elasticsearch 服务。 3. 删除 `.security-7` 索引以清除现有安全配置: ```bash curl -X DELETE "http://localhost:9200/.security-7" ``` 4. 重启 Elasticsearch 并重新启用安全功能。 5. 使用 `elasticsearch-reset-password` 工具设置密码[^2]。 #### 方法三:在 Windows 环境下设置密码 对于 Windows 系统,可能需要调整 Elasticsearch 的 JDK 配置以支持密码设置。具体操作如下: 1. 打开 `elasticsearch-env.bat` 文件。 2. 注释掉默认使用系统 JDK 的设置,并指定 Elasticsearch 自带的 JDK 11 路径[^4]。 3. 使用上述方法设置或重置密码。 #### 方法四:为 Elasticsearch 配置 X-Pack 安全功能 X-Pack 是 Elasticsearch 的扩展插件,提供了包括用户管理、角色分配和 SSL/TLS 支持在内的安全功能。以下是启用 X-Pack 并设置密码的步骤: 1. 确保 Elasticsearch 配置文件中启用了 X-Pack 功能: ```yaml xpack.security.enabled: true ``` 2. 启动 Elasticsearch 并运行以下命令初始化内置用户密码: ```bash ./bin/elasticsearch-setup-passwords interactive ``` 3. 根据提示为每个内置用户(如 `elastic`、`kibana_system` 等)设置密码[^3]。 #### 方法五:配置自签名 SSL 证书以增强安全性 为了进一步提升安全性,可以为 Elasticsearch 配置自签名 SSL 证书。以下是创建证书的步骤: 1. 创建一个扩展配置文件 `v3.ext`,定义所需的 DNS 和 IP 地址: ```text authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = elasticsearch IP.1 = 127.0.0.1 IP.2 = 172.17.0.2 ``` 2. 使用 OpenSSL 工具生成证书和私钥: ```bash openssl req -newkey rsa:2048 -nodes -keyout elasticsearch.key -x509 -days 365 -out elasticsearch.crt -config v3.ext ``` 3. 将生成的证书和私钥放置到 Elasticsearch 的配置目录中,并更新 `elasticsearch.yml` 文件以引用这些文件[^5]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值