ElasticSearch单机或集群未授权访问漏洞

这篇具有很好参考价值的文章主要介绍了ElasticSearch单机或集群未授权访问漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

漏洞处理方法:

1、可以使用系统防火墙

来做限制只允许ES集群和Server节点的IP来访问漏洞节点的9200端口,其他的全部拒绝。

2、在ES节点上设置用户密码

漏洞现象:直接访问9200端口不需要密码验证

修复过程

2.1 生成认证文件

必须要生成认证文件,且ES配置文件里要引用这些生成的认证文件,否则启动ES的时候,日志会报错:Caused by: javax.net.ssl.SSLHandshakeException: No available authentication scheme。
CA 证书

[root@node1 elasticsearch-7.6.2]# su es
[es@node1 elasticsearch-7.6.2]$ ./bin/elasticsearch-certutil ca
This tool assists you in the generation of X.509 certificates and certificate
signing requests for use with SSL/TLS in the Elastic stack.

The 'ca' mode generates a new 'certificate authority'
This will create a new X.509 certificate and private key that can be used
to sign certificate when running in 'cert' mode.

Use the 'ca-dn' option if you wish to configure the 'distinguished name'
of the certificate authority

By default the 'ca' mode produces a single PKCS#12 output file which holds:
    * The CA certificate
    * The CA's private key

If you elect to generate PEM format certificates (the -pem option), then the output will
be a zip file containing individual files for the CA certificate and private key

Please enter the desired output file [elastic-stack-ca.p12]: 
Enter password for elastic-stack-ca.p12 :

elasticsearch未授权访问漏洞修复,linux运维,elasticsearch,大数据,搜索引擎,linux,运维,centos,全文检索

2.2 生成p12密钥

使用第一步生成的证书,生成p12秘钥

[es@node1 elasticsearch-7.6.2]$ ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 
This tool assists you in the generation of X.509 certificates and certificate
signing requests for use with SSL/TLS in the Elastic stack.

The 'cert' mode generates X.509 certificate and private keys.
    * By default, this generates a single certificate and key for use
       on a single instance.
    * The '-multiple' option will prompt you to enter details for multiple
       instances and will generate a certificate and key for each one
    * The '-in' option allows for the certificate generation to be automated by describing
       the details of each instance in a YAML file

    * An instance is any piece of the Elastic Stack that requires an SSL certificate.
      Depending on your configuration, Elasticsearch, Logstash, Kibana, and Beats
      may all require a certificate and private key.
    * The minimum required value for each instance is a name. This can simply be the
      hostname, which will be used as the Common Name of the certificate. A full
      distinguished name may also be used.
    * A filename value may be required for each instance. This is necessary when the
      name would result in an invalid file or directory name. The name provided here
      is used as the directory name (within the zip) and the prefix for the key and
      certificate files. The filename is required if you are prompted and the name
      is not displayed in the prompt.
    * IP addresses and DNS names are optional. Multiple values can be specified as a
      comma separated string. If no IP addresses or DNS names are provided, you may
      disable hostname verification in your SSL configuration.

    * All certificates generated by this tool will be signed by a certificate authority (CA).
    * The tool can automatically generate a new CA for you, or you can provide your own with the
         -ca or -ca-cert command line options.

By default the 'cert' mode produces a single PKCS#12 output file which holds:
    * The instance certificate
    * The private key for the instance certificate
    * The CA certificate

If you specify any of the following options:
    * -pem (PEM formatted output)
    * -keep-ca-key (retain generated CA key)
    * -multiple (generate multiple certificates)
    * -in (generate certificates from an input file)
then the output will be be a zip file containing individual certificate/key files

Enter password for CA (elastic-stack-ca.p12) : 

Please enter the desired output file [elastic-certificates.p12]: 
Enter password for elastic-certificates.p12 : 

Certificates written to /home/elasticsearch-7.6.2/elastic-certificates.p12

This file should be properly secured as it contains the private key for 
your instance.

This file is a self contained file and can be copied and used 'as is'
For each Elastic product that you wish to configure, you should copy
this '.p12' file to the relevant configuration directory
and then follow the SSL configuration instructions in the product guide.

For client applications, you may only need to copy the CA certificate and
configure the client to trust this certificate.

elasticsearch未授权访问漏洞修复,linux运维,elasticsearch,大数据,搜索引擎,linux,运维,centos,全文检索

