如何在Elastic搜索中不包含敏感数据?

时间:2018-12-14 10:40:50

标签: elasticsearch logstash kibana elastic-stack filebeat

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

所以我有一个文件拍子,它将MySQL日志发送到logstash,然后将它们馈送到Elastict,而在Kibana中完成了弹性搜索和分析。

  • 如何确保在进行有意义的分析时,没有任何有价值的信息出现在日志中。我的公司开发了一个ERP,并且有许多公司作为客户,因此至少要在日志中包含公司ID和用户ID才能拥有任何有意义的数据,这不是敏感数据吗? / li>
  • 如何确保没有未经授权的用户发送发布请求以进行弹性搜索或访问Kibana?您是否在本地而不是在互联网上运行它们?
  • 在将任何敏感文件发送到Filebeat之前,您是否对其进行过滤?

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

3 个答案:

答案 0 :(得分:3)

  

如何确保在进行有意义的分析时,没有任何有价值的信息出现在日志中。我的公司开发了一个ERP,并且有许多公司作为客户,因此至少要在日志中包含公司ID和用户ID才能拥有任何有意义的数据,这不是敏感数据吗? / p>

例如,如果您不希望在敏感搜索中存储敏感数据,则需要对其进行过滤或匿名化处理,例如,您可以使用logstash过滤器结合公司ID和用户ID字段来创建指纹,也可以从您的邮件中删除所有包含敏感数据的字段。

  

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

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

即使您采取了一些预防措施,也不建议在生产环境中运行没有任何访问控制权的Elasticsearch实例,这非常危险。

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

如果您需要授予某些访问权限/特权,则可以免费使用grafana而不是kibana。

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

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