文档章节

随笔 | 让您操碎心的ElasticSearch,原来还可以这样加固安全

openfea
 openfea
发布于 2017/03/15 10:51
字数 1185
阅读 174
收藏 1

GDI Foundation的安全研究人员Victor Gevers 在2016年12月27日发现,一些不采取任何安全防护措施的MongoDB用户的数据被黑客攻击,数据库内容被加密,受害者必须支付赎金才能找回自己的数据。随后,这一事件不断发酵、扩大,一些骇客又开始将劫持矛头指向ElasticSearch服务器,并要求受害者支付类似的赎金。第一波针对ElasticSearch服务器所有者的攻击发生于1月12日,据追踪本轮ElasticSearch攻击活动的Niall Merrigan最新报告,已有超过800台服务器遭受劫持,安全形势不容乐观。

针对这一情况,Elastic公司给出了六条防护建议。而全世界的ElasticSearch研究爱好者也纷纷亮出自己对ElasticSearch数据安全的建议。这些建议基本反映出了ElasticSearch通行的几种安全防护策略:

第一,通过正规渠道下载 ElasticSearch(首选官方网站),并及时更新升级版本;

第二,修改默认的ElasticSearch集群名称;

第三,不要暴露 ElasticSearch在公网上,绑定公网IP要特别小心;

第四,禁用批量删除索引 ;

第五,安全使用动态脚本,一定要有发现和预警机制;

第六,ElasticSearch 服务器加固,开启防火墙,禁用 root 用户,不用使用弱密码;

第七,正确设置 ElasticSearch的数据目录,避免泄露敏感信息;

第八,定期对 ElasticSearch进行备份;

第九,采取监控和预警措施。

ElasticSearch因为其查询查询快,安装方便,语法类SQL,而与大数据结下情缘。常常在大数据平台中作为存储内核大放异彩,其安全性自不待言。以上安全策略虽然起到了很大的作用,但是它们有一个前提:

ElasticSearch必须经过了授权。

Shield是Elastic公司为ElasticSearch开发的一个安全插件。在安装此插件后,Shield会拦截所有对ElasticSearch的请求,并加上认证与加密,保障ElasticSearch及相关系统的安全性。但是,Shield需要授权收费的。因此,如果您想拥有一套安全且面向互联网的Elasticsearch实例,那么我们强烈建议您立即采取以下措施以保护您的数据:

一、对全部数据备份至安全位置,并考虑使用Curator快照,防止数据被破坏后手足无措;

二、对您的环境进行重新配置,从而将ElasticSearch运行在一套隔离型不可路由网络当中,如果您必须通过互联网访问对应集群,请通过防火墙、VPN、反向代理或者其它技术手段限制来自互联网的集群访问请求,这是最为简单而直接的做法;

三、升级至Elastic Stack的最新版本,如果您运行的是v2.x版本,请检查您的scripting设置,在新的v5.x版本中则请检查Painless脚本设置;

四、利用X-Pack安全工具添加TLS加密、验证、授权以及IP过滤等功能,从而保护您的ElasticSearch实例。

X-Pack虽然能对ElasticSearch进行较强的保护,但目前这部分是需要商业授权的。建议的做法是,采用Sql引擎来访ElasticSearch,通过Sql引擎结合ElasticSearch集群的网络隔离,对存储在ElasticSearch的数据进行安全管理。

用户身份认证

CREATE USER username IDENTIFIED BY 'password';

是不是非常熟悉,继续往下....

权限分配

GRANT ROLES ON TABLES TO NAME@STRING;

grant select on sjrz_qm*.* to test@'10.68.11.%'

grant select on account*.* to sy@'%'

grant select on account*.base to sy@'%'

grant drop on people_trail*.base to username@'%';

X-Pack有的验证、授权以及IP过滤等功能,全都具备。

针对数据运维,还可以加上动态数据脱敏功能,即使运维人员有较高的数据库访问权限,但其能拿的数据仍然是被脱敏处理了的,并不是真实数据。

grant select on people_trail.base(zjhm) to test@'%' with code_masking;

grant select on people_trail.base(xm) to test@'%' with name_masking;

五、采用外部隔离和封装SQL来使用ElasticSearch。

生活中,抱团取暖是应对危机的一种上策,而在IT设备防御中也是一种上策。将各个ES集群节点封装成一个整体,ES客户端通过ESQL工具来现ES集群通信,一方面,通过ESQL的防护实现ES集群的安全隔离。另一方面,ESQL工具可以简化使用,并且实现对资源的细粒度授权管理。

更多信息,可以通过https://github.com/unimassystem了解!

© 著作权归作者所有

openfea
粉丝 18
博文 86
码字总数 95615
作品 1
杭州
其他
私信 提问
elasticsearch如何加固?

elasticsearch2.4.6安全加固 安全从来不是等到出事才要注意的事情,可以说安全是第一重要的事情。技术总监、运维总监、架构师还是一线工程师,都应该有安全意识。 Elasticsearch 的用户现在越...

cs312779641
2018/05/08
0
0
Elastic Stack 7.2.0 发布,隆重推出 Elastic SIEM 和 Elastic App Search

Elastic Stack 7.2.0 发布了,Elasticsearch 作为 Elastic Stack 的核心,它是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 此版本引入了一些新功能,包括...

xplanet
06/27
6.5K
4
基于ELK实时日志分析的最佳实践

在2018云栖大会深圳峰会大数据分析与可视化专场上,由阿里巴巴搜索引擎事业部开放搜索团队的吴迪带来了“基于ELK实时日志分析的最佳实践”的主题分享。介绍了传统的日志分析、ELK的概念和ELK...

smile小太阳
2018/05/06
0
0
Elasticsearch 公司上市,市值近 50 亿美元

以 Elastic 之名进行交易的数据搜索软件初创公司 Elasticsearch 于今天在美国上市。 Elasticsearch 也第一时间在自己的官网发布消息表示感谢: “谢谢用户,客户,和合作伙伴!” Elasticsea...

oschina
2018/10/06
8.1K
26
centos 7( linux )下安装elasticsearch教程

目录 概述 环境准备 elaticsearch简介 安装elasticsearch 彩蛋 概述 很久没有写博客了,最近在做全文检索的项目,发现elasticsearch踩了不少坑,百度点进去又是坑,在此记录一下自己的踩坑历程。...

java_龙
2018/10/15
472
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部