2015-04-12 67 views
2

我有一个运行在我的服务器上的Elasticsearch,它默认运行在端口9200上,链接是公共的,意味着任何人都可以在任何地方插入,更新或删除任何东西。我如何使它像phpMyadmin一样安全,只能在我的代码的帮助下访问,而不是直接从浏览器或邮递员访问。如何保护Elasticsearch

回答

4

Elasticsearch不执行身份验证或授权,将其作为开发人员的练习。我见过的两种流行方式是:

  1. 设置您自己的代理(Nginx/HAProxy)弹性搜索 - 这种方式您可以完全控制。您也可以使用Elasticsearch-码头插件有码头层级验证
  2. 盾 - 如果预算允许使用盾是从Elasticsearch付费产品 - https://www.elastic.co/products/shield
即使有这些到位

,这取决于你是谁揭露这 - 你可能要取消这些动态脚本某些事情,节流对于DoS攻击等

+0

是否有任何教程或脚本中使用,我可以参考? – Ironman

+1

考虑 - 你有*理由*直接暴露Elasticsearch集群吗?你需要揭露Elasticsearch的哪些功能,并向谁提供?在最终用户和Elasticsearch之间放置自己的构建服务是一种常见方法。限制对Elasticsearch(防火墙,仅限本地主机等)的访问,以便只有您的服务可以与其进行交互,然后让您的服务控制安全。 – Snixtor