写点什么

一个月 6 次泄露,为啥大家用 Elasticsearch 总不设密码?

  • 2019-02-02
  • 本文字数:2271 字

    阅读完需:约 7 分钟

一个月6次泄露,为啥大家用Elasticsearch总不设密码?

2019 年 1 月 30 日,外媒又报道了一起 Elasticsearch 数据泄露事件!这已经是笔者统计到的 2019 年 1 月份的第六起 Elasticsearch 数据泄露事件了。


据外媒报道称,IT 安全和云数据管理公司 Rubrik 遭受了大规模数据泄露,遭到泄露的数据库托管在 Amazon Elasticsearch 服务器上,拥有数十亿字节的数据,泄露信息包括每个企业客户的客户名称、联系信息和工作信息。除此之外,数据库中还包含有来自企业客户的电子邮件,其中包含带有姓名、职位和电话号码的电子邮件签名,以及一些包含有关客户配置的敏感信息。


本次数据泄露事件是由安全研究员 Oliver Hough 发现的。2019 年 1 月 29 日,Rubrik 下线了该服务器,泄露事件发生的原因是暴露的服务器未受密码保护。


Rubik 发言人表示:在为客户构建新的解决方案时,包含客户信息和支持交互数据的部分沙箱环境可在短时间内被访问。目前,除了发现此问题的安全研究员,没有其他人访问过该环境,所以也没有任何数据被暴露。


Rubrik 没有透露是否会通知其客户或国家监管机构,但是因为此次数据泄露事件包含了欧洲企业,所以可能会面临 GDPR 相关的罚款,一旦确定其违反了欧盟的数据保护法,那么该公司将被处以其全球年收入 4%的罚款。

一个月被曝 6 次数据泄露,为啥大家使用 Elasticsearch 总不设密码?

事实上,这已经是 Elasticsearch 在本月发生的第六起数据泄露事件了,前五次数据泄露事件分别为:


  • VOIPO 超百万的电话和短信数据泄露;

  • 青年学生组织 AIESEC 的 400 万条志愿者信息泄露;

  • 在线赌场泄漏 1.08 亿投注信息;

  • 美国多家大银行贷款文件遭泄露,文件数量达 2400 万;

  • 百安居发生数据泄露,70000 起店内盗窃案的信息流出。


泄露事件具体情况可参考:(https://www.infoq.cn/article/ApF6houjkuEBz*X8zpph)


综合这六起数据泄露事件,我们发现原因都是一样的:Elasticsearch 服务器没有密码保护。在数据重要性如此高的今天,为什么大家都不设密码呢?


Elasticsearch 中文社区深圳分会杨振涛表示:“不少开发人员及其团队在认知上更多地把 Elasticsearch 看成是与 MySQL 同等的存储系统,所以在部署以后并没有太多地关心其访问控制策略和数据安全。而且 Elastisearch 开箱即用的特点也让开发和运维人员放松了对安全的重视。”


除此之外,笔者还发现很多 Elasticsearch 都是可以公网访问的,为什么出现这种情况呢?杨振涛表示很有可能是团队忽视了数据安全,再加上服务器防火墙对于端口开放策略过于激进,导致 Elasticsearch 集群只要一部署即可公网访问。


“公网访问对于有些业务来说是必要的,例如网站搜索服务。” Elastic 架构师吴斌解释道,“我们经常说‘Simple/less is more, but no simpler’,在做架构体系设计时希望一切从简,节约开发和运维成本,但麻雀虽小,还是要五脏俱全。暴露公网在有些场景下虽不是关键问题,但也不能失去最基本的保护。”

在数据保护方面,Elasticsearch 提供了哪些服务和功能?

首先,我们先来明确一点:“Elasticsearch 的开源版本是不具备任何数据保护功能。”吴斌表示,“这是因为在搜索引擎设计之初就是为了让用户检索到所有包罗万象的信息,在此场景下是没有数据保护的需求,只有基本的攻击保护,例如防火墙。”


但是 Elasticsearch 产品的提供商 Elastic 为订阅用户提供了多方位的数据保护:


首先是认证和授权,只有通过认证的请求才能访问 Elasticsearch。Elastic 支持最基本的用户 名、密码认证,也可以对接一些常见的认证体系从而实现 SSO;授权主要是控制谁(用户或其它应用)可以能看到哪些数据,目前 Elastic 的控制粒度到了字段级别。


其次是数据加密。首先是通讯加密,当外部应用在和 Elasticsearch 交互时,连接需要是安全的。其次,Elasticsearch 自身是分布式应用,那么各个节点之间的通讯也需要是安全的。最后就是落到磁盘上的数据,Elastic 可以通过操作系统对路径进行选择性的加密访问控制。


最后是审计合规,企业内部何人何时在何地做了哪些操作以及操作成功与否等信息都会被记录下来,当发生问题时帮助我们回溯。

警钟敲响,Elasticsearch 使用者如何避免发生数据泄露?

每一次的 Elasticsearch 安全事件其实都是在给 Elasticsearch 使用者敲响警钟,直接使用开源软件,而不采取必要的安全措施,实际上就是让业务系统在互联网上"裸奔"。


如何才能避免 Elasticsearch 在使用时发生数据泄露呢?杨振涛给出了几个最基本的低成本措施:


1)服务器必须要有防火墙,不能随意对外开放端口;


