企业建设——访问控制模型
0x00 前言
有一个比较简单的逻辑需要先了解一下,什么是访问控制,其实就是控制访问的方式和方法,将这些方式和方法汇总起来就是我们说的访问控制模型。
访问控制模型分为自主访问控制(DAC)和非自主访问控制。DAC允许客体所有者等控制访问,如个人文件管理。非自主访问控制由管理员集中管理,包含多种模型:RBAC基于角色和权限组;基于规则的访问控制使用规则过滤操作,如防火墙;ABAC以属性为依据,如设备类型;MAC通过标签匹配控制访问;基于风险的访问控制根据环境和状态变化触发校验,如账号异常登录时的双因子认证。
0x01 自主访问控制
自主访问控制 DAC
什么是自主访问控制?
就是允许客体的所有者,创建者或数据托管员控制和定义对该客体的访问。相当于创建文档,比如office,或者钉钉,飞书这些建立在个人文件夹的文件,实际上就是自主访问控制。
0x02 非自主访问控制
由管理员可以集中进行管理,而不是由文件创建者进行独立管理。
1.基于角色的访问控制 RBAC
根据主体角色或分配任务来定义访问客体的能力。实际上就是权限组管理模式,每个组就是一个角色,这个角色拥有的权限都是固定的。
此访问控制的优点是,不关注主体,只关注主体所在的权限组,直接移动主体所在位置即可更改或清除权限。防止权限错乱。
2.基于规则的访问控制
基于规则的访问控制模型使用一组规则、限制或过滤器,决定系统允许和禁止发生的操作。
比如防火墙就是最常见的基于规则的访问控制,类似于ACL,可以用来定义过滤器或者是通过的所有流量。
3.基于属性的访问控制 ABAC
属性可以是用户、网络和网络上的设备的几乎任何特征。用户属性可以包含组成员身份,工作部门以及其使用的设备。
属性其实可以说是泛化的一个规则,比如用户使用的平板,手机,或者其他有特征的东西,比如SD-WAN就是一个非常特殊的例子。
4.强制访问控制 MAC
强制访问相当于是基于标签的访问,在客体和主体都打上标签,只有相同的标签才可以进行访问,否则就不可以访问,有点类似虎符。
5.基于风险的访问控制
基于风险的访问控制,其实更像于基于状态机的访问控制,一旦环境变更之后打破状态机则会出现校验机制,但是一旦状态机或者环境没有被打破的时候则可以进行访问。
当然这种方式也类似于规则的一种抽象。
比如我们有很多种方法来证明自己不是处于风险的状态,比如双因子认证。
有一个例子,就是登录
- 如果一个账号被爆破了很多次,那么此时这个账号就是处于一种危险的状态。
- 如果一个账号异地登录,或者在一个非常用环境下登录,这种也是一种危险的状态。
- 如果一个账号进行了一些异常操作,那么这个时候,这个账号也是在一种非常异常的情况。