【问题标题】:How not to have sensitive data in Elastic search?如何在弹性搜索中不包含敏感数据?
【发布时间】:2018-12-14 10:40:50
【问题描述】:

我正在为我的公司安装 ELK 堆栈,我的表弟也在为他的公司使用它,他是一名程序员,所以我问他是否购买了 Xpack,他说没有,因为他处理的 mysql 日志没有价值。我知道我可以购买 XPack 或使用 Nginx 来添加身份验证,但假设我不会做任何身份验证,就像许多弹性用户一样,我对这种情况有几个问题。

所以我有将 MySQL 日志发送到 logstash 的 filebeat,后者将它们提供给 Elastic 搜索,并且在 Kibana 中完成分析。

  • 如何确保没有有价值的信息最终出现在日志中,同时仍然具有有意义的分析。我公司是开发ERP的,有很多公司作为客户,所以最起码在日志里有公司ID和用户ID才能有有意义的数据,这算不算敏感数据?
  • 如何确保没有未经授权的用户向弹性搜索发送 Post 请求或访问 Kibana?您是在本地而不是在互联网上运行它们吗?
  • 在将任何敏感日志发送到 Filebeat 之前,您是否对其进行过滤?

我只是想了解有多少用户设法在没有身份验证的情况下运行 ELK,同时仍然能够获取有意义的数据。

.

【问题讨论】:

    标签: elasticsearch logstash kibana elastic-stack filebeat


    【解决方案1】:

    如何确保没有有价值的信息最终出现在日志中,同时仍然具有有意义的分析。我公司是开发ERP的,有很多公司作为客户,所以最起码在日志里有公司ID和用户ID才能有有意义的数据,这算不算敏感数据?

    如果您不希望敏感数据存储在 elasticsearch 中,则需要将其过滤掉或匿名化,例如,您可以使用 logstash 过滤器来创建结合公司 ID 和用户 ID 字段的指纹,或者您可以从您的邮件中删除任何包含敏感数据的字段。

    如何确保没有未经授权的用户向弹性搜索发送 Post 请求或访问 Kibana?您是在本地而不是在互联网上运行它们吗?

    如果没有身份验证,这几乎是不可能的,您需要完全控制谁知道您的 elasticsearch 实例以及谁可以访问它,如果您之外的其他人有权访问,他们可以向您的实例发送请求,以避免您可以使用您的服务器上的防火墙,并且只允许访问特定的 IP。

    即使您采取了一些预防措施,也不建议在没有任何访问控制的情况下在生产环境中运行 Elasticsearch 实例,而且风险很大。

    您应该使用访问控制方法,它可以是 X-Pack、NGINX 或 Search Guard 之类的插件。

    【讨论】:

      【解决方案2】:

      请查看 Search Guard (https://search-guard.com/)。基本版本(对于大多数用例来说已经足够了,而且绝对比没有好)是免费和开源的(Apache 2 许可证)。

      免责声明:我在 Search Guard/floragunn GmbH 工作

      【讨论】:

        【解决方案3】:

        如果您需要授予一些访问/特权,您可以免费使用 grafana 代替 kibana。

        对于 ES 访问,这就像任何数据库安全性一样。将您的服务器配置为仅允许 9200 和 9300 上的某些 IP。

        您还可以查看:https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin 以保护删除查询(仍然免费)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-12-27
          • 2017-02-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-30
          相关资源
          最近更新 更多