2.3 将p12认证文件copy到其他节点

[es@node1 elasticsearch-7.6.2]$ cd config/
[es@node1 config]$ ll
total 36
-rw-rw---- 1 es es  3284 Dec 14 07:49 elasticsearch.yml
-rw-rw---- 1 es es  2301 Mar 26  2020 jvm.options
-rw-rw---- 1 es es 17545 Mar 26  2020 log4j2.properties
-rw-rw---- 1 es es   473 Mar 26  2020 role_mapping.yml
-rw-rw---- 1 es es   197 Mar 26  2020 roles.yml
-rw-rw---- 1 es es     0 Mar 26  2020 users
-rw-rw---- 1 es es     0 Mar 26  2020 users_roles
[es@node1 config]$ mkdir certs
[es@node1 config]$ cp ../elastic-certificates.p12 certs/
[root@node1 elasticsearch-7.6.2]# scp -r config node2:/home/elasticsearch-7.6.2/
log4j2.properties                                                                                100%   17KB  12.2MB/s   00:00    
users_roles                                                                                      100%    0     0.0KB/s   00:00    
roles.yml                                                                                        100%  197   406.7KB/s   00:00    
users                                                                                            100%    0     0.0KB/s   00:00    
role_mapping.yml                                                                                 100%  473     1.0MB/s   00:00    
elasticsearch.yml                                                                                100% 3284     3.2MB/s   00:00    
jvm.options                                                                                      100% 2301     4.4MB/s   00:00    
elastic-certificates.p12                                                                         100% 3443     3.1MB/s   00:00    
[root@node1 elasticsearch-7.6.2]# scp -r config node3:/home/elasticsearch-7.6.2/
log4j2.properties                                                                                100%   17KB  14.6MB/s   00:00    
users_roles                                                                                      100%    0     0.0KB/s   00:00    
roles.yml                                                                                        100%  197   492.4KB/s   00:00    
users                                                                                            100%    0     0.0KB/s   00:00    
role_mapping.yml                                                                                 100%  473     1.1MB/s   00:00    
elasticsearch.yml                                                                                100% 3284     2.7MB/s   00:00    
jvm.options                                                                                      100% 2301     5.0MB/s   00:00    
elastic-certificates.p12                                                                         100% 3443     3.9MB/s   00:00    
[root@node1 elasticsearch-7.6.2]#

2.4 修改所有ES节点配置文件

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

elasticsearch未授权访问漏洞修复,linux运维,elasticsearch,大数据,搜索引擎,linux,运维,centos,全文检索

2.5 启动集群各节点

[es@node1 elasticsearch-7.6.2]$ ./bin/elasticsearch -d

2.6 自动生成密码

集群也是一台节点生成密码即可

[es@node1 elasticsearch-7.6.2]$ ./bin/elasticsearch-setup-passwords auto
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y


Changed password for user apm_system
PASSWORD apm_system = BY8QVLtnyPiIKQKWB9TH

Changed password for user kibana
PASSWORD kibana = 4MLTzLOC6LGYHkGw0YuW

Changed password for user logstash_system
PASSWORD logstash_system = GatyQw87IIPPs8dNReSf

Changed password for user beats_system
PASSWORD beats_system = WsahN3DcIKa4514sxv4n

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = KBqzFIkgkxytVpswaJW6

Changed password for user elastic
PASSWORD elastic = ltwcC9q77f0yZMV9CPWl

[es@node1 elasticsearch-7.6.2]$

elasticsearch未授权访问漏洞修复,linux运维,elasticsearch,大数据,搜索引擎,linux,运维,centos,全文检索

3、验证漏洞是否修复成功

elasticsearch未授权访问漏洞修复,linux运维,elasticsearch,大数据,搜索引擎,linux,运维,centos,全文检索文章来源地址https://www.toymoban.com/news/detail-787323.html

[es@node1 elasticsearch-7.6.2]$ curl http://192.168.200.167:9200/_cat/indices?pretty  -u elastic

