安全保障的集群环境——在 Elasticsearch 集群上启用 Xpack 安全性
2023-03-12 07:38:44
在不安全的 Elasticsearch 集群上启用 Xpack 安全性
升级到一个安全的集群
对于任何 Elasticsearch 用户来说,保护集群安全至关重要。Xpack 安全模块提供了一系列强大的安全特性,包括身份验证、授权和加密。本指南将指导您完成将一个不安全的 Elasticsearch 集群升级到一个启用 Xpack 安全且带有 HTTPS 访问的安全集群的过程。
安装
如果您还没有安装一个不安全的 Elasticsearch 集群,请参考官方文档。准备好集群后,按照以下步骤启用 Xpack 安全性:
- 停止 Elasticsearch 集群。
- 编辑
/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
- 启动 Elasticsearch 集群。
- 创建一个具有管理员权限的用户:
PUT /_xpack/security/user/elastic
{
"password" : "changeme",
"roles" : [ "admin" ]
}
- 测试 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 集群的安全性。本指南提供了逐步说明,帮助您完成从不安全的集群到安全的集群的升级过程。通过遵循这些步骤,您可以确保您的数据免受未经授权的访问,并维持一个合规和受保护的环境。