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

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了解!

转载于:https://my.oschina.net/u/3115904/blog/859045

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值