到了这里,关于ElasticSearch单机或集群未授权访问漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ElasticSearch9200端口未授权访问漏洞修复

    ElasticSearch 是一款Java编写的企业级搜索服务,启动此服务默认会开放HTTP-9200端口,可被非法操作数据。 例如 ip:9200/_cat可以直接访问等。。 高危 9200端口不对外开放,如需开放,需在安全组限制只允许指定IP才能访问9200端口 // accept // drop // 保存规则 重启iptables 这就成功了,亲

    2024年02月11日
    浏览(47)
  • elasticsearch未授权访问漏洞怎么在日常的测试中发现

    你好!在日常测试中容易遗漏的严重风险的漏洞,本文可以帮助安全测试工程师在日常测试中不遗漏这个严重风险的漏洞。 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸

    2023年04月16日
    浏览(35)
  • elasticsearch单机多节点集群搭建

    elasticsearch7开始不支持单机多节点部署 centos服务器两台:10.188.131.247、10.20.148.122 elasticsearch-6.8.23、kibana-6.8.23安装包下载(下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch) 新增es用户(elasticsearch不能用root用户启动) 集群概览:3个master节点,3个数据节点 服务器

    2024年02月12日
    浏览(77)
  • 单机多节点 elasticsearch 集群安全认证

    es 版本:7.6.2 部署环境:CentOS Linux release 7.6.1810 (Core) cd 到 es 的安装目录,并执行下面的命令来生成 ca 证书: 碰到第一个直接回车,不用管。 碰到第二个输入密码,例如 123456。 完成后会在当前目录生成一个文件: elastic-stack-ca.p12 需要输入密码时就直接输入刚才的密码,需

    2024年02月09日
    浏览(40)
  • web渗透测试漏洞复现:Elasticsearch未授权漏洞复现

    Elasticsearch 是一款 Java 编写的企业级搜索服务,它以分布式多用户能力和全文搜索引擎为特点,采用 RESTful web 接口。这款搜索引擎由 Java 开发,作为 Apache 许可下的开源软件发布,是流行的企业级搜索引擎之一。Elasticsearch 的增删改查操作都通过 http 接口完成。开源的版本可能

    2024年04月10日
    浏览(47)
  • CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

    CentOS 7下安装ElasticSearch7.6.1详细教程 ElasticSearch客户端Kibana7.6.1安装教程 ElasticSearch分词器IK安装教程 Elasticsearch-head插件安装教程 想要学习ElasticSearch技术,需要在服务器搭建ElasticSearch环境。 CenOS:7; JDK:1.8; Elasticsearch:7.6.1; ES不能使用root用户来启动,必须使用普通用户来

    2023年04月09日
    浏览(52)
  • Docker中部署ElasticSearch 和Kibana,用脚本实现对数据库资源的未授权访问

    图未保存,不过文章当中的某一步骤可能会帮助到您,那么:感恩! 1、docker中拉取镜像 2、熟悉目录 3、启动,访问9200 4、访问测试 1、下载(同样使用docker环境) 2、启动 3、连接测试easticsearch发现失败,是前后端分离开发存在跨域问题,需要在服务端做CORS的配置 (1)进入

    2024年02月04日
    浏览(41)
  • 访问elasticsearch集群提示ERROR 新增es数据失败,后台日志返回413 Request Entity Too Larg

    在运维paas云平台时有研发反馈客户端访问elasticsearch服务偶发性的出现报错,提示报错如下: 报错日志内容核心点如下: 根据日志报错内容及研发反馈的信息得到如下有用信息: 1、连接elasticsearch服务并请求处理业务是偶发性的提示报错,也就是说明elasticsearch服务是正常的

    2024年04月17日
    浏览(47)
  • Web漏洞-未授权访问漏洞

    未授权访问漏洞 漏洞介绍: 未授权访问漏洞就是在不需要请求授权的情况下对需要授权的功能进行访问执行,通常是由于认证页面存在缺陷,安全配置不当。 漏洞原理: 未授权访问是系统对用户的限制不全,或者无限制,可以让用户或者限制访问的用户,访问到内部的敏感

    2024年02月16日
    浏览(37)
  • springboot未授权漏洞(漏洞复现Springboot未授权访问及修复)

    Actuator 的核心是端点 Endpoint,它用来监视应用程序及交互,spring-boot-actuator 中已经内置了非常多的Endpoint(health、info、beans、metrics、httptrace、shutdown等等),同时也允许我们自己扩展自己的Endpoints。每个 Endpoint 都可以启用和禁用。要远程访问 Endpoint,还必须通过 JMX 或 HTTP 进

    2024年02月05日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包