跳到主要内容

· 阅读需 7 分钟

设计并实施可靠的基于消息通知的服务架构方案。通过异步方式(消息、事件等),将核心业务逻辑与扩展业务逻辑解耦。

现状与问题

悦库网盘的业务框架,如下图:

由终端层发起操作请求,通过访问API接口根据路由规则将请求转交至业务处理逻辑中;在业务逻辑层,首先校验请求者的角色和权限,确认此次操作的安全合法性;校验通过后,由对应的业务逻辑处理此操作,并在操作完成后,进行日志的记录。 在业务逻辑层对请求的处理是基于面向过程的方式,需等待整个操作过程的每一个步骤依次执行结束后,才会向请求者返回应答。

主要的文件相关业务处理流程,如下图:

这种处理流程会产生以下几个问题:

  • 业务的复杂度较高的操作,处理流程过长,可能造成请求应答延时高,服务端负载过高等问题,如“修改”和“彻底删除”。

  • 重复的处理逻辑复用方式低级,如“日志”。

  • 业务流程耦合度高,变更困难。

以“彻底删除文件”为例,进行问题描述:

执行“彻底删除文件”操作时,需要依次执行如下步骤:

  • 收到“彻底删除文件”请求
  • 删除回收站文件信息
  • 删除文件分享链接
  • 删除文件水印
  • 删除文件缩略图
  • 记录操作日志

需要等上边几个步骤依次全部执行完成,才会将“彻底删除文件”这个操作请求应答给操作者。

  • 用户视角 删除文件后,一定希望在文件列表中需要立即生效,既实时一致性需求。而对分享链接、水印、缩略图、日志等数据,并不需要立即处理。我们通过同步的方式处理,会造成业务响应的延迟,用户操作起来感觉不够丝滑。

  • 团队视角 如果后续我们围绕文件增加了订阅功能,那么就需要在彻底删除文件时,清理对文件的订阅数据,既在“彻底删除文件”的业务逻辑中,补充删除订阅数据的逻辑。以这种方式进行业务扩展,导致新展开的业务,必须对旧的业务逻辑进行修改,不可避免要对现有的稳定的业务逻辑进行侵入式的调整。

解决方案

将原过程化的处理流程中,对数据操作的逻辑,根据实时性要求划分为实时性操作非实时性操作。在实时性操作处理完成后,直接应答给用户,同时产生一条操作事件,等待事件通知至相应的处理模块时,再执行非实时性操作

以“彻底删除文件”为例,描述解决思路

采用订阅-通知的方式,将分享链接、水印、缩略图、日志等,实时一致性要求低的操作进行异步处理,从而解决同步处理所带来的问题。

  • 将各个业务进行模块和角色划分:

    • 订阅者

      • 回收站模块
      • 分享链接模块
      • 水印模块
      • 缩略图模块
      • 日志模块
    • 通知者

      • 事件通知模块
  • 处理流程如下:

    • 由订阅者向通知者订阅“彻底删除文件”
    • 收到删除文件请求
    • 由回收站模块删除文件信息
    • 产生“彻底删除”事件
    • 由通知者向其他订阅了“彻底删除”事件的订阅者
    • 订阅者收到通知,处理自己模块负责的业务逻辑

    在“彻底删除文件”的时,文件信息的需要立即生效,所以直接通过回收站模块进行文件信息的删除,并产生“彻底删除”事件。至此可认为文件操作已完成,并返回给调用者。通知者在收到“彻底删除”事件后,以异步的方式向所有订阅了此事件的模块进行通知,相应的订阅者收到通知后,依照自己模块的方式处理此通知,从而达到异步解耦的效果。

  • 用户视角 删除文件后,文件列表实时更新,删除操作响变快了。

  • 团队角度 在新增业务模块时,只需要增加对于“彻底删除”通知的处理,并订阅“彻底删除”即可,不需要关心原有的业务逻辑。

· 阅读需 9 分钟

文件是现代信息企业的核心数据资产,为了确保资产的安全,需要对资产管理者的集中式权力进行拆分和监督,以权力约束权力使其保持平衡,权力模型是建立在"三员"模型之上,实现人员权力相互制约,让文件访问更安全可控。

