写点什么

数据千万条,安全第一条

  • 2019-11-19
  • 本文字数:1876 字

    阅读完需:约 6 分钟

数据千万条,安全第一条

短短一个月内 Elasticsearch 被曝了 5 次数据泄露事件。他们一定没有看到女主大大之前发过的文章《谨慎前行-浅谈 Elasticsearch 安全策略》,今天带大家回顾一下~


ElasticSearch 服务器这一为搜索功能提供动力的技术,在 2019 年的第一个月就频繁地发生了数据泄露事件,而且泄露数据的辐射面都不算小。


VOIPO 超百万的电话和短信数据泄露; 青年学生组织 AIESEC 的 400 万条志愿者信息泄露; 在线赌场泄漏 1.08 亿投注信息; 美国多家大银行贷款文件遭泄露,文件数量达 2400 万; 美国多家大银行贷款文件遭泄露,文件数量达 2400 万;

安全策略

网络层

除却“内鬼”的因素,骇客的攻击基本都是通过外部网络,所以这里是保障 Elasticsearch 安全的第一道屏障。相信大家都有自己的网络安全策略,硬件防火墙也好,软件防火墙也罢,按照自己的需求做好设置和维护即可。可是如果没有的话,那对不起,“蓬门今始为君开”,骇客岂有不光顾的道理。

OS 层

卸载公网 IP

如果说网络屏障给大家圈起了“院墙”,那我们服务器上的公网 IP 就像是搭在后院墙上的“梯子”。虽然有了围墙,却也难保不会有顺梯翻墙的“梁上君子”。所以如果大家的 Elasticsearch 都在内网环境使用,尽量卸载掉没有使用的公网 IP 吧,腾出网卡做更多有意义的事情。

普通用户启动

之前已经不止一次的曝出 Linux 下各种 ROOT 提权的问题,所以还是建议使用非 ROOT 用户启动 Elasticsearch 吧,并且相关数据目录的权限和属主一并改为非 ROOT 用户。就像是把你家金库托管给你最信任的人一样。

Server 层

替换默认端口

众所周知,Elasticsearch 默认的 http.port 是 9200,集群各节点间的通信端口 transport.tcp.port 是 9300;这就像是你家金库的大门,如果一眼就能辨识,那骇客攻击就可以在最短的时间做到有的放矢。


所以强烈建议替换掉 Elasticsearch 的监控端口,就像是给你家金库做了个“暗门”,骇客想要进入金库至少先得找到门路才行。

用户及权限认证

如果说 Elasticsearch 是一个存放着宝贝,时刻受到“梁上君子”觊觎的保险柜,那么没有开启权限认证的 Elasticsearch 就像是没有密码锁一样,只要找到了这个保险柜,那里面的宝贝就可以任之取之了。所以要避免骇客入侵的最有力的手段,也是最后一层屏障,那就是用户及权限认证。


可是在开题我们就说到了,Elasticsearch 本身没有用户及权限认证体系。


虽然官方提供了自己的权限管理系统—— Shield, 但是它——收费! (小编不自觉的竖起了中指)


本着“能免费用,绝不花钱买”的持家宗旨,在这里给大家介绍一款实用的开源 Elasticsearch 权限管理系统——Search Guard


先来看看 Search Guard 都支持哪些功能及特性:



接下来就大家最关心的问题简单总结一下(这里只翻译一下免费版提供的功能)


1.Search Guard 支持 Transport Layer(Node-to-node)和 REST Layer(HTTP/HTTPS)的 SSL/TLS 加密传输,并且 Transport Layer 和 REST Layer 都可以单独配置是否开启 SSL/TLS 加密。


2.Search Guard 提供了一套完整的“用户-角色-权限”控制系统。免费版权限可以控制到 indice/type、host 级别。


3.如果需要 Document level security(DLS)和 Field level security(FLS)级别的权限控制,或者 Audit logging 审计功能,或者需要支持如 LDAP、Kerberos 等第三方用户认证系统的话,那就乖乖购买 Enterprise License 吧(每个集群一个 License,无所谓集群规模)。


4.Search Guard 权限可以动态配置,我们可以把需要的权限添加到对应的文件,这些文件都作为文档存储在 Elasticsearch 中的 searchguard 索引中,然后通过 sgadmin 工具来更新配置(即将文件加载到 ES),加载后立即生效,无需重启 ES 节点。


