1.访问控制模型:
为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用。保证用户在系统安全策略下能正常工作,拒接非法用户的非授权访问请求,拒绝合法用户越权的服务请求。访问控制模型包括如下模型:
自主范文控制模型(DAC):访问控制列表(ACL),权能列表(Capacity List)
强制访问控制模型(MAC):保密性(Bell-Lapudula模型),完整性(Biba模型,Clark-Wilson模型),混合策略(Chinese Wall模型)。
基于角色访问控制模型(RBAC)
基于属性访问控制模型(ABAC)(面向对象)
2.自主访问控制模型(DAC):
自主访问控制模型(DAC)是指用户有权对自身创建的访问对象(文件,数据表等)进行访问,并可将这些对象的访问权限授予其他用户和授予权限的用户收回其访问权限。
如:以Linux的文件权限为例,实现访问控制表/矩阵。
getfacl FileName #获取文件或目录控制访问列表
setfacl -m u:USERNAME:7 FileName #设置用户在文件或目录控制访问列表
setfacl -m g:GROUPNAME:7 FileName #设置组在文件或目录控制访问列表
setfacl -x u:USERNAME:7 FileName #删除用户在文件或目录控制访问列表
setfacl -x g:GROUPNAME:7 FileName #删除组在文件或目录控制访问列表
setfacl -b FileName #取消对该文件上的所有ACL权限
特点:
- 授权的实施主体自主负责赋予和回收其他主体对客体资源的访问权限。DAC模型一般采用访问控制矩阵和访问控制列表来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。
- ACL(访问控制列表)是DAC中常用的一种安全机制,系统安全管理员通过维护ACL来控制用户访问有关数据。
缺点:
- 主体的权限太大,无意间就可能泄露信息
- 不能防备特洛伊木马的攻击访问控制表
- 当用户数量多,管理数据量大时,ACL就会很庞大,不易维护。