“一切有权力的人都容易滥用权力;要防止滥用权力,就必须以权力约束权力!” --- 孟德斯鸠

什么是三员

概念

“三员”的概念在国家保密标准BMB20-2007《涉及国家秘密的信息系统分级保护管理规范》中提出,要求涉密信息系统应当配备安全保密员、系统管理员和安全审计员三类安全保密管理人员(简称为“三员”),分别负责安全保密管理、系统运维和安全审计工作。“三员”担负维护系统安全、稳定、可靠运行的重要任务,对涉密信息系统具有重要作用。

角色定义

由于超级管理员对整个系统拥有不受任何限制的所有操作权限,能够对增加删除任意用户、对所有文件进行操作,一旦超级管理员发生违规访问行为,文件本身就失去了安全性。因此在“三员”模型中,删除了超级管理员角色,个体不具备对系统所有资源的操作权限,同时将系统划分为安全保密、系统运维、行为审计三种相互独立、相互制约的角色,分别为安全保密员、系统管理员、安全审计员。

image-20230129104459780

安全保密员

安全保密员负责空间/文件/功能的访问授权、变更用户角色、用户访问安全警告的分析和处理。安全保密员只能基于现存用户进行授权操作,无法创建新用户,避免了安全保密员违规创建新用户并授权造成的文件访问外泄行为。安全保密员无法创建新角色,只能基于现存用户和现存角色为用户进行角色变更,且变更后的角色中包含的功能必须是安全保密员的角色的子集否则该操作被识别为敏感提权操作,需要安全审计员审批,这样可以避免安全保密员为用户变更高权限角色间接为用户提权的不安全行为。

系统管理员

系统管理员负责系统运维、管理用户(新建、修改信息、删除)、管理角色(新建、变更功能、删除)。系统运维主要包括软硬件安装和升级、扩容、数据备份/迁移/恢复、网络管理、运行情况监察等。系统管理员不能为其新建的用户授权。如果角色已关联用户则变更角色功能或删除角色需要安全审计员审批,避免为用户增加角色功能造成间接为用户提权的不安全行为。在没有安全保密员授权的情况下也无法访问悦库内部管理的文件,避免了系统管理员违规访问内部文件的行为。

安全审计员

安全审计员负责定期对系统管理员和安全保密员的操作行为进行审计分析和监督检查,及时发现违规行为。还负责审批对于系统安全设置敏感操作:用户角色变更和角色功能变更。安全审计员只对系统管理员和安全保密员的操作行为合规性负责,不参与系统运维和访问授权的实际业务工作。

权力模型

支持二种权力模型,分别为:二员模型、三员模型。根据企业的人员数量和文件保密级别不同,对权力模型的需求会有差异。对于小企业人员少且组织结构简单,则权力模型也应简洁,避免不必要的额外操作,使用二员模型即可满足多数需求。对于大型企业则应使用三员模型来避免个体权力过大,造成数据安全风险。

二员模型

二员模型是指系统存在超级管理员和系统管理员角色。超级管理员拥有任意操作权限。系统管理员负责系统运维和管理用户,需额外授权才能访问空间中的文件。

二员模型实际是对三员模型的简化,目的是将系统管理员独立于文件的安全保密管理以外,专门负责系统运维。超级管理员同时拥有三员中的安全保密员、系统管理员、安全审计员角色。系统管理员则在三员中的系统管理员角色基础上中去掉了管理角色的权力。

三员模型

“三员”模型中,删除了超级管理员角色,个体不具备对系统所有资源的操作权限,同时将系统划分为安全保密、系统运维、行为审计三种相互独立、相互制约的角色,分别为安全保密员、系统管理员、安全审计员,对信息系统整体安全有很好的防护作用。

用户故事

在“三员”模型下,系统全局权力由安全保密员、系统管理员、 安全审计员分别掌握,形成了“三权分立”的局面,产生了相互权力制约和监查,极大提高了系统的整体安全性。以新增用户为例子:

