女主宣言

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

PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦!

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

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

真是不能让人好好过年

为此,

360 DBA 团队提醒您

数据千万条,安全第一条

使用不谨慎,用户两行泪

在之前的文章《谨慎前行-浅谈Elasticsearch安全策略》,分享了我们团队所做的一系列保证Elasticsearch的安全的措施,今天带大家回顾一下重点~~

安全策略

网络层

除却“内鬼”的因素,骇客的攻击基本都是通过外部网络,所以这里是保障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时所作的一些安全策略,把这些分享出来希望可以帮助到大家。有一些策略其实很简单,可往往越是细小的点,越容易被大家忽略,越容易成为日后维护的坑。

最后,祝大家开工快乐!

数据千万条,安全第一条相关推荐

  1. 数据千万条,备份第一条:VFEmail被擦除所有数据面临关停

    我在多年以前写下的DBA四大守则,第一条是备份重于一切,直到今天,我仍然不断重复这一条守则的重要性. 在2月12日,美国邮件服务商VFEmail发表声明称,由于受到黑客攻击,完全是赤裸裸的摧毁式攻击, ...

  2. mysql第二条减第一条_Mysql SQL优化

    SQL优化规则 第一条: 尽量全值匹配,也就是说尽量使用等于 第二条: 最佳左前缀原则 如果是复合索引,要遵守最佳左前缀原则,指的是从最左侧列开始并且不跳过索引中的列 如果是按顺序使用的索引列,且有最 ...

  3. mysql分组取出每组地一条数据_MYSQL实现分组排序并取组内第一条数据

    一.需要实现分组排序并且取组内状态优先级最高的数据 有一张这样的数据表, 需求是根据error_type分组然后取status最小的第一条数据 第一种写法: select t.* from ( sel ...

  4. oracle 取分组第一行,oracle分组后取每组第一条数据

    oracle 分组后取每组第一条数据 '数据格式 分组取第一条的效果 sql SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER ...

  5. mysql查询去重第一条_Mysql用法记录 - Ashley-OSCHINA的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.查询某个字段,在数据库不重复的条数(去重查询) select count(distinct item_uid) from supply_order; 查询 表 supply_order 中 ite ...

  6. sql 取重复key中的第一条_SQL每日一题

    写在前面 SQL每日一题是用牛客网的sqlite库的题目进行深度讲解(感觉进度慢的小伙伴可以自行前往刷题),这个系列要开启日更计划,每日一题,一起进步学习. 题目描述 查找最晚入职员工的所有信息,为了 ...

  7. mybatisPlus中getOne方法如何只取其中一条数据(Wrapper有多条数据时)

    mybatis-plus中getOne方法只能取一条数据,如果取得多条数据会报错,要么换其他方法,要么只选择其中一条,在条件构造器Wrapper结尾加上.last("limit 1" ...

  8. 第一条台电子计算机,2001年4月全国计算机等级考试一级笔试试题Windows

    一.选择题(1)-(30)题每小题1分,(31)-(55)题每小题2分,共80分)(1) 计算机中对数据进行加工与处理的部件,通常称为 A) 运算器 B) 控制器 C) 显示器 D) 存储器 (2) ...

  9. SQL 解决从分组数据中总是挑选第一条数据的问题

    为什么80%的码农都做不了架构师?>>>    [问题] 在数据库的查询中,记录被分为多个组,每个组中仍然有多条符合条件的记录,而仅需每组中的第一条记录组成新的临时数据表和其他查询结 ...

最新文章

  1. 复盘-电商产品「分类」功能迭代
  2. 综合应用能力计算机类考什么用,综合应用能力考什么内容
  3. linux隐藏apache信息,Apache防盗链和隐藏版本信息-linux-centos运维
  4. 工作总结21:阅读代码之axios
  5. c语言文件分类二进制,C语言实现文件版(二进制文件版)通讯录
  6. spring boot之http,页面状态跳转与异常处理实战
  7. Spark —— RDD、DataFrame 与 Dataset
  8. 奇门遁甲鸣法 第五章 辅格
  9. 【论文解读】ICLR2021 知识建模与信息抽取
  10. 碰运气解决LATEX中中文颜色深浅不一的问题
  11. 金融银行测试面试题:网上银行转账是怎么测的?
  12. ascll编码表图片_ascii码对照表
  13. 彻底解决--“未能加载文件或程序集“xxx.dll”或它的某一个依赖项”
  14. 苹果个人开发者账号审核
  15. 基于lis3dh的简易倾角仪c源码_轻松应对并发问题,简易的火车票售票系统,Newbe.Claptrap 框架用例,第一步 — 业务分析...
  16. java程序设计六大原则
  17. GEE引擎架设好之后进游戏时白屏的解决方法——gee引擎白屏修复
  18. 微信小程序进阶学习笔记Day05
  19. 电脑C盘空间严重不足,教你5招!电脑内存瞬间多出10个G
  20. 行车路线(改)(图的应用)

热门文章

  1. C#多线程窗体控件安全访问实现方法
  2. 怀念童年啊!周二下午没有动画片……
  3. Spark GraphX算法 - Connected Components(连通分支)算法
  4. 通过链表深入理解Java的引用和对象
  5. python办公自动化博客_最全总结 | 聊聊 Python 办公自动化之 Word(下)
  6. 什么是实验室人员比对人员_中实在线——程老师小课堂 实验室人员管理技巧...
  7. 超详细:Springboot连接centos7下redis6的必要配置和失败分析
  8. 此上下文中不允许函数定义。_DAX函数---ALL家族
  9. Elasticsearch Scale Out
  10. 2018-08-03北大青鸟S1结业 项目MyKTV的总结