更改elasticsearch中的search guard管理员密码

tnkciper  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(0)|浏览(499)

我对elasticsearch和SearchGuard还不熟悉。我想更改search guard的内置admin用户的密码,或者更好,禁用admin用户并创建一个与admin完全相同的访问权限的新用户。我已经在elasticsearch 7.10.1上安装了search guard 48.0.0版,使用的是windows server 2016上的zip文件(而不是msi,如果它存在的话)。我已经用 hash.bat 文件在search guard plugin文件夹/tools中,我替换了 admin 中的用户 sg_internal_users.yml 新生成的文件。重启了弹性服务器,什么都没发生。仍然 admin 用户有“admin”密码。更新了 sg_config.yml 文件以使用内部用户:

basic_internal_auth_domain: 
         description: "Authenticate via HTTP Basic against internal users database"
         http_enabled: true
         transport_enabled: true
         order: 4
         http_authenticator:
           type: basic
           challenge: true
         authentication_backend:
           type: internal

我甚至向内部用户添加了一个新用户,但什么也没发生。甚至新添加的用户也不能在kibanagui内部用户中列出。

admin:
  hash: "$2a$12$VcCDgh2NDk07JGN0rjGbM.Ad41qVR/YFJcgHp0UGns5JDymv..TOG"
  reserved: false
  backend_roles:
  - "admin"
  description: "Demo admin user"

myNewUser:
  hash: "$2y$12$ZC8bbQUeQ1tBU926P8IU0Os1XVfisWI7T8h158bdGwWklyiCHSIbi"
  reserved: true
  backend_roles:
  - "admin"
  description: "Demo admin user"

甚至无法更新kibana中的管理员密码,即使没有 readonly 标记 sg_internal_users.yml 为管理员。

将我的用户Map到 sg_roles_mapping.yml ,但仍然没有结果:

SGS_ALL_ACCESS:
  reserved: true
  users:
  - myNewUser
  - admin
  backend_roles:
  - "admin"
  description: "Maps admin to SGS_ALL_ACCESS"

将以下行添加到 elasticsearch.yml 从这些文件中使用,但仍然没有:

searchguard.allow_default_init_sgindex: true
searchguard.restapi.roles_enabled: ["SGS_ALL_ACCESS"]
xpack.security.enabled: false

作为最后的手段,我用这些设置复制了sgconfig文件夹,卸载了search guard,删除了plugin文件夹并重新安装了它,用上一个替换了新的sgconfig文件夹,但都没有用。
我有elasticsearch的免费(社区)版本。任何帮助都将不胜感激。
更新1:我正在尝试使用 sgadmin 代码如下:

.\sgadmin.bat --reload -cert ..\..\..\config\node1.pem -cacert ..\..\..\config\root-ca.pem -h [myipaddress here!] -p 9200 -key ..\..\..\config\node1.key -keypass mypassword -noopenssl -sniff –reload-http-certs –reload-transport-cert

我用下面的设置elasticsearch.yml

searchguard.ssl.transport.pemcert_filepath: node1.pem
searchguard.ssl.transport.pemkey_filepath: node1.key
searchguard.ssl.transport.pemkey_password: mypassword
searchguard.ssl.transport.pemtrustedcas_filepath: root-ca.pem

但我得到了以下错误: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record: 我没有使用ssl,我不知道如何将它设置为false来解决这个错误。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题