公司入职一名新员工,需要在网盘中创建新用户,可以访问研发部空间下的文件。

实施具体的操作是:

  1. 研发部新员工通过固定链接页面发起一个新建用户的审批流,转给研发部门主管。
  2. 由部门主管审批通过,审批流自动转给系统管理员。
  3. 系统管理员根据新员工提交的信息为其创建新账号,完成后审批流自动转给研发部的安全保密员。
  4. 安全保密员为新用户授予研发部空间的的访问权限,审批流结束,系统自动通知新员工账号生效。

系统定时生成《安全审计报表》,发送给安全审计员进行安全审计,以检查系统管理员、 安全保密管理员的操作是否合规。

· 阅读需 7 分钟

本文简单总结了悦库企业网盘2022年产品发展情况,制定了2023年产品发展的主要规划方向。

2022年总结

  1. 产品迭代

    2022年度累计发版13次,迭代节奏良好。平均3~5周左右发布一次新版本,在推出新功能的同时及时解决了用户反馈的紧急问题。

    image-20230116105307883

  1. 产品能力

  2. 官网改进

    • 官网过时的UI风格和布局重新设计,优化文案。

      image-20230116113318255

  • 建立官网博客,定期发布原创文章增加用户对悦库品牌认可度。

    image-20230116113240723

  • 全面重构产品文档,包括服务端环境搭建(多平台、单机/集群)、扩展组件安装(文档预览、病毒查杀、全文检索、分布式存储)、系统运维等教程。

    这些文档的目的是为了帮助用户更准确快速的解决问题,也为悦库的技术支持人员提供重要指导,提高技术支持效率。通过用户的使用反馈和为其提供技术支持服务时发现的问题和不足,可以不断优化文档,更高效的解决用户实际问题。

    image-20230116113044791

2023年计划

当前信息时代,文件数据是企业资产的重要组成部分,确保文件安全就是确保企业的资产安全。2023年度,悦库企业网盘将确立以文件安全访问流程化为核心竞争力的产品发展方向。

  1. 安全访问

    在2022年第四季度我们已经对文件安全访问进行了大量的学术调研和团队培训。今年将以 "文件不落地"、"抗勒索病毒"、"职责分离制度"为起点进行逐步的论证和实施。 相关的原创文章:

    安全访问 - 文件不落地

    如何防止勒索病毒侵害数据
    安全访问的整体大框架相关内容请参考内部文章《企业文件安全管理白皮书》第2章 安全策略 ,主要框架如下:

    对于文件流程化功能,需要进一步的学术论证,在可行性论证文章发表后,再进行下一步计划工作。

  2. 官网优化

    在主要的安全策略实施完毕后,应该将其理念文案化作用于官网中,需要对官网进行大的改进。目前官网存在的另一个问题是博客和文档的页面跳出感比较强,没有和官网融合于一体,这需要寻找一种解决方案让官网、博客、文档能更好的融合于一体,且要便于持续集成系统自动对其进行脚本式控制。

  3. 文件同步功能

    大力支持对文件同步技术的研发,2022年12月份我们已经完成了对文件同步技术的初步论证,并编写了 内部文章《文件同步功能技术提案》,该功能预计将于2023年第二季度发布第一个可用版本。

  4. 五合一迭代试验

    产品功能是产品理念的一种现象,但不应仅作用于产品功能本身,还应该作用于官网、博客、文档、团队共识中,最终能够更好的作用于终端用户。通过在每期迭代需参考产品、官网、博客、文档、团队共识五个角度,进行任务规划,实现一体式推进,让产品理念更好的在终端用户落地。

· 阅读需 5 分钟

悦库企业网盘5.4版本发布了,新增文件水印等功能为实现文件不落地提供解决方案,文件不落地解决方案由预览、水印、权限和角色管控等模块组成,部分员工只能预览文件,无法下载,预览的文件有水印标识。管理员可以设置图片水印和文字水印,水印是一种数字保护的手段,在文件上添加水印即能证明企业的版权,还能对版权的保护做出贡献,水印在保护文件安全和防止文件被他人恶意窃取方面也起着非常重要的御防作用。另外,悦库除了水印功能外,还有权限和角色管控、病毒检测和全生命周期操作日志等方法都可以对文档起到保护作用,这样可以保证企业数据资产更安全。