5.Search Guard 以插件的形式发布,它要提供服务需要依赖 Search Guard SSL。在 Elasticsearch 5.x 之前需要单独安装 Search Guard 和 Search Guard SSL;Elasticsearch 5.x 之后,Search Guard 默认已经集成了对应版本的 Search Guard SSL,无需单独安装了。


补充一点,Search Guard 可以实现和 Logstash、Kibana 的完美结合,对于使用 ELK 的用户大可不必担心,修改集成很容易的。


并且,Elasticsearch 在 5.x 之后,对 Search Guard、Search Guard SSL (当然还有 Logstash 、Kibana)等插件的版本号都做了统一,变得更加的简单直观了。

总结

以上是我们在部署 Elasticsearch 时所作的一些安全策略,把这些分享出来希望可以帮助到大家。有一些策略其实很简单,可往往越是细小的点,越容易被大家忽略,越容易成为日后维护的坑。


本文转载自公众号 360 云计算(ID:hulktalk)。


原文链接:


https://mp.weixin.qq.com/s/XUF9x2tBlIX9QCGOI41-og


2019-11-19 23:531161

评论

发布
暂无评论
发现更多内容

C 语言文件处理全攻略:创建、写入、追加操作解析

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

2024第十届上海国际智慧工地展览会

AIOTE智博会

智慧工地展览会 智慧工地展会 智慧工地展

MT7915: Demonstrating the glorious history of wireless communications

wallysSK

面试官:分布式锁最终解决方案是RedLock吗?为什么?

王磊

Java 面试

让代码不再枯燥,变成你的快乐伙伴! -超过200+的python趣味编程系列-完整源码(保证可运行)+执行效果(持续更新ing)

顺顺顺

Python 游戏

JavaScript 常见错误与异常处理

京东科技开发者

创业清华人丨 乔嘉林:破茧成蝶,时序数据库赋能工业物联网

Apache IoTDB

软件测试/测试开发/全日制|pytest如何标记测试用例

霍格沃兹测试开发学社

Databend 开源周报第 127 期

Databend

软件测试/测试开发/全日制|Pytest如何灵活地运行用例

霍格沃兹测试开发学社

一款完整的单节锂离子电池采用恒定电流/恒定电压线性充电器

芯动大师

用友全球司库十问(九)|企业为什么需要银企直联?

用友BIP

全球司库

使用Terraform部署华为云和kubernetes资源

华为云开发者联盟

开发 华为云 华为云开发者联盟

5G之味,在烟火长沙

脑极体

5G

[大厂实践] DoorDash基于eBPF的监控实践

俞凡

云原生 监控 ebpf 大厂实践

2024年CoinList上第一个项目Subsquid

币离海

Coinlist Subsquid SQD

软件测试/测试开发/全日制 |解析Web应用中的日志与监控

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

测试

敏捷监控与可观察性

FunTester

软件测试/测试开发/全日制 |使用Socket.IO实现实时通信

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

测试

软件测试/测试开发/全日制 |Python全栈开发:构建跨平台、可移植的应用

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

测试

技嘉推出 GEFORCE RTX 40 SUPER 系列显卡

财见

2023 IoTDB Summit:华润电力技术研究院副院长郭为民《新型时序数据库在智能发电领域的应用探索与展望》

Apache IoTDB

云渲染适合什么场景下使用?

Renderbus瑞云渲染农场

云渲染 渲染农场 动画渲染 效果图渲染

为什么建筑设计师选择网络渲染"效果图"

Renderbus瑞云渲染农场

云渲染 云渲染农场 效果图渲染

服务器比较常见几个的故障问题

德迅云安全_初启

软件测试/测试开发/全日制 |使用Django构建高效的Web应用

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

测试

软件测试/测试开发全日制培训|Pytest跳过用例和失败重试

霍格沃兹测试开发学社

跨境电商通讯服务

cts喜友科技

通信 通讯

系统存储架构升级分享 | 京东云技术团队

京东科技开发者

左耳听风 - 我对技术的态度「读书打卡 day 02」

Java 工程师蔡姬

读书笔记 程序员 读书 左耳朵耗子

漫画IT | 关于你天天用的OS与Git

极狐GitLab

数据千万条,安全第一条_文化 & 方法_HULK_InfoQ精选文章