【问题标题】:How to secure Elasticsearch如何保护 Elasticsearch
【发布时间】:2015-04-12 21:11:18
【问题描述】:

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

【问题讨论】:

    标签: elastica elasticsearch


    【解决方案1】:

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

    1. 设置您自己的代理 (Nginx/HAProxy) 前端 elasticsearch - 这样您就可以完全控制。您还可以使用 Elasticsearch-jetty 插件进行码头级别的身份验证
    2. Shield - 如果预算允许,请使用 Elasticsearch 的付费产品 Shield - https://www.elastic.co/products/shield

    即使有了这些,取决于您将其暴露给谁 - 您可能希望禁用某些功能,例如动态脚本、DoS 限制等。

    【讨论】:

    • 有什么教程或脚本可以参考吗?
    • 考虑一下——你有理由直接暴露Elasticsearch集群吗?您需要向谁公开 Elasticsearch 的哪些功能?在最终用户和 Elasticsearch 之间放置您自己构建的服务是一种常见的方法。限制对 Elasticsearch 的访问(防火墙、仅限本地主机等),以便只有您的服务可以与其交互,然后让您的服务控制安全性。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      我启用了一个相对简单的 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

      【讨论】:

        猜你喜欢
        • 2016-08-16
        • 1970-01-01
        • 1970-01-01
        • 2017-11-16
        • 2019-11-06
        • 2022-01-16
        • 1970-01-01
        • 2017-10-30
        • 2017-07-12
        相关资源
        最近更新 更多