返回

强化 Elasticsearch 安全:启用账户密码与 Elasticsearch Head 连接

见解分享

强化 Elasticsearch 安全性:启用账户密码和配置 Elasticsearch Head

引言

保障 Elasticsearch 数据安全至关重要,因为它关系到数据机密性和完整性,防止未经授权的访问、篡改或删除。Elastic Stack 通过其 x-pack 插件提供了一系列安全功能,包括用户身份验证和 Elasticsearch Head 管理界面的授权。本文将详细指导您启用账户密码并配置 Elasticsearch Head,全面提升 Elasticsearch 安全性。

一、启用账户密码

1. 修改配置文件

编辑配置文件 elasticsearch.yml:

xpack.security.enabled: true
xpack.security.authc.realms.native.type: native
xpack.security.authc.realms.native.users: ["user1:password1", "user2:password2"]

将 user1 和 password1 替换为您的用户名和密码,并添加其他用户。

2. 重启 Elasticsearch

sudo service elasticsearch restart

二、配置 Elasticsearch Head

1. 验证账户密码

启动 Elasticsearch Head,使用您的用户名和密码进行身份验证:

  • 在浏览器中输入 Elasticsearch Head URL(如 http://localhost:9200/_plugin/head)。
  • 点击“登录”并输入凭证。

成功登录表示账户密码已启用。

2. 连接到 Elasticsearch

  • 在 Elasticsearch Head 主页中,点击“齿轮”图标。

  • 在“连接”选项卡中,填写以下信息:

    • 主机: localhost
    • 端口: 9200
    • 方案: http
    • 路径前缀: /
  • 点击“保存”按钮。

三、测试连接

点击 Elasticsearch Head 主页中的“连接”按钮。如果连接成功,您将看到集群信息。

四、进一步增强安全性

除了启用账户密码和配置 Elasticsearch Head,还可以采取以下措施进一步提升安全性:

  • 实施角色和权限管理: 使用 Elastic Stack 的角色和权限系统,限制用户对不同操作的访问权限。
  • 启用 TLS/SSL 加密: 加密 Elasticsearch 通信以防止窃听。
  • 使用安全插件: 安装和配置 x-pack 的其他安全插件,如审计和事件响应。

五、常见问题解答

1. 如何重置忘记的密码?

编辑 elasticsearch.yml 文件并删除 native 身份验证。重新启动 Elasticsearch,然后重新启用 native 身份验证并设置新密码。

2. 如何添加新用户?

在 elasticsearch.yml 文件中,在 xpack.security.authc.realms.native.users 列表中添加新用户和密码。重新启动 Elasticsearch 以生效。

3. 如何禁用账户密码?

在 elasticsearch.yml 文件中,将 xpack.security.enabled 设置为 false。重新启动 Elasticsearch 以生效。

4. 如何解决 Elasticsearch Head 连接问题?

  • 检查连接设置是否正确。
  • 确保 Elasticsearch 正在运行。
  • 确保防火墙允许连接 Elasticsearch。

5. 如何配置 TLS/SSL 加密?

在 elasticsearch.yml 文件中,配置 xpack.security.transport.ssl 节点以启用 TLS/SSL 加密。重新启动 Elasticsearch 以生效。