上周发起了多起针对 MongoDB 的攻击事件,详情可以见我的另外一篇文章。由于使用 MongoDB 的人数量众多,一下子就引起敢关注,因此黑客们将目标转移向了 ElasticSearch 搜索引擎。
于是昨天官方发布了一篇文章《Protecting Against Attacks that Hold Your Data for Ransom》,教你如何手把手地保护你的数据。
对于此,ElasticSearch 提出了关于数据的安全建议:
还建议你:
那么问题来了:在我们设计架构的时候,是不是需要进行一些额外的考虑?
在 Java 应用里,开发人员都会采用 ORM 来隔离数据与编程语言,并抽象出一些虚拟的对象。然而,我们很遗憾的看到,一些好的实践并没有因为新的技术的发展而被采纳。
如果我们即想暴露出我们的接口,又为了系统的安全考虑,那么我们应该做一层代理。
这种用法实际上有点类似于 GraphQL 的作法:
好的 API 不应该让你直接操作数据库,你只需要关注于你需要的东西~~。
让你用 ElasticSearch,让你不设密码,让你不备份,让你公网访问!
让你用 ElasticSearch,让你不设密码,让你不备份,让你公网访问!
让你用 ElasticSearch,让你不设密码,让你不备份,让你公网访问!