1. 线上集群版本 elasticsearch-5.6.15
    在这里插入图片描述
  2. ES在默认安装后,不提供任何形式的安全防护,运维安全扫描发现漏洞,要求项目组进行修复
    在这里插入图片描述

二:方案调研

  1. 设置Nginx反向代理,让用户在访问ES集群的时候需要提供用户验证信息,这个方法目前使用比较普遍。特别是针对ES低版本基础版、开源版;

  2. 安装免费的security插件,比如Search Guard、ReadOnly REST

  3. ES的商业包 x-pack的Basic版 ,从ES6.8基础版开始免费使用一些基础的安全功能,比如身份验证、用户鉴权

基于要求:1. 既不修改 线上版本,2. 也不增加新组件如nginx
决定使用插件方式添加鉴权

xpack : 对于5.x免费支持不好
elasticsearch-http-basic: 已经很久没有维护
决定使用 ReadOnly REST

三:下载安装

  1. 选择对应的es版本,并填入有效邮箱,就可以收到下载链接
    https://readonlyrest.com/download/
    在这里插入图片描述

  2. 安装插件

[es目录]/bin/elasticsearch-plugin install  file:///tmp/readonlyrest-X.Y.Z_esW.Q.U.zip
 

注意 file:// 后面跟下载文件绝对路径

  1. 创建配置文件 readonlyrest.yml
  • 进入es的config文件夹(即elasticsearch.yml所在的文件夹)
    在此示例中,配置ReadonlyREST对所有HTTP请求都要求基本身份验证,否则返回:401 Unauthorized
readonlyrest:
    access_control_rules:
    - name: "Require HTTP Basic Auth"
      type: allow
      auth_key: user:password
  • es 6.4.0 以上还需要把X-Pack禁用,编辑elasticsearch.yml
xpack.security.enabled: false
bin/elasticsearch -d

api直连

ip与端口号与自己配置为准

curl -vvv -u user:password "http://10.128.123.45:9200/_cat/indices"

或者查看集群状态

curl  -vvv -u user:password  -XGET http://10.128.123.45:9200/_cat/health?v&ts=false

代码连接需要增加两项配置

es.net.http.auth.user
基本身份验证用户名
es.net.http.auth.pass
基本身份验证密码
                    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
				
