访问控制安全(六)

一、访问控制概述

  访问控制是在认证以后的另一道安全屏障,也称为权限控制,访问控制是按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术。常见的访问控制漏洞有水平越权、垂直越权、未授权访问、目录遍历四种,可能会对服务器或Web系统造成较大的危害。

  访问控制的主要目的是限制访问主体对客体的访问,从而保障数据资源在合法范围内得以有效使用和管理。为了达到上述目的,访问控制需要完成两个任务:识别和确认访问系统的用户(身份认证)、决定该用户可以对某一系统资源进行何种类型的访问(权限验证)。

  访问控制包括三个要素:

  • 主体S(Subject):指访问资源和进行某种操作的发起者,可能是某一用户,也可以是用户启动的进程、服务和设备等。
  • 客体O(Object):被访问资源的实体,所有可以被操作的信息、资源、对象都可以是客体。
  • 控制策略A(Access Control Policy):主体对客体的相关访问规则集合。

二、访问控制的类型

  主要的访问控制类型有3种模式:自主访问控制(DAC)、强制访问控制(MAC)和基于角色访问控制(RBAC)。

  自主访问控制是一种接入控制服务,通过执行基于系统实体身份及其到系统资源的接入授权。用户有权对自身所创建的文件、数据表等访问对象进行访问,并可将其访问权授予其他用户或收回其访问权限。通常,可通过访问控制列表来限定针对客体可执行的操作。

  强制访问控制是系统强制主体服从访问控制策略。是由系统对用户所创建的对象,按照规定的规则控制用户权限及操作对象的访问。主要特征是对所有主体及其所控制的进程、文件、段、设备等客体实施强制访问控制。每个用户及文件都被赋予一定的安全级别,只有系统管理员才可确定用户和组的访问权限,用户不能改变自身或任何客体的安全级别。系统通过比较用户和访问文件的安全级别,决定用户是否可以访问该文件。

  基于角色的访问控制是通过对角色的访问所进行的控制。使权限与角色相关联,用户通过成为适当角色的成员而得到其角色的权限。可极大地简化权限管理。为了完成某项工作创建角色,用户可依其责任和资格分派相应的角色,角色可依新需求和系统合并赋予新权限,而权限也可根据需要从某角色中收回。减小了授权管理的复杂性,降低管理开销,提高企业安全策略的灵活性。RBAC支持三个著名的安全原则:最小权限原则、责任分离原则和数据抽象原则。前者可将其角色配置成完成任务所需要的最小权限集。第二个原则可通过调用相互独立互斥的角色共同完成特殊任务,如核对账目等。后者可通过权限的抽象控制一些操作,如财务操作可用借款、存款等抽象权限。

三、访问控制安全策略

  访问控制的安全策略是指在某个自治区域内,用于所有与安全相关活动的一套访问控制规则。由此安全区域中的安全权力机构建立,并由此安全控制机构来描述和实现。访问控制的安全策略有三种类型:基于身份的安全策略、基于规则的安全策略和综合访问控制方式。

  安全策略实施原则:

  • 最小特权原则:在主体执行操作时,按照主体所需权利的最小化原则分配给主体权力。
  • 最小泄露原则:主体执行任务时,按其所需最小信息分配权限,以防泄密。
  • 多级安全策略:主体和客体之间的数据流向和权限控制,按照安全级别的绝密(TS)、秘密(S)、机密(C)、限制(RS)和无级别(U)5级来划分。其优点是避免敏感信息扩散。具有安全级别的信息资源,只有高于安全级别的主体才可访问。

  在访问控制实现方面,实现的安全策略包括8个方面:入网访问控制、网络权限限制、目录级安全控制、属性安全控制、网络服务器安全控制、网络监测和锁定控制、网络端口和节点的安全控制和防火墙控制。

  授权行为是建立身份安全策略和规则安全策略的基础,只有通过认证的主体才可以正常使用客体的资源,也只要满足规则的用户活动才允许操作资源。

四、基于角色的访问控制RBAC

  基于角色的访问控制是Web应用最常用的权限控制方案,相关概念如下:

  • 权限Permission:web应用中的权限通常包含菜单权限、操作权限、数据权限,是一种用户能力的标识。
  • 角色Role:权限的集合,权限和角色之间是多对多的联系。
  • 用户组Group:角色的集合,用户组与角色之间是多对多的关系。
  • 用户User:使用web应用的主体,一个用户可以属于多个用户组,一个用户组可能包含多个用户,用户与用户组也是多对多的联系。

 五、基于属性的访问控制ABAC

  ABAC是一种授予和管理用户对IT资源的访问权限的方法,用来支持需要更多上下文感知的环境,而不是简单的以用户为中心的参数,比如他们被分配的角色来进行权限判断,而是以相关实体的属性作为授权的基础来研究如何进行访问控制。这样可将实体的属性分为主体属性、客体属性和环境属性,然后基于这些属性来进行访问控制。

  基于属性的访问控制包括4个主要组成部分:

  • 主体:请求访问资源以执行操作的用户。用户通常具有ID、角色、身份、职能等属性,ABAC系统通常通过获取这些属性来判断主体能否对资源进行操作。
  • 资源:主体想要访问的资产或对象。
  • 行动:主体尝试对资源执行的操作。常见的操作属性包括“读取”、“写入”、“编辑”、“复制”和“删除”等等。
  • 环境:主体尝试执行行动时相关联的属性,比如时间、系统状态、安全级别等。

  典型的ABAC访问控制模型如下:

  1. 用户访问资源,发送原始请求,请求被PEP(决策实施点)拦截;
  2. 访问请求在PEP被转换为XACML格式或者其他格式;
  3. PEP把访问申请请求转发给PDP(决策决策点);PDP评估认证请求,获取PIP(决策信息点)属性,向PRP(决策提取点)请求策略;
  4. 策略保存在PRP,并由PAP(决策管理点)维护;
  5. PDP收到访问请求的评估结果转发给PEP;
  6. PEP根据收到的信息,同意或者拒绝用户访问资源。

 六、基于策略的权限访问控制PBAC

  该模式适用于需要根据特定策略和规则管理访问控制的系统,以满足不同用户和场景下的灵活性和可定制性要求。该模式的原则是设置策略(规则集合),用户配置文件和环境条件必须符合设置的策略才能访问。

  PBAC实施比较困难,不仅需要复杂的应用级逻辑来根据属性确定访问授权,还需要一种机制来明确地定义策略规则。策略的定义要保证明确无歧义,否则与该策略相关联的资源可能会受到非预期、未经授权的访问。

posted @ 2024-03-06 00:10  我若安好,便是晴天  阅读(45)  评论(0编辑  收藏  举报