7.1访问控制基本概念
7.1.1访问控制概念
在网络信息化环境中,资源不是无限开放的,而是在一定约束条件下,用户才能使用 (例如,普通网民只能浏览新闻网站,不能修改其内容)。由于网络及信息所具有的价值,其难以避免地会受到意外的或蓄意的未经授权的使用和破坏。
而访问控制是指对资源对象的访问者授权、控制的方法及运行机制的管理。
访问者可以是用户、进程、应用程序等;而资源对象又称为客体,即被访问的对象,可以是文件、应用服务、数据等;授权是访问者可以对资源对象进行访问的方式,如文件的读、写、删除、追加或电子邮件服务的接受、发送等;控制就是对访问者使用监测和限制以及对是否许可用户访问资源对象做出决策,如拒绝访问、授权许可、禁止操作等。
7.1.2 访问控制目标
防止非法用户进入系统
阻止合法用户对系统资源的非法使用,即禁止合法用户的越权访问。
PS:访问控制不能代替认证,反而认证是访问控制的基础。
认证解决的是“你是谁,你声称的身份是否属实”的问题;
访问控制解决的是“你能做什么,有什么权限”的问题。
7.1.3访问控制机制
访问控制机制事先确定主体访问客体权限的规则,然后依据规则实施访问控制的方法。
访问控制矩阵(AccessContro1 Matrix)是最初实现访问控制机制的概念模型,它利用二维矩阵规定了任意主体和客体之间的所有访问权限。访问控制矩阵形式如表所示。
(1)访问控制矩阵的行:表示主体(比如用户)的权限集。
(2)访问控制矩阵的列:表示客体(比如文件)的权限集。
由于访问控制矩阵非常巨大,空单元较多,往往是稀疏矩阵。因此,现实中,会按列或行分解访问控制矩阵。
7.2访问控制模型
本节主要介绍访问控制通用性模型,然后分析访问控制模型的发展情况,
7.2.1 访问控制参考模型
访问控制机制由一组安全机制构成,可以抽象为一个简单的模型,组成要素主要有主体(Subiect)、参考监视器(Reference Monitor)、客体(Obiect)、访问控制数据库、审计库如图 7-3 所示。
1.主体
主体是客体的操作实施者。实体通常是人、进程或设备等,一般是代表用户执行操作的进程。比如编辑一个文件,编辑进程是存取文件的主体,而文件则是客体。
2.客体
客体是被主体操作的对象。通常来说,对一个客体的访问隐含着对其信息的访问。
3.参考监视器
参考监视器是访问控制的决策单元和执行单元的集合体。控制从主体到客体的每一次操作,监督主体和客体之间的授权访问行为,并将重要的安全事件存入审计文件之中。
4.访问控制数据库
记录主体访问客体的权限及其访问方式的信息,提供访问控制决策判断的依据,也称为访问控制策略库。该数据库随着主体和客体的产生、删除及其权限的修改而动态变化。
5.审计库
存储主体访问客体的操作信息,包括访问成功、访问失败以及访问操作信息。
访问控制的三个基本概念如下:
主体(Subject):改变信息流动和系统状态的主动方。主体可以访问客体。主体可以是进程、用户、用户组、应用等。
客体(Object):包含或者接收信息的被动方。客体可以是文件、数据、内存段、字节等。
授权访问:决定谁能访问系统,谁能访问系统的哪种资源以及如何使用这些资源。方式有读、写、执行、搜索等。
访问控制模型是从访问控制的角度描述安全系统,主要针对系统中主体对客体的访问及其安全控制。
其中:
(1)参考监视器:访问控制的决策和执行,用于约束主体访问客体。
(2)访问控制数据库:存储访问控制的规则。
(3)审计库:存储主体访问客体的操作信息,包括访问成功、访问失败。
7.2.2 访问控制模型发展
为适应不同应用场景的访问控制需求,访问控制参考模型不断演变,形成各种各样的访问控制模型,主要有自主访问控制模型、强制访问控制模型、基于角色的访问控制模型、基于使用的访问控制模型、基于地理位置的访问控制模型、基于属性的访问控制模型、基于行为的访问控制模型、基于时态的访问控制模型。
7.3访问控制类型
常用的访问控制类型主要有自主访问控制、强制访问控制、基于角色的访问控制、基于属性的访问控制
7.3.1 自主访问控制(Discretionary Access Control)
是一个级别相对较低的访问控制方式,自主,简单来说就是文件(客体)的所有者想怎么来就怎么来。
DAC是指客体的所有者按照自己的安全策略授予系统中的其他用户对其的访问权。目前自主访问控制的实现方法有两大类,即基于行的自主访问控制和基于列的自主访问控制。
DAC方式典型应用是Linux访问控制。
Linux系统文件客体的所有者对文件、文件夹、共享资源等进行访问控制。DAC使用了ACL给非管理者用户提供不同的权限,而root有文件系统的完全控制权。该环境下DAC形式是rwxrwxrwx。
自主访问控制的特点就是控制自主,具有灵活性;
缺点是能控制主体对客体的直接访问,但不能控制对客体的间接访问(间接访问:假如A可访问B,B可访问C,则A可访问C)。
(1)基于行的自主访问控制
基于行的自主访问控制方法是在每个主体上都附加一个该主体可访问的客体的明细表,根据表中信息的不同又分成三种形式,即能力表(capability list)、前缀表(profiles)和口令(password)。
能力表:能力是访问客体的钥匙,它决定用户能否对客体进行访问以及具有何种访问模式(读、 写、执行)。拥有一定能力的主体可以按照给定的模式访问客体。
前缀表:包括受保护客体名和主体对它的访问权限。当主体要访问某客体时,自主访问控制机制检查主体的前缀是否具有它所请求的访问权。
口令:在基于口令机制的自主存取控制机制中,每个客体都相应的有一个口令。主体在对客体进行访问前,必须向系统提供客体的口令。如果正确,他就可以访问该客体。
(2)基于列的自主访问控制
基于列的自主访问控制机制时每个客体上都附加一个可访问它的主体的明细表,他有两种形式,即保护位(protection bits)和访问控制表(Access Control List,ACL)
保护位:这种访问通过所有主体、主体组以及客体的拥有者指明一个访问模式集合,通常以比特位来表示访问权限。该方式使用比特位表示访问权限,比如UNIX/Linux系统中,文件权限表达形式为“-rw-r~r-”。
访问控制表:简称ACL,它是每个客体上都附加一个主体明细表,表示访问控制矩阵。表中的每一项都包括主体的身份和主体对该客体的访问权限。
自主访问控制优点:访问机制简单、灵活,在一定程度上实现多级用户的权限隔离和资源保护。
自主访问控制缺点:实施依赖于用户的安全意识和技能,不能满足高安全等级的安全要求;资源管理过于分散,给控制这个系统的安全造成了很大的不便;无法防范木马攻击,如果某个管理员登陆后带进来一个木马程序,该木马程序键拥有该管理员的全部权限
7.3.2 强制访问控制(Mandatory Access Control,MAC)
MAC是指系统根据主体和客体的安全属性,以强制方式控制主体对客体的访问。通俗的来说,在强制访问控制下,用户(或其他主体)与文件(或其他客体)都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定一个用户是否有权限访问该文件。其中多级安全(MLS)、BLP、BIBA、DTE模型都属于强制访问策略。
访问规则
保密性规则
1)仅当主体的许可证级别高于或等于客体的保密等级时,该主体才能读取相应的客体(下读)
2)仅当主体的许可证级别低于或等于客体的保密等级时,该主体才能写相应的客体(上写)
完整性规则
1)仅当主体的许可证级别低于或者等于客体的完整性级别时,该主体才能读取相应的客体(上读)
2)仅当主体的许可证级别高于或者等于客体的完整性级别时,该主体才能写相应的客体(下写)
与自主访问控制相比较,MAC更加严格。用户使用DAC虽然能够防止其他用户非法入侵自己的网络资源,但对于用户的意外事件或误操作则无效。因此,自主访问控制不能适应够安全等级需求。
在政府部门、军事和金融等领域,常利用MAC机制,将系统中的资源划分安全等级和不同类别,然后进行安全管理。
7.3.3基于角色的访问控制
RBAC时根据完成某些职责任务所需要的访问控制来进行授权和管理。RBAC有用户(U)、角色(R)、会话(s)和权限(P)四个基本要素组成。
在一个系统中,可以有多个用户和多个角色,用户与角色的关系是多对多的。权限就是主体对客体的操作能力(读、写、修改、执行等)。通过授权,一个角色可以拥有多个权限,而一个权限也可以赋予多个角色。同时一个用户可以扮演多个角色,一个角色也可以由多个用户承担
在一个采用RBAC作为授权存取控制的系统中,由系统管理员负责管理系统的角色集合和访问权限集合
基于角色的访问控制(RoleBased AccessControl,RBAC)通过分配和取消角色(岗位)来完成用户权限的授予和取消,并且提供角色分配规则。安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任和资历再被指派为不同的角色。RBAC由用户、角色、权限、会话四个基本要素组成。RBAC有RBAC0、RBAC 1、RBAC2共3种模型,其中RBAC0是最简单的实现方式,也是其他模型的基础。这里只需了解RBAC0的结构图,具体如图所示。
7.3.4基于属性的访问控制
基于属性的访问控制(Attribute Based AccessControl,ABAC),根据主体属性、客体属性、访问策略等授权主体的操作。
ABAC具体的访问控制方法是根据主体的属性、客体的属性、环境的条件以及访问策略对主体的请求操作进行授权许可或拒绝。如下图,当主体访问受控资源时,基于属性的访问控制ABAC将会检查主体的属性、客体的属性、环境条件以及访问策略,然后再给出访问授权。
7.4访问控制策略设计与实现
7.4.1 访问控制策略
访问控制策略用于规定用户访问资源的权限,防止资源损失、泄露或非法使用.在设计访问控制策略时,一般应考虑下面要求
(1)不同网络应用的安全需求,如内部用户访问还是外部用户
(2)所有和应用相关的信息的确认,如通信端口号、IP地址等
(3)网络信息传播和授权策略,如信息的安全级别和分类
(4)不同系统的访问控制和信息分类策略之间的一致性
(5)关于保护数据和服务的有关法规和合同义务
(6)访问权限的更新和维护
访问控制策略由所要控制的对象、访问控制规则、用户权限或其他访问安全要求组成
访问控制策略常见的类型:机房访问控制策略、拨号服务器控制策略、路由器访问控制策略、交换机访问控制策略、防火墙访问控制策略、主机访问控制策略、数据库访问控制策略、客户端访问控制策略、网络服务访问控制策略等。
7.4.2 访问控制规则
21年出过选择题,实际上就是访问约束条件集,是访问控制策略的具体实现和表现形式。
主要的访问控制规则
- 基于用户身份的访问控制规则:利用具体的用户身份来限制访问操作,通常以账号和口令表示用户,当用户输入“账号和口令“都正确后,系统才允许用户访问。目前,操作系统或网络设备的使用控制基本上都是采用这种规则
- 基于角色的访问控制规则:根据用户完成某项任务所需要的权限进行控制
- 基于地址的访问控制规则:利用访问者所在的物理位置或逻辑地址空间来限制访问操作。例如,重要的服务器和网络设备可以禁止远程访问,仅仅允许本地访问,这样可以增加安全性。基于地址的访问控制规则有IP地址、域名地址以及物理地址
- 基于事件的访问控制规则:利用时间来约束访问操作,在一些系统中为了增加访问控制的适应性,增加了时间因素的控制(如,下班时间不允许访问服务器)
- 基于异常事件的访问控制规则:利用异常事件来触发控制操作,以避免危害系统的行为进一步升级。
- 基于服务数量的访问控制(如网站在服务能力接近某个阈值时,暂时拒绝新的网络访问请求,以保证系统正常运行)
7.5访问控制过程与安全管理
访问控制是一个网络安全控制的过程,本节主要介绍访问控制实施的主要步骤、最小特权管理、用户访问管理和口令安全管理。
7.5.1 访问控制过程
访问控制的目的是保护系统的资产,防止非法用户进入系统及合法用户对系统资源的非法使用。要实现访问控制的管理,一般需要五个步骤
第一步:明确访问控制管理的资产(例如浏览器、web服务器等)
第二步:分析管理资产的安全需求(保密性、完整性、可用性等要求)
第三步,制定访问控制策略,确定访问控制规则以及用户权限分配
第四步:实现访问控制策略,建立用户访问通知身份认证系统,并根据用户类型授权用户访问资产
第五步,进行运行和维护访问控制系统,及时调整访问控制策略。
7.5.2最小特权管理
最小特权管理。特权(Privilege)是指用户超越系统访问控制所拥有的权限。这种特权设置有利于系统维护和配置,但不利于系统的安全性。最小特权原则指系统中每一个主体只能拥有完成任务所必要的权限集。最小特权管理的目的是系统不应赋予特权拥有者完成任务的额外权限,阻止特权乱用。为此,特权的分配原则是“按需使用(Need to Use)”,这条原则保证了系统不会将权限过多地分配给用户,从而可以限制特权造成的危害。
最小特权管理一方面给予主体“必不可少”的权力,确保主体能在所赋予的特权之下完成所任务或操作;另一方面,给予主体“必不可少”的特权,限制了主体的操作。这样可以确保可能的事故、错误、遭遇篡改等原因造成的损失最小。
7.5.3用户访问管理
用户访问管理:用户管理是网络安全管理的重要内容之一,主要包括用户身份登记、用户权限分配、访问记录、权限监测、权限取消、撤销用户。
7.5.4口令安全管理。
口令是当前大多数网络实施访问控制进行身份鉴别的重要依据,因此,口令管理尤为重要。
7.6访问控制主要产品与技术指标
7.6.1 主要产品
- 4A系统:4A是指认证(Authentication)、授权(Authorization)、账号(Account)、审计(Audit),也叫做统一安全管理平台,平台集中提供账号、认证、授权和审计等网络安全服务。该产品的技术特点是集成了访问控制机制和功能,提供多种访问控制服务。平台常用基于角色的访问控制方法,以便于账号授权管理
- 安全网关:该技术的特点是利用网络数据包信息和网络安全威胁特征库,对网络通信连接服务进行访问控制(如防火墙、统一威胁管理UTM等)
- 系统安全增强:该技术的特点是利用强制访问控制技术来增强操作系统、数据库系统的安全,防止特权滥用。(如Linux的安全增强系统SELinux、Winodws操作系统的加固。)
7.6.2 主要技术指标
- 产品支持访问控制策略规则类型。一般来说,规则类型多,有利于安全控制细化和灵活授权管理
- 产品支持访问控制规则最大数量:访问控制规则的数量多表示该产品具有较高的控制能力
- 产品访问控制规则检查速度:产品的主要性能指标,速度快则意味着产品具有较好的性能
- 产品自身安全和质量保证级别:针对产品本身的安全所采用的保护措施,产品防范网络攻击的能力,产品所达到的国家信息安全产品的等级。
7.7 访问控制技术应用
7.7.1 应用场景类型
这里有可能出选择题
- 物理访问控制:主要针对物理环境或设备而设置的安全措施,一般包括门禁、警卫、个人证件、门锁、物理安全区域划分。
- 网络访问控制:主要针对网络资源而采取的访问安全措施,一般包括网络接入控制、网络通信连接控制、网络区域划分、网络路由控制、网络节点认证
- 操作系统访问控制:针对计算机系统资源而采取的访问安全措施,例如文件读写访问控制、进程访问控制、内存访问控制等。
- 数据库/数据访问控制:针对数据库系统及数据而采取的访问安全措施,例如数据库表创建、数据生成与分发。
- 应用系统访问控制;针对应用系统资源而采取的访问安全措施,例如业务执行操作、业务系统文件读取等
7.7.2 UNIX/Linux 系统访问控制应用(可能出案例大题)
这个是可能出案例大题的
在UNIX、Linux系统中,每个文件上使用“9比特位模式”来标识访问控制权限信息,这些二进制位标识了“文件的拥有者、与文件拥有者同组的用户、其它用户”对文件所具有的访问权限和方式。
7.7.3 windows访问控制参考
windows用户登录系统时,WinLogon进程为用户创建访问令牌,包含用户所属组的安全标识(SID),作为用户的身份标识。文件等客体则含有自主访问控制列表(DACL),标明谁有权限访问,还含有系统访问控制列表(SACL),标明哪些主体的访问需求要被记录
DACL主要用于设置用户以及用户组对安全对象的访问
SACL用于配置对安全对象的访问审计(生成日志)
每个ACL由多个ACE(Access Control Entries)构成
7.7.4 IIS FTP 访问控制应用参考
IIS FTP服务器自身提供三种访问限制技术手段,分别是:实现用户账号认证、匿名访问控制以及IP地址限制
1.匿名访问控制设置
匿名访问控制设置如图 7-12 所示。
2.FTP 的目录安全性设置
FTP 用户仅有两种目录权限:读取和写入。读取权限对应下载能力,而写入权限对应上传能力。FTP站点的目录权限对所有的FTP用户都有效,即如果某一个目录设置了读取权限,则任何FTP用户都只有下载文件能力,而没有上传文件能力。FTP的目录安全性设置如图7-13所示。
7.7.5 网络访问控制应用参考
网络访问控制:通过一定技术手段实现网络资源操作限制,使得用户只能访问所规定的的资源,如网络路由器、网络通信、网络服务等
网络访问控制实现方式:
- 网络通信连接控制
网络通信连接控制常利用防火墙、路由器、网关来实现,通常将这些设备放在两个不同的通信网络的连接处,使得所有的通信流都经过通信连接控制器,只有当通信流符合访问控制规则时,才允许通信正常进行。
- 基于VLAN的网络隔离
VLAN=Virtual Local Area Network=虚拟局域网
根据网络的功能和业务用途,将网络划分为若干个小的子网(网段)/外部网和内部网,以避免各网之间多余的信息交换
7.7.6 Web 服务访问控制应用参考
Web服务访问控制机制可由网络通信、用户身份认证、操作系统、数据库等多个访问控制环节来实现,各种访问都有不同的技术来实现。网络通信既可以通过路由器、防火墙来实现,也可以使用web服务器自身的访问控制来实现。
目前,Web 服务访问控制基本流程如图7-15 所示
以 Apache httpd 的服务器为例,假设要保护/secret 目录资源,只有特定 IP 地址、IP 子网或域名可以访问,则需要在 access.conf 中加一个类似下面的目录控制段。
【注意掌握类似的访问控制应用,更详细的内容可以参考新版教程】
<Directory/full/path/to/secret>
<Limit GET POST>
deny from all
allow from x.y.z xxx.xxx.xxx.cn
allow from a.b.c .d
</Limit>
</Directory>
PS:能读懂和解释类似的配置。
7.7.7 基于角色管理的系统访问控制应用参考
本应用参考选自IBM开发社区提供的方案。该方案针对系统管理员权限管理工作,实现既可集中管理又可分散管理的目标。该方案采用基于角色的访问控制技术。如图7-16所示,首先是权限被分配到相应的角色,然后,角色委派给用户,从而动态产生主体能力表,即主体所拥有的权限。最后,对主体权限进行审查,确认和修订无误后,最终赋予主体所拥有的权限集,即能力表。
7.7.8 网络安全等级保护访问控制设计应用参考
访问控制是网络安全等级保护对象的重要安全机制。本应用参考选自《信息安全技术网络安全等级保护安全设计技术要求(GB/T25070-2019)》。等级保护对象的自主访问控制结构和强制访问控制结构设计参考如下。
1.自主访问控制结构
等级保护对象系统在初始配置过程中,安全管理中心首先对系统中的主体及客体进行登记命名,然后根据自主访问控制安全策略,按照主体对其创建客体的授权命令,为相关主体授权,规定主体允许访问的客体及操作,并形成访问控制列表。自主访问控制结构如图7-17所示。
2.强制访问控制结构
等级保护对象系统在初始配置过程中,安全管理中心对系统的主体及其所控制的客体实施身份管理、标记管理、授权管理、策略管理。强制访问控制结构如图 7-18所示。
7.8 本章小结
本章首先介绍了访问控制的目标、概念以及访问控制相关模型,并分别阐述自主访问控制、强制访问控制、基于角色的访问控制、基于属性的访问控制等技术特点:然后还介绍了访问控制策略和访问控制规则:最后给出了访问控制技术产品、应用场景和实际应用参考案例。
文章评论