当前位置: 首页 > 知识库问答 >
问题:

把ElasticSearch放到AWS的代理后面?

刁星渊
2023-03-14

本文(以及有关ES的书籍和其他信息来源)主张将ES置于代理服务之后:

https://dzone.com/articles/securing-your-elasticsearch-cluster-applement

否则,(a)您肯定会绑定到一个公共IP,而您不应该这样做;(b)您将冒着对您的数据进行不希望的更改的风险;(c)最坏的情况是,您无法控制谁访问什么,您的所有数据都是可以看到的。这些弹性搜索集群现在发生了什么。

此外,不要公开文档和索引结构,或者将瘦客户机与提供it数据的数据存储系统耦合。客户端javascript不应该使用弹性DSL。

您的客户端应该与服务器端软件通信,服务器端软件会将所有客户端请求转换为Elasticsearch DSL,执行查询,然后有选择地将Elasticsearch的响应转换回您的客户端所期望的内容。显然,服务器端应用程序可以在必要时验证用户登录,以便在对Elasticsearch进行任何访问之前对其针对数据的操作进行身份验证和授权。以任何其他方式进行操作只会使您面临不必要的风险,并使您的数据暴露在贪婪的黑客面前。

共有1个答案

澹台景辉
2023-03-14

在与AWS工作了一段时间之后,我必须澄清一个误会。AWS不等于无服务器。他们提供了许多云解决方案,FaaS/Function-as-a-Service(AWS Lambda)只是其中之一。

无论您使用的是FAAS、IAAS还是PAAS,您可能总是有这样的用例:您只想向外部世界公开ElasticSearch接口的一个片段。如果您获得了软件即服务,例如ElasticCloud(由Elastic the company托管在AWS上),或者使用X-PACK许可证部署自己的弹性集群,那么您可以考虑使用XPACK安全/索引限制特性。不过,这只照顾到了安全性,而不是简单性。在前端工作的人员需要了解索引的内部结构/映射以及如何在ES中进行(有效的)查询。

我甚至不确定X-PACK是否可以防止大量的计算查询(如脚本查询、聚合和深度分页),所以如果您将API公开给整个Internet,这可能不够安全。

现在firebase视频中的人员所做的(在客户端形成查询)是很好的,并且保持了应用程序的灵活性,但是它现在可能适合于每一个用例。例如,如果您希望用自己的客户机为客户公开一个公共API。

 类似资料:
  • 问题内容: 我们有一个Java应用程序,当远程控制机制激活该应用程序中的某些内容时,需要将其置于前台。 为了实现这一点,我们已经在该类的被调用方法中实现了该方法,该方法表示我们的应用程序的框架(扩展为),其实现如下: 在Windows XP下,此功能在第一次调用时有效,第二次仅任务栏上的选项卡闪烁时,框架不再位于最前面。Win2k也是如此。在Vista上似乎工作正常。 你有什么想法? 问题答案:

  • 问题内容: 我在配置logstash以输出到AWS EC2上的Elasticsearch集群时遇到麻烦。 我正在使用Logstash版本1.1.5和Elasticsearch 1.19.8。 这是我在logstash中的输出配置: 这是elasticsearch.yml中的相应配置 我使用以下命令启动logstash: 在启动一段时间后,出现以下故障: 我的怀疑是,logstash需要使用诸如cl

  • 管理太多的状态过渡会很快的增加 Vue 实例或者组件的复杂性,幸好很多的动画可以提取到专用的子组件。 我们来将之前的示例改写一下: <script src="https://cdn.jsdelivr.net/npm/tween.js@16.3.4"></script> <div id="example-8"> <input v-model.number="firstNumber" type

  • ElasticSearch背后的核心理念 ElasticSearch是构建在极少数的几个概念之上的。ElasticSearch的开发团队希望它能够快速上手,可扩展性强。而且这些核心特性体现在ElasticSearch的各个方面。从架构的角度来看,这些主要特性是: 开箱即用。安装好ElasticSearch后,所有参数的默认值都自动进行了比较合理的设置,基本不需要额外的调整。包括内置的发现机制(比如

  • 问题内容: 最近,我一直在尝试让Elasticsearch在SSL上可用。这使我处于从apache到nginx到apache到nginx到现在终于回到apache的有趣路线上。 我需要LDAP进行身份验证,这就是为什么我停止使用nginx的原因。我遵循了这个https://gist.github.com/jerrac/0a8bd96e6c42eb84b6f2来配置我的apache网络服务器。好消息

  • 背景:我的应用程序前端(Vue)部署在AWS Amplify上,后端(Python)部署在AWS Elastic Beanstalk上。我的前端通过Axios连接到后端。 问题:当从前端向后端发送数据时,我得到一个 当我的前端向本地主机发送数据时,没有问题,所以我不认为这是我的代码的问题。我需要改变弹性豆茎配置吗? 我不确定我需要包含什么代码才能得到一个正确的答案,所以请让我知道你想看到什么,我可