本次更新还新增用户注册功能,用户可以通过网页端登录页面按照格式要求申请账号,账号申请完成后,由管理员分配角色和权限才可正常使用,减轻管理员压力。网页端新增文件夹上传功能,功能上线后,客户端、网页端和虚拟盘都支持上传文件夹,用户使用将更加方便。优化系统调试日志位置,方便查找。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073

一、版本更新内容

1、新增文件水印功能,可以设置文字水印和图片水印,水印是文件不落地解决方案的重要一环。

2、新增WEB端文件夹上传功能,支持传输列表和传输任务控制等功能。

3、新增注册新用户功能,用户可以按照要求注册新用户。

4、新增预览页面上下翻页功能,查看文件更加方便。

5、优化WEB端登录页面,增加注册按钮和优化下载客户端入口位置。

6、优化系统调试日志位置,由“日志-系统运行”调整到“系统维护-系统调试日志”。

7、修复文件夹和文件设置权限按钮消失的问题。

8、修复经典版升级悦库5有概率失败的问题。

二、下载地址

服务端下载入口

https://www.ydisk.cn/page/download.html

客户端下载入口

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

img

三、主要界面

▼ 注册用户:用户可以在网页端登录页面注册新用户,注册后由管理员审核并添加角色和权限才可使用。

注册入口

image-20230112104742372

注册信息

image-20230110144423873

▼ 文件水印:用户预览文件时,会添加水印,保障企业数据安全。

1、PDF文件文字水印

image-20230117135948222

2、Excel文件文字水印

image-20230117140217487

3、Word文件文字水印

image-20230117140334811

4、PDF文件图片水印

image-20230117140611433

5、图片文件水印

image-20230117150532780

▼ 网页端文件夹上传:网页端支持选择上传和拖拽上传文件夹功能。

image-20230112104559483

· 阅读需 5 分钟

悦库企业网盘5.3.3版本发布了。新增预览页面工具栏,支持常用的文件操作、上下翻页、全屏功能。新增文件操作快捷键和功能快捷键。文件列表视图中名称字段可以左右拖拽,显示长文件名称。文件列表增加分页机制。新增设置网络限速功能,可以对上传/下载限速。优化用户显示界面,隐藏无权限的功能。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073

一、版本更新内容

1、新增预览页面工具栏,支持常用的文件操作、上下翻页、全屏功能。

2、新增快捷键,支持常用的文件操作快捷键和功能快捷键,点击查看详情

3、新增文件列表视图中名称字段可以左右拖拽,可以显示长文件名称,查看更方便。

4、新增多选列表的shift区域多选。

5、新增文件列表增加分页机制,文件夹下文件数量过多时保证效率且不会卡死。

6、客户端设置显示/隐藏主窗口快捷键,可以自定义显示/隐藏主窗口快捷键。

7、优化文件列表修改时间字段,去除文件列表修改时间秒字段。

8、优化用户显示界面,隐藏无权限的功能,如空间/文件夹/文件权限管理、空间负责人菜单和浮动工具栏图标。

9、优化系统管理等后台UI样式。

10、修复删除用户不选择交接人时会报错的问题。

11、修复外链分享页面中预览无效的问题。

12、修复二次编辑权限时,点确定和叉号无反应的问题。

13、修复空间用空格开头或结尾命名会报错的问题 。

14、修复客户端初次打开,文件点击默认操作是本地打开或在线预览不一致的问题。

15、修复用户管理按部门排序后,编辑用户保存后排序丢失的问题。

二、下载地址

服务端下载入口

https://www.ydisk.cn/page/download.html

客户端下载入口

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

img

三、主要界面

▼ 预览页面工具栏:预览文件支持分享、下载和全屏等功能项。

1671086447299

▼ 文件列表视图中名称字段可以左右拖拽,可以显示长文件名称,查看更方便。

拉伸宽度