2)Elasticsearch 集群的端口包括 TCP 和 HTTP,都不能暴露在公网;


3)Elasticsearch 集群禁用批量删除索引功能;


4)Elasticsearch 中保存的数据要做基本的脱敏处理;


5)加强监控和告警,能够在安全事件发生的第一时间感知并启动紧急预案,将损失降到最低 。

亡羊补牢,一旦 Elasticsearch 发生数据泄露是否有补救措施?

如果是在没有任何保护措施下造成的数据泄露,那么第一时间肯定是尽快恢复服务。因为 Elasticsearch 是一个分布式搜索引擎系统,所以在实际场景中,进入 Elasticsearch 数据一定也存在了其它存储中,我们可以通过快速重建索引在第一时间内恢复服务。


另外,就像本月发生的数据泄露事件,安全事件的原因并不是 Elasticsearch 本身的安全漏洞,而是 Elasticsearch 宿主服务器安全性太低。杨振涛建议针对这种情况应该第一时间为服务器做安全加固,比如开启防火墙,拒绝非授权端口的访问,修改 root 密码,禁用密码直接登录服务器,而是通过 SSH KEY 来登录等。


如果发生了极端情况,泄露的数据包含用户账号信息,杨振涛表示要在第一时间通知用户修改密码,甚至在登录模块强制用户重置密码后才可登录。


2019-02-02 02:466020
用户头像

发布了 34 篇内容, 共 28.8 次阅读, 收获喜欢 58 次。

关注

评论 1 条评论

发布
用户头像
数十亿字节,四舍五入100亿byte数据换算下来9 GB的数据。
2019-02-18 10:40
回复
没有更多了
发现更多内容

软件测试 | 测试开发 | 一文搞定 uiautomator2 自动化测试工具使用

测吧(北京)科技有限公司

测试 自动化测试

源码 | SpringBoot启动流程大揭秘

六月的雨在InfoQ

源码 springboot SpringBoot实战 9月月更 SpringBoot启动流程

广东省湛江市等保测评机构有几家?怎么做?

行云管家

等保 等级保护 等保测评 湛江

LED显示屏是否可以实现智能化控制

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

leetcode 101. Symmetric Tree 对称二叉树(简单)

okokabcd

LeetCode 算法与数据结构

基于Hudi的湖仓一体技术在Shopee的实践

Shopee技术团队

Hudi LakeHouse 湖仓一体

NFT艺术品交易平台:有哪些功能?

开源直播系统源码

NFT 数字藏品 数字藏品软件

实战Elasticsearch6的join类型

程序员欣宸

elasticsearch 9月月更

Python 教程之数据分析(6)—— 数据分析的数学运算

海拥(haiyong.site)

Python 9月月更

数据可视化系列教程之组件通信

云智慧AIOps社区

前端 JavaScrip 可视化数据

Qt | 关于对象树和元对象的相关问题

YOLO.

c++ qt 9月月更

Qt | 关于容器类的一些总结

YOLO.

c++ qt 9月月更

字节前端必会面试题

helloworld1024fd

JavaScript

测试平台解决了什么问题?

老张

测试平台

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务快应用卡片接入指南(上)

荣耀开发者服务平台

JavaScript 前端 UI 安卓 honor

字节跳动 DanceCC 工具链系列之Xcode LLDB耗时监控统计方案

字节跳动终端技术

ios xcode swift LLVM 客户端

软件测试 | 测试开发 | 测试人员必须掌握的测试用例

测吧(北京)科技有限公司

测试 测试用例

如何在 Jenkins CI/CD 流水线中保护密钥?

SEAL安全

DevOps jenkins CI/CD 密钥管理 CI/CD管道

高并发下的网络 IO 模型设计

C++后台开发

后台开发 reactor 高并发 epoll 网络io模型

博云 Kubernetes 开源榜单贡献度进入全球前十

BoCloud博云

云计算 开源 云原生

2022年全年Java岗面试题总结+一线互联网大厂Java岗面经/面试题总结!

程序员小毕

Java 程序员 面试 程序人生 后端

博弈论(depu)与孙子兵法-02(46/100)

hackstoic

博弈论

Python 教程之数据分析(5)—— 使用 Python 进行数据分析和可视化 | 第 2 套

海拥(haiyong.site)

Python 9月月更

字节跳动A/B实验背后的秘密:样本量计算

字节跳动数据平台

数据分析 前端 ab测试 统计原理

iOS端如何实现带UI截屏分享

MobTech袤博科技

ios

校招前端面试题

夏天的味道123

JavaScript 前端

一加现在属于OPPO吗 资深“加油”来解答

Geek_8a195c

直播预告 | PolarDB-X 动手实践系列——PolarDB-X 数据导入导出功能

阿里云数据库开源

MySQL 数据库 阿里云 云原生 PolarDB-X

软件测试 | 测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

测吧(北京)科技有限公司

测试 bug

“数智化”时代 ,房企转型路径与挑战的一种技术思路

Speedoooo

小程序 前端开发 数字化转型 移动开发 小程序容器

一个月6次泄露,为啥大家用Elasticsearch总不设密码?_安全_甜梨_InfoQ精选文章