如何保护Elasticsearch

时间:2015-04-12 21:11:18

标签: elastica elasticsearch

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

3 个答案:

答案 0 :(得分:4)

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

  1. 设置您自己的代理(Nginx / HAProxy)前端弹性搜索 - 这样您就可以完全控制。您还可以使用Elasticsearch-jetty插件来设置jetty level auth
  2. Shield - 如果预算允许使用Shield,这是Elasticsearch的付费产品 - https://www.elastic.co/products/shield
  3. 即使有这些,取决于你将此暴露给谁 - 你可能想要禁用某些东西,如动态脚本,DoS的限制等等。

答案 1 :(得分:1)

您可以使用Elasticsearch基本身份验证插件 - https://github.com/Asquera/elasticsearch-http-basic
那里的自述文件提供了如何设置它的好主意。

如果您使用Kibana3作为elasticsearch的前端,则可以使用https://github.com/fangli/kibana-authentication-proxy

保护它

答案 2 :(得分:0)

我启用了一个相对简单的Nginx代理,它位于我的Elasticsearch和Kibana之间,用于配置对我的仪表板和图表的授权访问。

在这里查看我的帖子:https://udaysagars.wordpress.com/2016/04/04/how-i-configured-authorized-access-to-kibana-dashboards/

此外,您可以在此处查看使用此方法的应用程序:http://udaysagar2177.github.io/ec2/twitter-analytics.html