您当前的位置:首页 > 知乎文章

剖析“删库”背后的深层警戒

时间:2022-02-28 10:47:15  知乎原文链接  作者:网盾网络安全培训

一、事件还原

2月25日,港股上市公司微盟集团在港交所公告称,SAAS业务数据遭到一名员工“人为破坏”,故障发生后排查发现大面积服务集群无法响应,生产环境及数据遭受严重破坏。

在“删库事件”发生7天后,微盟集团公告称,截至3月1日晚8点,在腾讯云的协助下,经过七天七夜的努力,被删除的数据已经全面找回。此次事故给商家经营造成了严重影响。微盟表示,公司管理层准备了1.5亿元人民币赔付拨备金,在紧抓数据恢复的同时,也在同步研究商家赔付方案,拟定了现金赔付计划和流量赔付计划供商家选择。

“删库事件”就此过去,

实际上大家彼此心知肚明,这次事件只需要最简单的双人复核就能避免,多一次打扰,少亏12亿。那么为什么最初级的操作也做不到呢?

二、原因分析篇

有人指出这次“删库”原因是微盟没有使用堡垒机,仅仅如此吗?

爱因斯坦说,问题往往不会在它发生的那个层面得到解决。

现在很多互联网公司对自己的技术非常有信心,为了节省成本,会选择基于开源软件自主研发安全产品。但在设计产品和管理产品的过程中,难免缺乏专业经验。

专业的人做专业的事。脱离钱去谈安全,就有可能丢了孩子还套不着狼。

“删库”这么狗血的事情已经在历史上重演很多次了,有蓄意破坏的,也有失手误删的,归根结底,都是人的因素。当你大门敞开,这库就迟早要删,即便现在没有动机,也不能保证没有手误的可能。

人永远存在犯错的可能性,而安全又是一个神奇的四两拨千斤的问题,任何一点小错误都有发展成大规模破坏的潜力。因此运维安全的第一步,就是对“人”的权限管控。

构建成熟的权限管控体系,才能最小化排除人的不稳定因素。

三、整体方案篇

数据中心内的运维安全体系分为身份验证,授权,访问控制,审计和主机防护5个方面,而其中的授权+访问控制实现权限管控。从字面意义上理解:授权就是授予相应的人相应的权限(人+账号+资产),访问控制就是在人在获得权限之后允许做哪些事情不允许做哪些事情(时间+地点+操作)。二者本质上是一个授予和执行的关系。

class="ztext-empty-paragraph">

class="ztext-empty-paragraph">

1.授权-修桥铺路

在数据中心内,根据业务场景的不同有三种授权通道:工单申请、动态授权、静态授权。

工单授权

操作人员根据每天需要处理的事务向部门领导提交工单申请,包括:服务器IP、账号、运维事项、时间范围等,领导审批后操作人员才可在堡垒机中查看到申请的访问权限。

优点:按需供给,通过流程严格控制访问权限。

缺点:需要紧急处理事务时,流程审批耗时会耽误处理时机。

静态授权

对于人员固定,访问目标固定且低风险的访问权限可以使用静态授权,如:张三每周一至周五早上9点到10点之间都需要对备份机做巡检,巡检用到的账号是一个只读的低权账号。

在执行授权的过程中,通常会伴随常规策略设置,定义基础权限,主要包括人、账号、资产,偶尔也会涉及到事件、地点、操作等策略配置。

优点:权限管控粒度细

缺点:配置过程相对复杂且难调整

动态授权

相对于静态授权的条目多,配置复杂,动态授权提供了一种按属性,按标签的更便捷的配置方式。例如:按用户部门(系统,数据库,网络),角色(管理员,值班员),设备类型(主机,数据库,中间件),业务系统(网银,手机银行)等,根据标记自动生成访问权限,实现动态授权。

优点:配置灵活,组合条件多

缺点:权限查看和搜索比较麻烦

2.访问控制-分道限速

授权阶段足以满足登陆访问的基础需求了,然而不足以将“人”的风险降至最低。访问控制则是对“人的行为”进行风险控制的强力补充。

通过时间策略、源地址策略、操作规则的进一步设置,连同人、账号、资产的基础权限,形成六维细粒度权限管控体系,实现权限最小化管理。

源地址条件:按IP地址为度缩小权限范围,比如:只允许在192.168.1.10-20地址范围访问
操作条件:按指令,剪贴板上下行,磁盘映射,文件传输上下行等缩小权限范围,比如:不允许支持rm -rf *,只允许文件上传不允许下载
控制动作:当触发以上规则时系统执行相应的动作,比如:不阻断但发邮件报警,阻断并发syslog,等待管理员审批等。

目前常见的几种权限管控包括:ACL(基于黑白名单)【1】、RBAC(基于角色)【2】、ABAC(基于属性)【3】,在不同的业务场景下,适配不同的技术手段。

四、结语

不得不承认,权限管控是一件干起来十分吃力又不讨好的事情,安全本身看不见效果。即便是比较好的自动化平台,至少也需要人来审批。从前期准备到后期运用,很容易形成成本升高、效率却降低的局面。

的确,树上的果子摘下来就能吃,何必要洗一遍呢?

但最近这个世界在告诫我们,你不知道那个果子有没有被果蝠碰过。

愿大家身体健康,也愿行业更健康。

Reference:

【2】RBAC(Role-BasedAccess Control)基于角色的访问控制,常见于软件管理系统的用户分权。与ACL中一一对应的授权执行关系不同,RBAC引入了角色(role),与操作权限和资源权限相关联,适合在操作权限和资源权限控制简单,且相对固化,但人员变更频繁的场景下使用。比较常见的场景:数据库的用户角色(role)管理。
【3】ABAC(Attribute-BasedAccess Control)基于属性的访问控制,常见于分布式业务场景的用户分权。ABAC是一种贴近自然语言的权限控制模型,抽取异构场景的共性属性,用属性的自然组合来解决权限控制问题。针对复杂、分布式、动态、细粒度的权限管控要求,ABAC拥有难以取代的优势。

上一篇      下一篇    删除文章    编辑文章
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门