返回

安全保障的集群环境——在 Elasticsearch 集群上启用 Xpack 安全性

后端

在不安全的 Elasticsearch 集群上启用 Xpack 安全性

升级到一个安全的集群

对于任何 Elasticsearch 用户来说,保护集群安全至关重要。Xpack 安全模块提供了一系列强大的安全特性,包括身份验证、授权和加密。本指南将指导您完成将一个不安全的 Elasticsearch 集群升级到一个启用 Xpack 安全且带有 HTTPS 访问的安全集群的过程。

安装

如果您还没有安装一个不安全的 Elasticsearch 集群,请参考官方文档。准备好集群后,按照以下步骤启用 Xpack 安全性:

  1. 停止 Elasticsearch 集群。
  2. 编辑 /etc/elasticsearch/elasticsearch.yml 配置文件,添加以下配置:
xpack.security.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: /path/to/keystore.jks
xpack.security.http.ssl.keystore.password: password
xpack.security.http.ssl.truststore.path: /path/to/truststore.jks
xpack.security.http.ssl.truststore.password: password
  1. 启动 Elasticsearch 集群。
  2. 创建一个具有管理员权限的用户:
PUT /_xpack/security/user/elastic
{
  "password" : "changeme",
  "roles" : [ "admin" ]
}
  1. 测试 Xpack 安全性:
curl -XGET 'https://localhost:9200/' -u elastic:changeme

如果收到以下响应,则表示 Xpack 安全性已成功启用:

{
  "name" : "elasticsearch",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "UUID",
  "version" : {
    "number" : "7.16.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "113776d",
    "build_date" : "2021-08-19T18:23:24.986Z",
    "build_snapshot" : false,
    "lucene_version" : "8.10.1",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

配置用户身份验证

启用 Xpack 安全性后,配置用户身份验证非常重要。Elasticsearch 提供了多种身份验证方法,包括本地用户、LDAP、SAML 和 OAuth2。根据您的特定需求选择最合适的方法。

配置访问控制

访问控制允许您指定哪些用户可以访问哪些数据。Xpack 安全性提供了基于角色的访问控制(RBAC),它允许您创建具有不同权限级别的角色,并将其分配给用户。

启用审计记录

审计记录允许您跟踪对 Elasticsearch 集群的访问和操作。这对于了解集群的使用情况和识别可疑活动非常有用。Xpack 安全性提供了一个审计引擎,您可以使用它来记录事件并将其存储在索引中。

集成 Kibana

Kibana 是 Elasticsearch 的可视化界面。您可以通过启用 Xpack 安全性将 Kibana 集成到安全的 Elasticsearch 集群中。这将允许您以安全的方式访问和可视化 Elasticsearch 数据。

常见的常见问题解答

1. 如何重置 Xpack 安全密码?

PUT /_xpack/security/user/elastic/_password
{
  "password" : "new_password"
}

2. 如何添加一个新用户?

PUT /_xpack/security/user/new_user
{
  "password" : "new_password",
  "roles" : [ "role1", "role2" ]
}

3. 如何配置 LDAP 身份验证?

xpack.security.authc.ldap.url: ldap://ldap.example.com
xpack.security.authc.ldap.base_dn: dc=example,dc=com
xpack.security.authc.ldap.bind_dn: cn=admin,dc=example,dc=com
xpack.security.authc.ldap.bind_password: password

4. 如何启用审计记录?

xpack.security.audit.enabled: true
xpack.security.audit.outputs:
  - type: file
    path: /path/to/audit.log

5. 如何将 Kibana 集成到安全的 Elasticsearch 集群中?

编辑 /etc/kibana/kibana.yml 配置文件,添加以下配置:

elasticsearch.username: elastic
elasticsearch.password: changeme
elasticsearch.ssl.certificateAuthorities: [ "/path/to/ca.crt" ]

结论

通过启用 Xpack 安全性,您可以显着增强 Elasticsearch 集群的安全性。本指南提供了逐步说明,帮助您完成从不安全的集群到安全的集群的升级过程。通过遵循这些步骤,您可以确保您的数据免受未经授权的访问,并维持一个合规和受保护的环境。