▼ 多选列表:支持shift区域多选功能,按shift可以选择源点到 终点的所有项。

多选

· 阅读需 11 分钟

概要

由于悦库网盘中涉及文件上传、下载的业务越来越多,而不同的业务对于文件传输基础功能的依赖程度和使用方式不一样,比如:本地文件编辑功能要求在下载前判断是否锁定状态,并根据锁定状态决定下载后以只读还是读写方式打开。而下载文件功能则直接使用文件传输功能,下载完成后仅通知消息但不打开文件。文件同步下载功能则可能需要将多个文件合并为一个任务通知进度。这样文件业务和文件传输实现耦合度大大增加,造成业务逻辑混乱、业务扩展性差、开发低效问题。

我们期望这些上层业务都能够使用一致的底层文件传输接口,这样可以使文件传输逻辑的底层支撑更健壮,使上层业务逻辑忽略底层文件传输实现,使业务开发速度更快更稳健,基于文件传输的业务功能扩展性更强。

文件任务中间件是将文件业务和文件传输(传输/变更)解耦的组件,用于实现以文件任务模式支撑主要的文件相关业务,统一多端(WEB/PC/手机)、多平台(Windows/Mac/Linux/Android/IOS)实现机制。这样当业务层需要传输文件时,仅需要通过文件任务进行操作,忽略了传输底层的实现和状态,让业务层更关注于业务本身的实现而不是文件如何传输问题。

image-20221214085844012

需要支撑的业务

不了解业务的设计师不是设计师,不了解用户的设计师也不会理解业务。

需要支持的业务功能包括:从系统资源管理器中分享文件、打开消息文件、拖拽和选择上传/下载文件、本地编辑、文件同步、任务操作、上传/下载审批、协同上传/下载任务、各种任务场景适配(本地编辑、消息文件)、Webhook。

  • 在系统资源管理器中分享 是指从系统资源管理右键菜单中分享文件或文件夹,分享完成后通知我分享已完成。实现方法是先将文件上传到云端,然后将文件分享给指定的人。

  • 打开消息文件 是指下载消息文件,然后使用本地程序打开。

  • 拖拽和选择上传/下载文件 是最基础的文件上传下载操作,仅上传下载文件,没有任何其他附加操作。

  • 本地编辑 是指先下载文件,下载完成后需判断文件是否被其他人锁定,如果被锁定则以只读本地打开,否则已读写方式本地打开,打开后监控文件修改,如果文件有修改则需自动上传,上传完成后通知我。

  • 文件同步 分为上行同步和下行同步,上行同步开始的前提是本地已同步过。同步任务会包含多个文件。

  • 上传审批 是指上传完成后,暂不进入仓库,其他人不可见。然后进入审批流程,审批流程完成后自动进入仓库,任务完成。如果审批失败则退回上传者,任务失败。

  • 下载审批 是指下载任务创建时,触发审批流程,审批流程完成后任务被允许执行,任务成功。如果审批失败,则任务被拒绝执行,任务失败。

  • 协同上传 是指多人合作完成一个上传任务,这个上传任务中可以有一个或多个文件。例如协同上传任务要求每人至少修改一次,或每人必须按预先规定的文件名称格式上传一个文件。当所有人在预定的时间内完成操作后,任务成功,通知任务创建者。如果超时且操作没有完成则任务失败。

  • 协同下载 是指多人合作完成一个查看/下载任务,这个下载任务中有一个或多个文件。例如协同下载任务要求每人至少查看/下载一次。当所有人在预定的时间内完成操作后,任务成功,通知任务创建者。如果超时且操作没有完成则任务失败。

  • Webhook 是指当文件上传前调用指定的Webhook接口并将文件数据传过去,接口返回处理后的文件数据,然后文件上传再继续下一步操作。Webhook的触发时机可能是:上传前、上传进度,上传完成后、下载前、下载进度、下载完成后。这样将允许用户自行截获文件数据并对其进一步处理,如: 加/解密、病毒扫描等。

任务的组成