Elasticsearch 认证插件选择 官方资料:https://www.elastic.co/guide/en/elasticsearch/plugins/current/security.html 官方插件 X-Pack X-Pack 插件在 docker 镜像中默认已安装,不过 X-Pack 中的 Security 模块需要付费才能使用,所以弃用这个插件。 付费用户相关资料: Se...
执行命令安装wins插件elasticsearch-plugin install file:///D:/tools/liferay/linux/readonlyrest-1.30.1_es7.6.2.zip 执行命令安装linux插件./elasticsearch-plugin file://~/liferay/to. /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///root/readonlyrest-1.18.9_es6.2.2.zip 三、配置文件 [elasticsearch@pgdb-es1 bin]$ [elasticsearch@pgdb-es1 bin]$ ./elasticsearch-certutil ca WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.bouncycastle.jcajce.
一、Elasticsearch集群 1. Elasticsearch集群的概念 Elasticsearch集群是由多个计算机节点组成的,每个计算机节点提供相同服务的计算机群组,各个主分片均匀分配给不同的计算机节点,且每个主分片对应的副本分片不能与主分片部署到同一台节点。 在 6.8 之前免费版本并不包含安全认证功能,之后版本有开放一些基础认证功能;为了防止各种事故,一般都会设置es集群访问密码;但是在我尝试设置访问密码的时候发现,设置访问密码的前提必须要设置集群证书,不然es启动报错。 关于设置证书的作用,简单来说就是在集群内定各个es节点都必须持有相同的证书,如果某个es的恶意节点想加入你的集群,那么它也必须有要相同的证书,这就可以防止别人恶意创建节点加入你的集群了。 本例子使用elasticsearch v7.2.0为例 二、具体步骤 1、编辑elastic
感谢@ Id57,Jeff Saxe和GoodMirek的捐赠! 只读REST Elasticsearch插件 向公众直接公开嵌入在Elasticsearch中的高性能HTTP服务器,从而安全地阻止任何尝试删除或修改数据的尝试。 换句话说...没有更多代理! 耶小马! 微小的内存开销,实现快速网络连接 :rocket: 其他安全性插件正在用Tomcat,Jetty或其他繁琐的基于XML的JEE疯狂替代Elasticsearch的高性能,基于Netty的嵌入式REST API。 该插件只是一个轻量级的纯Java过滤层。 甚至SSL层也作为额外的Netty传输处理程序提
搭建三节点ES集群;安装Cerebro客户端;安装kibana ES安全认证;集群内部安全通信;开启并配置X-Pack的认证 生产环境常见集群部署方式;增加节点水平扩展场景;读写分离架构;异地多活架构;Hot & Warm 架构 ES跨集群搜索 分片的设计和管理;如何设计分片数;如何确定主分片数;如何确定副本分片数 ES底层读写工作原理;ES写入数据的过程;ES读取数据的过程;写数据底层原理 如何提升集群的读写性能;提升集群读取性能的方法;提升写入性能的方法......
### 回答1: elasticsearch授权访问漏洞是指在elasticsearch服务器上,由于正确配置访问控制,导致攻击者可以通过简单的HTTP请求获取敏感数据或者进行恶意操作的漏洞。这种漏洞可能会导致数据泄露、篡改、删除等安全问题,因此需要及时修复。建议管理员对elasticsearch服务器进行安全加固,限制访问权限,避免出现授权访问漏洞。 ### 回答2: Elasticsearch是一种流行的开源分布式搜索和分析引擎,具有高性能和可扩展性。然而,由于管理不当和配置错误,可能会导致elasticsearch授权访问漏洞的漏洞,允许恶意攻击者访问敏感数据,并对系统造成损害。 当elasticsearch集群没有正确配置安全性控制时,攻击者可以轻松地通过网络访问elasticsearch集群,然后使用静态或动态的scripting引擎,执行任意代码,包括创建、修改或删除数据。攻击者还可以使用elasticsearch的API执行一些危险操作,例如下达搜索查询,误删除数据,或利用任意文件读取漏洞访问系统文件。 为了避免elasticsearch授权访问漏洞,需要采取一些安全措施: 1. 配置安全性控制:确保只有授权用户才能访问elasticsearch集群,这可以使用访问控制列表(ACL)来实现。禁用默认的授权模式,并使用X-Pack来加密通信,保护通信机密性。 2. 删除不必要的插件:一些插件可能存在安全漏洞,应该删除不需要的插件,并确保保持最新的安全补丁。 3. 监控日志:监控elasticsearch集群日志,早期检测和响应可能的攻击行为。 4. 更新软件:更新elasticsearch软件,保持最新版本,以便及时修补已知的安全漏洞。 总之,elasticsearch授权访问漏洞是一种严重的安全漏洞,攻击者可以访问系统中的敏感数据和文件,并且对系统造成严重的损害。为了避免这种漏洞,应该采取安全措施,并优化elasticsearch集群的配置。 ### 回答3: elasticsearch是目前世界上最受欢迎的开源搜索引擎之一,它支持快速的分布式搜索和分析功能。但是,由于其默认配置存在漏洞,攻击者可以通过授权访问elasticsearch导致数据泄露或文件损坏等安全问题。 elasticsearch授权访问漏洞的成因是在线上环境中,elasticsearch默认的配置不是禁止外部访问的,只要攻击者可以通过网络访问elasticsearch的IP和端口,就可以执行各种命令。例如,攻击者可以通过浏览器URL或专门的工具(如curl)发送HTTP请求,获取敏感数据、删除索引、修改设置等,通过执行这些操作,攻击者可以轻易地导致数据丢失或系统崩溃等安全问题。 为了防止elasticsearch授权访问漏洞,需要合理地配置elasticsearch,安全地部署elasticsearch,并定期检查和更新新版本。以下是一些预防措施: 1.禁用外部访问:为elasticsearch配置只在本地使用时可以使用的IP地址,使其只能在服务器上本地访问到,其他IP地址就不能访问。 2.限制访问:为elasticsearch配置访问授权规则,只允许特定的客户端或IP地址进行访问操作。 3.强身鉴定:开启elasticsearch的身份认证机制,例如使用用户名和密码进行身份验证,可以避免授权访问。 4.安装热更新:对于已知问题,elasticsearch通常会及时发布新版本,以修补漏洞和增强安全性能。安装最新版的elasticsearch可以有效地提高安全性。 总之,任何系统都存在潜在的安全风险,我们需要定期更新、监控、维护这些先进的技术,以保护我们的系统和数据免受数据泄露、文件损坏等安全问题的影响。