ElasticSearch添加用户名及密码 在RestHighLevelClient中增加用户名密码验证

这篇具有很好参考价值的文章主要介绍了ElasticSearch添加用户名及密码 在RestHighLevelClient中增加用户名密码验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Elasticsearch未授权访问漏洞

        漏洞描述:ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。Elasticsearch的增删改查操作全部由http接口完。由于Elasticsearch授权模块需要付费,所以免费开源的Elasticsearch可能存在未授权访问漏洞。该漏洞导致,攻击者可以拥有Elasticsearch的所有权限。可以对数据进行任意操作。业务系统将面临敏感数据泄露、数据丢失、数据遭到破坏甚至遭到攻击者的勒索。      

        默认安装情况下,Elasticsearch会开启并监听9200端口,但是对于该端口并没有访问控制,恶意用户可以在未授权的情况下通过浏览器访问ip:9200/_nodes/stats等链接获得系统信息、以及存储的敏感数据等。 

漏洞的验证

        访问IP:端口/_cat/indices,如果可以看到“数据库”了,证明漏洞是可被利用的,可以设置防火墙屏蔽9200外部访问,还可以添加用户名及密码限制其访问

添加用户名及密码

        (1)、启用xpack安全功能

                ES 6.8以后的版本自带一个叫 xpack 的安全功能,启用即开启了xpack的功能、模式、并且传输启用ssl,。

                修改 elasticsearch.yml ,加上以下配置项:

xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

                然后重启ES服务 

        (2)、执行命令:./elasticsearch-setup-passwords interactive

                切换到/bin 目录下,执行命令:./elasticsearch-setup-passwords interactive

                先输入 y 确认修改密码, 然后根据提示输入每个账号的密码即可

在RestHighLevelClient中增加用户名密码验证

        (1)、配置文件修改

        增加username及password文章来源地址https://www.toymoban.com/news/detail-467070.html

# ES配置
elasticsearch:
  cluster: elasticsearch
  ip: xxx.xxx.xxx.xxx
  port: 9200
  username: elastic
  password: xxxxxxx

        (2)、修改相关配置

@Configuration
public class ElasticsearchConfig {

    @Value("${elasticsearch.cluster}")
    private String cluster;

    @Value("${elasticsearch.ip}")
    private String ip;

    @Value("${elasticsearch.port}")
    private int port;

    @Value("${elasticsearch.username}")
    private String username;

    @Value("${elasticsearch.password}")
    private String password;

    public static final RequestOptions COMMON_OPTIONS;
    static {
        RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
        COMMON_OPTIONS = builder.build();
    }

    @Bean
    public RestHighLevelClient client() {
        ClientConfiguration clientConfiguration = null;
        try {
            clientConfiguration = ClientConfiguration.builder()
                    .connectedTo(ip+":"+port)
                    .withConnectTimeout(Duration.ofSeconds(5))
                    .withSocketTimeout(Duration.ofSeconds(3))
                    .withBasicAuth(username, password)
                    .build();
        }catch (Exception e){
            e.printStackTrace();
        }
        return RestClients.create(clientConfiguration).rest();
    }

}

到了这里,关于ElasticSearch添加用户名及密码 在RestHighLevelClient中增加用户名密码验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticSearch 设置用户名密码 && 查询

    一、设置密码 1.需要在配置文件中开启x-pack验证, 修改config目录下面的elasticsearch.yml文件,在里面添加如下内容,并重启. 2,执行设置用户名和密码的命令,这里需要为4个用户分别设置密码,elastic, kibana, logstash_system,beats_system 网上设置时出现的: 我设置密码时出现的: 其中,用

    2024年01月17日
    浏览(75)
  • elasticsearch设置用户名和密码

    1、需要在配置文件中开启x-pack验证:修改config目录下面的elasticsearch.yml文件,在里面添加如下内容 2、重启es 3、进入es的安装根目录bin下找到elasticsearch-setup-passwords、并执行如下命令 4、执行elasticsearch-setup-passwords interactive命令后,这里需要为4个用户分别设置密码,elastic, kib

    2024年02月02日
    浏览(71)
  • JAVA ElasticSearch中配置用户名密码

     

    2024年02月12日
    浏览(47)
  • elasticsearch7设置用户名和密码

    windows ,elasticsearch 在elasticsearch.yml中添加 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true 在es的bin目录下命令行执行:elasticsearch-setup-passwords interactive   curl -H \\\"Content-Type:application/json\\\" -XPOST -u elastic \\\'http://127.0.0.1:9200/_xpack/security/user/elastic/_password\\\' -d \\\'{ \\\"password\\\" : \\\"123456\\\" }\\\' 修

    2024年02月12日
    浏览(55)
  • 为Kafka添加用户名密码支持并配置ssl协议

    在使用kafka过程中,出于安全考虑需要给kafka配置支持用户名密码验证(zookeeper使用kafka自带)和SSL验证 推荐下载kafka的kafka_2.13-3.5.0版本,本配置方法基于kafka_2.13-3.5.0版本,其他版本可能略有调整。kafka安装目录为/opt/kafka,jdk安装目录为/opt/jdk。 1.编写生成证书的脚本,详细步骤

    2024年02月08日
    浏览(65)
  • ElasticSearch没有记录初始化用户名密码

    初次使用启动ES时会初始化用户名:elastic,密码是随机生成的,在初次启动时控制台会展示相关信息(包含初始化密码),此时要注意保存,否则之后启动不会再显示。 对于我而言,我初次启动时没有保存记录密码,导致开启安全策略后无法通过用户密码登陆,并且我找了

    2024年02月10日
    浏览(47)
  • elasticsearch 7.6.1 的用户名和密码,kibana修改密码

    一/设置用户名密码 版本elasticsearch 7.6.1 elasticsearch/config/elasticsearch.yaml文件中添加如下内容 # ---------------------------------- Auth ------------------------------------- xpack.security.enabled: true xpack.license.self_generated.type: basic xpack.security.transport.ssl.enabled: true 在elasticsearch bin目录下使用如下命令

    2024年02月04日
    浏览(53)
  • Elasticsearch增加访问权限:使用用户名和密码访问

    elasticsearch服务安装成功后,默认可以在浏览器输入地址直接访问: 现对elasticsearch增加访问权限,使用用户名和密码访问,操作步骤: 在elasticsearch安装目录的config文件下找到elasticsearch.yml配置文件,在文件末尾添加以下内容 重新启动elasticsearch 切换到elasticsearch安装目录的b

    2024年02月03日
    浏览(56)
  • 使用URL访问elasticsearch携带用户名和密码

    示例: curl http://elastic:123456@127.0.0.1:9200/ 账号:elastic 密码:123456  

    2024年02月16日
    浏览(50)
  • [Elasticsearch] 给ES设置必须以用户名密码访问

    一、elasticsearch.yml中设置 1、进入es的config目录中打开elasticsearch.yml 2、增加以下两项: 二、重启es后使用elasticsearch-setup-passwords进行密码设置 1、在完成修改elasticsearch.yml后,重启es; 2、进入es的bin目录,敲入命令: 3、之后分别给elastic, kibana, logstash_system,beats_system等用户设置密

    2024年02月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包