文件任务中间件由任务基本信息、任务状态、任务处理器、任务控制、Webhook 、任务日志模块组成。

  • 任务基本信息包括如任务ID、任务类型、任务参数等任务必须的基本信息。其中任务参数中包含任务的场景信息包括:本地编辑、消息文件、文件同步、手动下载等。

  • 任务状态用于保存和通知任务的状态信息,如进度信息、当前执行阶段、任务状态处理程序。当任务的状态发生变更时,如果用户注册了状态处理程序则会调用匹配状态的任务处理程序。

    例如,上传文件任务有如下阶段和状态:

    阶段:'wait', 'loadLocalFileMeta', 'uploadFileMeta', 'uploadFileData', 'commitToStore'

    状态:'wait', 'running', 'paused', 'error', 'done', 'cancelled'。

  • 任务处理器是任务的核心执行模块,处理器可以是文件上传、文件下载、文件复制等。处理器在执行期间需要将状态信息记录的状态对象,状态对象负责执行通知和状态处理。处理器可在客户端实现和运行,如上传下载文件任务,也可能在服务端实现或运行,如复制移动文件任务。

  • 任务控制 负责对任务进行暂停、继续、取消操作。

  • Webhook 在服务端根据任务的状态(上传前、上传完成、上传失败等)调用适当的Webhook API。

任务事件

任务事件基于云任务触发,当任务创建、开始、状态变化、完成时,云端会产生任务事件,业务模块可以根据自己的需求订阅具体类型的事件,这样容易实现更灵活的业务,这与文件事件驱动机制类似,只是事件发生的对象不同。

在系统资源管理器中分享这个业务功能为例:业务模块创建上传任务,并订阅此任务的完成事件,这样当文件上传任务完成后,云端会发生完成事件,然后业务模块可以在接收到完成事件后触发文件分享功能。

基于云任务的事件驱动机制在协同任务的业务实现是必须的,由于多人参与任务,每人都可能需要获取任务的事件状态,这样就可以从云端灵活的订阅自己感兴趣的任务事件。

最后

文件任务中间件的实现需要在客户端和服务端分别实施。服务端实现文件任务的云任务化,在云端永久保存任务信息和状态,并在适当时机发生任务事件,记录任务日志。客户端的文件任务是云端任务的本地运行时,并为前端提供功能支持,并不永久保存任务的信息和状态。

· 阅读需 4 分钟

近期,全球医疗、教育、金融、科技等重点行业企业相继遭受勒索病毒攻击,引发企业业务停滞、工厂停产等严重后果,如对英国北方铁路公司自助售票系统的攻击导致企业售票网络瘫痪、对巴西肉类加工巨头 JBS 的攻击导致企业在澳全部肉类加工厂停运等。

勒索病毒主要通过钓鱼邮件、网页挂马等形式传播,或利用漏洞、远程桌面入侵等发起攻击,植入勒索病毒并实施勒索行为。以 WannaCry病毒为代表,其通过加密算法加密用户文件后直接把原始文件删除,然后要求受害者以比特币来支付赎金,以隐蔽真实身份。但实际情况是即使支付赎金往往也无法获取解密私钥,因为对于攻击者而言,收到赎金后发送私钥的行为有暴露自己身份的风险。

为了避免数据遭受毁灭性破坏,最有效的方式是对数据进行集中管理,定期增量备份到远程主机,对于备份机需要进行一定的安全防护,如:开启病毒实时防护软件,设置系统登录密码,避免随意下载和运行不明软件程序。这样一旦服务器遭受勒索病毒攻击,可以使用远程机的备份来恢复数据,如下图:

当悦库服务器被勒索病毒感染后,所有文件会被恶意加密。在服务端每日备份程序启动时,备份安全过滤程序可以有效识别备份原文件是否合法,如果文件被恶意加密则拒绝备份,避免使用被恶意加密的文件覆盖现有的有效数据。

image-20221125112037930

主机感染病毒后,使用如下方法并不能完全清除勒索病毒:

  • 杀毒软件全盘扫描检测。由于某些新型未知勒索病毒具有一定的免疫能力,因此检测结果并不可信。
  • 重新安装操作系统。安装系统默认只会清理C盘数据,其他分区数据依然存在,新系统启动后,如果执行了其他分区中已感染的文件病毒程序依然会被唤醒。

