zoukankan      html  css  js  c++  java
  • elasticsearch相关

                        如何修改elasticsearch密码

        一 前言

            客户环境上面的ES在渗透扫描的时候发现了elasticsearch对其访问未作任何相关的安全策略,需要指定策略

        二 查看配置文件elasticsearch.yml部分内容如下所示

    # Block initial recovery after a full cluster restart until N nodes are started:
    #
    #gateway.recover_after_nodes: 3
    #
    # For more information, consult the gateway module documentation.
    #
    # ---------------------------------- Various -----------------------------------
    #
    # Require explicit names when deleting indices:
    #
    #action.destructive_requires_name: true
    
    #xpack.security.enabled: true
    #xpack.license.self_generated.type: basic
    #xpack.security.transport.ssl.enabled: true

       

       三 已经注视掉了认证相关,需要将如上红色的部分注释

    # Block initial recovery after a full cluster restart until N nodes are started:
    #
    #gateway.recover_after_nodes: 3
    #
    # For more information, consult the gateway module documentation.
    #
    # ---------------------------------- Various -----------------------------------
    #
    # Require explicit names when deleting indices:
    #
    #action.destructive_requires_name: true
    
    xpack.security.enabled: true
    xpack.license.self_generated.type: basic
    xpack.security.transport.ssl.enabled: true

      并且重启ES

    systemctl restart elasticsearch

       四 之后找到ES的安装位置

    [root@ECP-HK-1 elasticsearch]# systemctl cat elasticsearch
    # /usr/lib/systemd/system/elasticsearch.service
    [Unit]
    Description=Elasticsearch
    Documentation=https://www.elastic.co
    Wants=network-online.target
    After=network-online.target
    ........
    ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet

       五 执行修改密码命令(当存在密码的时候可能会报错,这个后面告诉你怎么处理)

    [root@ECP-HK-1 elasticsearch]# /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
    future versions of Elasticsearch will require Java 11; your Java version from [/opt/daho/oraclejdk/jdk1.8.0_91/jre] does not meet this requirement
    Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
    You will be prompted to enter passwords as the process progresses.
    Please confirm that you would like to continue [y/N]y
    Enter password for [elastic]:
    Reenter password for [elastic]:
    Enter password for [apm_system]:
    Reenter password for [apm_system]:
    Enter password for [kibana_system]:
    Reenter password for [kibana_system]:
    Enter password for [logstash_system]:
    Reenter password for [logstash_system]:
    Enter password for [beats_system]:
    Reenter password for [beats_system]:
    Enter password for [remote_monitoring_user]:
    Reenter password for [remote_monitoring_user]:
    Changed password for user [apm_system]
    Changed password for user [kibana_system]
    Changed password for user [kibana]
    Changed password for user [logstash_system]
    Changed password for user [beats_system]
    Changed password for user [remote_monitoring_user]
    Changed password for user [elastic]

      六 之后分别尝试使用有密码和无密码的方式进行登陆

    [root@ECP-HK-1 elasticsearch]# curl localhost:9200
    {"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm="security" charset="UTF-8""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm="security" charset="UTF-8""}},"status":401}[root@ECP-HK-1 elasticsearch]#
    
    [root@ECP
    -HK-1 elasticsearch]# curl localhost:9200 -u elastic:{xxxxxx} {"error":{"root_cause":[{"type":"security_exception","reason":"unable to authenticate user [elastic] for REST request [/]","header":{"WWW-Authenticate":"Basic realm="security" charset="UTF-8""}}],"type":"security_exception","reason":"unable to authenticate user [elastic] for REST request [/]","header":{"WWW-Authenticate":"Basic realm="security" charset="UTF-8""}},"status":401}[root@ECP-HK-1 elasticsearch]# curl localhost:9200 -u elastic:Zenlayer+1 { "name" : "node-x", "cluster_name" : "xxxxxxxx", "cluster_uuid" : "xxxxxxxx", "version" : { "number" : "7.9.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "a479a2a7fce0389512d6a9361301708b92dff667", "build_date" : "2020-08-11T21:36:48.204330Z", "build_snapshot" : false, "lucene_version" : "8.6.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }

      七  如果你记得之前密码的话还可以通过这种方式来修改密码

    curl -XPOST -u elastic "localhost:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'{"password" : "xxxxxxxx"}'

      八 如果你记不住密码了或者在第五步骤卡住了,那么接下来的操作就会帮助你成功的修改ES的密码

        8.1  执行下面命令之后重复第一步到第五步

    [root@ECP-HK-1 elasticsearch]# curl -XGET "localhost:9200/_cat/indices" -H 'Content-Type: application/json'
    green  open .security-7 vmk9A-hrQYWsfn5fW9agiQ 1 0  7 0  25.4kb  25.4kb
    yellow open audit       E2IXUx_PRtyw3J0vPXHfWQ 5 1 51 0 295.4kb 295.4kb
    [root@ECP
    -HK-1 elasticsearch]# curl -XDELETE http://localhost:9200/.security-7
    {"acknowledged":true}
  • 相关阅读:
    Confluence 6 快捷键
    Confluence 6 快捷键
    【转】Linux常用命令
    【转】Linux常用命令
    【转】Linux常用命令
    互联网分布式微服务云平台规划分析--服务监控中心
    .NET Framework基础知识(五)(转载)
    Windows 下安装mysql
    kvm
    s5-6 Linux 标准输出 系统优化 目录结构
  • 原文地址:https://www.cnblogs.com/wxm-pythoncoder/p/14573652.html
Copyright © 2011-2022 走看看