信息安全架构技术关注点-访问控制

信息安全架构技术关注点-访问控制

图 安全架构关注点

《系统信息安全等级保护基本要求》中规定的二级要求:

  1. 访问控制
  1. 系统由授权用户配置其他用户的访问控制策略,新增用户能够控制其权限,且新用户登录后权限符合其应有的权限。
  2. 系统如果有默认账户,该用户不能进行权限变更、用户增删等操作过期的、多余的账户需要删除(自动)。
  3. 为用户设置能满足其业务操作的最小权限。
  4. 不同帐户的权限分离(如管理员不能审计、审计员不能管理、安全员不能审计和管理等、审计员不能修改自己的行为日志等)。
  5. 系统管理员、安全管理员、安全审计员由不同的人员和用户担当,至少应该有系统管理员和安全管理员,安全审计员在有第三方审计工具时可以不要求。

 

访问控制,都是某个主体对某个客体需要实施某种操作,而系统对这种操作的限制就是权限控制。

在一个安全系统中,确定主体的身份是“认证”解决的问题;而客体是一种资源,是主体发起的请求的对象。在主体对客体进行操作的过程中,系统控制主体不能“无限制”地对客体进行操作。

在Web应用中,根据访问客体的不同,常见的访问控制可以分为“基于URL的访问控制”、“基于方法的访问控制”和“基于数据的访问控制”。

  1. 垂直权限管理

系统采用基于权限的访问控制(Role-Based Access Control)简称RBAC。

信息安全架构技术关注点-访问控制

图 RBAC权限模型

信息安全架构技术关注点-访问控制

 

图 RBAC流程图

RBAC在系统中定义出不同的角色,不同的角色拥有不同的权限,一个角色实际上就是一个全权限的集合。系统所有的用户都会被分配到不同的角色中,一个用户可能拥有多个角色,角色之间有高低之分(权限高低)。在系统验证权限是,只需要验证用户所属的角色,就可以根据该角色所拥有的权限进行授权。

不同角色的权限有高低之分,高权限角色访问低权限角色的资源科被允许,而低权限用户访问高权限角色的资源则被禁止,如果一个低权限角色的用户通过一些方法能够获得高权限角色的能力,则发生了“越权访问”。

在配置权限时,应当使用“最小权限原则”,并使用“默认拒绝”的策略,只对有需要的主题单独配置“允许”的策略。

  1. 水平权限管理

在RBAC的“基于角色的访问控制”模型下,系统不会判断用户是否访问了其他同等级别的用户的私有数据,这就会发生“水平越权管理问题”。

相对于垂直权限管理来说,水平越权问题出在同一个角色上,系统只验证了能访问数据的角色,没有对角色内的用户做细分,也没有对数据的子集做细分,因此缺乏一个用户到数据之间的对应关系。水平权限管理又称为“基于数据的访问控制”。

可采用用户组的概念,一个用户组的数据只属于该组内的成员,只有同一用户的成员才能实现对这些数据的操作。

还可以实现一个规则引擎,将访问控制的规则写在配置文件中,通过规则引擎对数据的访问进行控制。

信息安全架构技术关注点-访问控制

图 水平权限控制

欢迎关注技术公众号:架构师成长营

信息安全架构技术关注点-访问控制