更彻底的方法是重装系统并在安装系统执行之前格式化所有硬盘分区。

在确认清除服务器中的病毒后,就可以重新安装悦库服务端,然后将通过远程连接恢复所有数据。

image-20221125112059580

· 阅读需 4 分钟

为什么需要文件不落地?

我们认为在生产环境中,文件是企业资产的一部分,“所有权”应归属于企业实体。一些敏感信息文件如果被下载并传播,会给企业造成不可挽回的损失。

软件技术可以保护原始文件数据,避免被窃取和传播,但无法完全避免文件的内容传播,攻击者依然可以截图/拍照然后软件识别文字或者直接用纸笔记录等手段实现内容传播。

使用技术进行阻隔可以大幅度增加攻击者采集和还原数据的成本,当攻击者所得利益大于攻击成本时,攻击行为失去意义,攻击者会选择放弃攻击。

用户故事

『 小明(攻击者)作为一家企业的技术员最近要离职,试图将企业内部核心技术资料相关的文件复制到自己的U盘中带走。 』

假设这些核心资料是PDF格式,有100个文件,每文件20页,总大小80MB。

在“可下载”场景中攻击者可以直接下载文件并复制到U盘。

在“文件不落地“场景中攻击者需要先对文件中的每页内容进行截图,然后通过识图软件获取内容重新排版还原。

为了更清晰的展示攻击者成本,以下我们用数学方式做简单的论证。

下载所有文件的时间,预计10S(秒):

TD(a:all  file)=time  to  download  filesTD(a:all\;file) = time\; to\; download\; files

所有文件复制到U盘时间,预计10S:

TC(a:all  file)=time  to  copy  filesTC(a:all\;file) = time\; to\; copy\; files

每页PDF文件内容的截图时间,预计5S:

TS(p:number  of  pages)=single  page  screenshot  timeTS(p:number\; of\; pages) = single\; page\; screenshot\; time

每页的内容从截图中还原时间,预计30S:

TR(p:number  of  pages)=Restore  time  for  a  single  pageTR(p:number\; of\; pages) = Restore\; time\; for\; a\; single\; page

攻击者的时间成本:

“可下载” 场景

TD(a)+TC(a)=20STD(a)+TC(a) = 20 S

“文件不落地” 场景

(TS(20)+TR(20))×100+TC(a)=70010S(TS(20)+TR(20))×100+TC(a) = 70010 S

从结果可以看出,在以上用户故事中,"文件不落地"场景下攻击者的时间成本是"可下载"场景下的3500倍。

实施

当用户查看文件时,安全检查机制会根据当前环境(内网、外网、信任设备)和用户的权限评估是否允许查看/打印,如果评估成功则由服务端根据原始文件内容在线渲染内容并附加水印保护,然后发送给用户展示,如下图1:

图1

实现效果

通过设定权限,让用户仅可以在线查看文件的内容,但无法下载和分享。当用户预览文件时,在内容页面覆盖水印,附加安全信息、用户名、时间等,防止屏幕被截图或拍照传播。如下图2:

图2

由于"文件不落地"功能强依赖于文件的在线预览功能,因此我们需要支持更多常用文件格式的在线预览能力。

· 阅读需 4 分钟

悦库企业网盘5.3.2版本发布了,权限设置重磅升级!!! 管理员可以在权限设置页面直接添加权限模板,可以搜索选择部门和用户,支持批量添加和移除权限等快捷操作,权限管理更便捷、更高效。新增用户初次登陆入门教程,帮助用户快速学会基本的使用方法。新增组织架构中显示人数功能。同时优化安装流程,产品安装提示更准确,帮助用户友好顺利的安装悦库。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073

一、版本更新内容

  1. 新增用户初次登陆入门教程。
  2. 新增下载系统运行日志的功能。
  3. 新增组织架构中显示人数的功能。
  4. 新增选择同事页面,设置权限和分享给同事时,可以选择和搜索同事。
  5. 优化欢迎使用悦库企业网盘页面。
  6. 优化配置超级管理员页面。
  7. 优化存储配置页面。
  8. 优化空间负责人,可以选择和搜索同事。
  9. 优化权限管理页面,管理员设置权限更便捷、更高效。
  • 新增批量删除多人权限功能
  • 新增批量添加权限功能
  • 新增批量移除权限功能
  • 新增选择同事的搜索框功能
  • 新增添加权限模板功能
  1. 修复专业版名称更改后虚拟盘名字不更新的问题。(用户反馈)

  2. 修复Linux版本不显示存储和备份路径的问题。(用户反馈)

  3. 修复打开多个历史版本会造成下载冲突的问题。

二、下载地址

点击下载服务端

客户端下载

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

img

三、主要界面

▼ 全新权限设置:管理员设置权限更便捷、更高效。

img

img

▼ 发送给同事:用户可以将文件/文件夹发送给同事,支持搜索选择部门和用户。

img

▼ 组织架构中显示人数。

img

▼ 下载系统运行日志功能。

img

· 阅读需 5 分钟

4.1 概念

Attribute Based Access Control (基于属性的访问控制 ),简称ABAC, 是一种根据主体属性、对象属性、环境条件,使用预先定义的策略(Policy)对操作对象进行验证的访问控制方式。ABAC是对RBAC的改进,用于更细粒度更灵活的访问控制,NIST于2015年发表论文对ABAC标准进行了定义。

主体是指用户或组织。以用户为例,用户的属性是指用户的学历、性别、年龄等。

对象是系统资源,如⽂件、设备、程序、网络等。以文件为例,对象的属性是指文件的名称、大小、类型、拥有者等。

操作是主体请求对对象执⾏的功能。例如文件操作,包括对文件的读、写、编辑、删除、复制、执⾏和修改等。

策略(Policy)是一组访问规则。用于定义主体对对象可以执行某种操作。例如:小明对文件test.txt可以执行读操作,这里小明是主体,test.txt是对象,读是操作。

4.2 工作原理

下图展示了基于ABAC访问控制机制下,主体访问对象的工作原理:

  1. 主体请求访问对象。
  2. ABAC访问控制机制根据主体属性、对象属性、环境参数、操作、策略对该请求进行授权验证。
  3. 如果验证通过,则可以访问对象。

在现实世界的例子

”我作为一名爸爸,希望授权5岁的儿子,在电视上看1个小时的《超级飞侠》动画片。“

在这个例子中,“爸爸”相当于系统管理员,可以对动画片资源设定访问权限。

主体是“儿子”,主体的属性是:5岁(属年龄)。

对象是“文件“,对象的属性是:超级飞侠(属名称),动画片(属类型)。

环境属性是:电视(属设备)、1个小时(属时间范围)。

假如当前系统的策略定义格式为:allow {主体[属性]} {对象[属性]} {环境}{操作},则对这个例子的策略定义为:

allow {儿子[年龄=5岁]} {文件[类型=动画片 and 名称=超级飞侠]} {环境[设备=电视 and 时间=10:00~11:00]} {操作[读]}

在满足以上条件后,在儿子观看《超级飞侠》时,ABAC访问控制机制就可以根据主体属性、对象属性、环境条件,使用爸爸预先定义的策略(Policy)对这次访问进行验证,如果验证结果通过,就可以观看。

4.3 与RBAC比较

RBAC与ABAC之间的主要区别在于授予访问权限的方式。 RBAC按照角色授予访问权限,ABAC可以根据主体、对象、环境、操作类型等属性确定访问权限。

RBAC 模型构建起来更加简单,对于中小型组织,维护角色和授权关系的工作量不大,反而定制各种策略相对麻烦,更容易接受RBAC模型。对于大型组织,RBCA模型需要维护大量的角色和授权关系,从⽽导致通常所说的“⻆⾊爆炸”。且RBCA无法做到对对象细粒度地授权。

参考链接

ABAC定义和注意事项指南

权限管理系统RBAC和ABAC