【第7章】访问控制技术原理与应用(信息安全工程师)

发布时间 2023-11-18 15:00:29作者: Bear-Run

7.1 访问控制概述

 

7.1.1 访问控制概念

 

访问控制是指对资源对象的访问者授权、控制的方法及运行机制。访问者又称为主体,可以是用户、进程、应用程序等;而资源对象又称为客体,即被访问的对象,可以是文件、应用服务、数据等;授权是访问者可以对资源对象进行访问的方式,如文件的读、写、删除、追加或电子邮件服务的接收、发送等;控制就是对访问者使用方式的监测和限制以及对是否许可用户访问资源对象做出决策,如拒绝访问、授权许可、禁止操作等。

 

7.1.2 访问控制日标

 

访问控制的目标有两个:一是防止非法用户进入系统;二是阻止合法用户对系统资源的非法使用,即禁止合法用户的越权访问。

 

要实现访问控制的目标,首先要对网络用户进行有效的身份认证,然后根据不同的用户授予不同的访问权限,进而保护系统资源。同时还可以进行系统的安全审计和监控,检测用户对系统的攻击企图。

 

 

--------------

 

 

7.2 访问控制模型

 

7.2.1 访问控制参考模型

 

访问控制机制由一组安全机制构成,可以抽象为一个简单的模型,组成要素主要有主体(Subject) 、客体(Object) 、参考监视器(ReferenceMonitor) 、访问控制数据库、审计库.

 

1.主体 主体是客体的操作实施者。

2. 客体 客体是被主体操作的对象。

3. 参考监视器 参考监视器是访问控制的决策单元和执行单元的集合体。

4. 访问控制数据库 记录主体访问客体的权限及其访问方式的信息,提供访问控制决策判断的依据,也称为访问控制策略库。

5. 审计库 存储主体访问客体的操作信息,包括访问成功、访问失败以及访问操作信息。

 

7.2.2 访问控制橾型发展

 

自主访问控制模型、强制访问控制模型、基于角色的访问控制模型常用千操作系统、数据库系统的资源访问;基于使用的访问控制模型则用千隐私保护、敏感信息安全限制、知识产权保护;基于地理位置的访问控制模型可用千移动互联网应用授权控制,如打车服务中的地理位置授权使用;基于属性的访问控制是一个新兴的访问控制方法,其主要提供分布式网络环境和 Web 服务的模型访问控制;基于行为的访问控制模型根据主体的活动行为,提供安全风险的控制,如上网行为的安全管理和电子支付操作控制;基于时态的访问控制模型则利用时态作为访问约束条件,增强访问控制细粒度,如手机网络流量包的限时使用。

 

 

--------------

 

 

7.3 访问控制类型

 

7.3.1 自主访问控制

 

自主访问控制(Discretionary Access Control, DAC) 是指客体的所有者按照自己的安全策略授予系统中的其他用户对其的访问权。目前,自主访问控制的实现方法有两大类,即基于行的自主访间控制和基于列的自主访问控制。

 

1.基于行的自主访问控制

 

基于行的自主访问控制方法是在每个主体上都附加一个该主体可访问的客体的明细表,根据表中信息的不同又可分成三种形式,即能力表(capability list) 、前缀表(profiles) 和口令(password)。

(1) 能力表。

能力是访问客体的钥匙,它决定用户能否对客体进行访问以及具有何种访问模式(读、写、执行)。拥有一定能力的主体可以按照给定的模式访问客体。

(2) 前缀表。

前缀表包括受保护客体名和主体对它的访问权限。当主体要访问某客体时,自主访问控制机制检查主体的前缀是否具有它所请求的访问权。

(3) 口令。

在基于口令机制的自主存取控制机制中,每个客体都相应地有一个口令。主体在对客体进行访问前,必须向系统提供该客体的口令。如果正确,它就可以访问该客体。

 

2. 基于列的自主访问控制

基于列的自主访问控制机制是在每个客体上都附加一个可访问它的主体的明细表,它有两种形式,即保护位

(protection bits) 和访问控制表(Access Control List, ACL)。

(1) 保护位。

这种方法通过对所有主体、主体组以及客体的拥有者指明一个访问模式集合,通常以比特位来表示访问权限。

UNIX/Linux 系统就利用这种访问控制方法。

(2) 访问控制表。

访问控制表简称 ACL, 它是在每个客体上都附加一个主体明细表,表示访问控制矩阵。表中的每一项都包括主体的身份和主体对该客体的访问权限。

 

7.3.2 强制访问控制

 

强制访问控制(Mandatory Access Control, MAC) 是指系统根据主体和客体的安全属性,以强制方式控制主体对客体的访问。例如,在强制访问控制机制下,安全操作系统中的每个进程、每个文件等客体都被赋予了相应的安全级别和范畴,当一个进程访问一个文件时,系统调用强制访问控制机制 ,当且仅当进程的安全级别不小于客体的安全级别,并且进程的范畴包含文件的范畴时,进程才能访问客体,否则就拒绝。

 

7.3.3 基于角色的访问控制(RBAC)

 

基于角色的访问控制(RBAC) 包括:用户(U)、角色(R)、会话(S)、权限(P)四个基本要素,例如,在一个医院系统中,医生、护士、药剂师、门卫等都可以视为角色。可以有多个用户和多个角色,用户与角色的关系是多对多的关系。指根据完成某些职责任务所需要的访问权限来进行授权和管理。

 

7.3.4 基于属性的访问控制

基于属性的访问控制(Attribute Based Access Control) 简称为 ABAC,其访问控制方法是根据主体的属性、客体的属性、环境的条件以及访问策略对主体的请求操作进行授权许可或拒绝 。

 

 

--------------

 

 

7.4 访问控制策略设计与实现

 

访问控制机制的实现依赖于安全策略设计,本节主要讲述访问控制策略的需求、访问控制策略的常见类型、访问控制的规则构成等内容。

 

7.4.1 访问控制策略

访问控制策略用于规定用户访问资源的权限,防止资源损失、泄密或非法使用。在设计访问控制策略时,一般应考虑下面的要求:

(1) 不同网络应用的安全需求,如内部用户访问还是外部用户;

(2) 所有和应用相关的信息的确认,如通信端口号、IP 地址等;

(3) 网络信息传播和授权策略 ,如信息的安全级别和分类;

(4) 不同系统的访问控制和信息分类策略之间的一致性;

(5) 关于保护数据和服务的有关法规和合同义务;

(6) 访问权限的更新和维护。

 

访问控制策略必须指明禁止什么和允许什么,在说明访问控制规则时,应做到以下几点:

(1) 所建立的规则应以“未经明确允许的都是禁止的”为前提,而不是以较弱的原则“未经明确禁止的都是允许的”为前提;

(2) 信息标记的变化,包括由信息处理设备自动引起的或是由用户决定引起的;

(3) 由信息系统和管理人员引起的用户许可的变化;

(4) 规则在颁布之前需要管理人员的批准或其他形式的许可。

 

一个访问控制策略由所要控制的对象、访问控制规则、用户权限或其他访问安全要求组成。

 

7.4.2 访问控制规则

 

访问控制规则实际上就是访问约束条件集,是访问控制策略的具体实现和表现形式。目前,常见的访问控制规则有基于用户身份、基于时间、基于地址、基于服务数量等多种情况,下面分别介绍主要的访问控制规则。

1.基于用户身份的访问控制规则

基于用户身份的访问控制规则利用具体的用户身份来限制访问操作,通常以账号名和口令表示用户,当用户输入的"账号名和口令”都正确后,系统才允许用户访问。目前,操作系统或网络设备的使用控制都采用这种控制规则。

2. 基于角色的访问控制规则

正如前面所说,基于角色的访问控制规则是根据用户完成某项任务所需要的权限进行控制的。

3. 基于地址的访问控制规则

基于地址的访问控制规则利用访问者所在的物理位置或逻辑地址空间来限制访问操作。例如,重要的服务器和网络设备可以禁止远程访问,仅仅允许本地的访问,这样可以增加安全性。基于地址的访问控制规则有 IP 地址、域名地址以及物理位置。

4. 基于时间的访问控制规则

基于时间的访问控制规则利用时间来约束访问操作,在一些系统中为了增加访问控制的适应性,增加了时间因素的控制。例如,下班时间不允许访问服务器。

5. 基于异常事件的访问控制规则

基于异常事件的访问控制规则利用异常事件来触发控制操作,以避免危害系统的行为进一步升级。例如,当系统中的用户登录出现三次失败后,系统会在一段时间内冻结账户。

6.基于服务数量的访问控制规则

基于服务数量的访问控制规则利用系统所能承受的服务数蜇来实现控制。例如,为了防范拒绝服务攻击,网站在服务能力接近某个阙值时,暂时拒绝新的网络访问请求,以保证系统正常运行。

 

 

--------------

 

 

7.5 访问控制过程与安全管理

 

访问控制实施的主要步骤、最小特权管理、用户访问管理和口令安全管理 。

 

7.5.1 访问控制过程

 

访问控制的目的是保护系统的资产,防止非法用户进入系统及合法用户对系统资源的非法使用。要实现访问控制管理,一般需要五个步骤:

 

第一步,明确访问控制管理的资产,例如网络系统的路由器、Web 服务等;

第二步,分析管理资产的安全需求,例如保密性要求、完整性要求、可用性要求等;

第三步,制定访问控制策略,确定访问控制规则以及用户权限分配;

第四步,实现访问控制策略,建立用户访问身份认证系统,并根据用户类型授权用户访问资产;

第五步,运行和维护访问控制系统,及时调整访问策略。

 

7.5.2 最小特权管理

 

特权(Privilege) 是用户超越系统访问控制所拥有的权限。

 

最小特权原则(Principle of Least Privilege) 指系统中每一个主体只能拥有完成任务所必要的权限集。最小特权管理的目的是系统不应赋予特权拥有者完成任务的额外权限,阻止特权乱用。为此,特权的分配原则是“按需使用(Need to Use) ",这条原则保证系统不会将权限过多地分配给用户,从而可以限制特权造成的危害。

 

7.5.3 用户访问管理

 

用户访问管理:为了防止系统的非授权使用,对系统中的用户权限应进行有效管理。用户管理是网络安全管理的重要内容之一,其主要工作包括用户登记、用户权限分配、访问记录、权限监测、权限取消、撤销用户。

 

7.5.4 口令安全管理

口令是当前大多数网络实施访问控制进行身份鉴别的重要依据,

 

一般遵守以下原则:

 

口令选择应至少在 8 个字符以上,应选用大小写字母、数字、特殊字符组合;

禁止使用与账号相同的口令;

更换系统默认口令,避免使用默认口令;

限制账号登录次数,建议为 3 次;

禁止共享账号和口令;

口令文件应加密存放,并只有超级用户才能读取;

禁止以明文形式在网络上传递口令;

口令应有时效机制,保证经常更改,并且禁止重用口令;

对所有的账号运行口令破解工具,检查是否存在弱口令或没有口令的账号。

 

 

--------------

 

 

7.6 访问控制主要产品与技术指标

 

7.6.1 访问控制主要产品

 

1. 4A 系统

4A 是指认证 (Authentication) 、授权 (Authorization) 、账号 (Account) 、审计 (Audit),

中文名称为统一安全管理平台,平台集中提供账号、认证、授权和审计等网络安全服务。该产品的技术特点是集成了访问控制机制和功能,提供多种访问控制服务。平台常用基于角色的访问控制方法,以便于账号授权管理。

2. 安全网关

安全网关产品的技术特点是利用网络数据包信息和网络安全威胁特征库,对网络通信连接服务进行访问控制。这类产品是一种特殊的网络安全产品,如防火墙、统一威胁管理(UTM)等。

3. 系统安全增强

系统安全增强产品的技术特点是通常利用强制访问控制技术来增强操作系统、数据库系统的安全,防止特权滥用。如 Linux 的安全增强系统 SELinux 、Windows 操作系统加固等。

 

7.6.2 访问控制主要技术指标

 

不同的访问控制技术产品,其技术指标有所差异,但其共性指标主要如下。

1. 产品支持访问控制策略规则类型

一般来说,访问控制策略规则类型多,有利于安全控制细化和灵活授权管理。

2. 产品支持访问控制规则最大数量

产品受到硬件和软件的资源限制,访问规则的数晕多表示该产品具有较高的控制能力。

3. 产品访问控制规则检查速度

访问控制规则检查速度是产品的主要性能指标,速度快则意味着产品具有较好的性能。

4. 产品自身安全和质量保障级别

针对产品本身的安全所采用的保护措施,产品防范网络攻击的能力,产品所达到的国家信

息安全产品的等级。

 

 

--------------

 

 

7.7 访问控制技术应用

 

7.7.1 访问控制技术应用场景类型

 

按照访问控制的对象分类,访问控制技术的主要应用场景类型如下。

1. 物理访问控制

主要针对物理环境或设备实体而设置的安全措施,一般包括门禁系统、警卫、个人证件、门锁、物理安全区域划分。

2. 网络访问控制

主要针对网络资源而采取的访 问安全措施,一般包括网络接入控制、网络通信连接控制、网络区域划分、网络路由控制、网络节点认证。

3. 操作系统访问控制

针对计算机系统资源而采取的访问安全措施,例如文件读写访问控制、进程访问控制、内存访问控制等。

4. 数据库/数据访问控制

针对数据库系统及数据而采取的访间安全措施,例如数据库表创建、数据生成与分发。

5. 应用系统访问控制

针对应用系统资源而采取的访问安全措施,例如业务执行操作、业务系统文件读取等。

 

7.7.2 UNIX/Linux 系统访问控制应用参考

 

普通的UNIX 、Linux 等系统中,实现自主访问控制技术的基本方法是在每个文件上使用“9 比特位模式”来标识访问控制权限信息,这些二进制位标识了“文件的拥有者、与文件拥有者同组的用户、其他用户”对文件所具有的访问权限和方式:

 

-rwx-w-r-- 724

 

第1个字符为文件的类型,是文件则为-,是目录则为D;

r 表示“读“权限,w 表示“写“权限,x 表示“执行“权限。

 

owner 表示此客体的拥有者对它的访问权限;

group 表示 owner 同组用户对此客体的访问权限;

other 表示其他用户对此客体的访问权限。

 

7.7.3 Windows 访问控制应用参考

 

Windows用户登录到系统时,WinLogon 进程为用户创建访问令牌,包含用户及所属组的安全标识符(SID) ,作为用户的身份标识。文件等客体则含有自主访问控制列表(DACL),标明谁有权访问,还含有系统访问控制列表(SACL) ,标明哪些主体的访问需要被记录。

 

7.7.4 11S FTP 访问控制应用参考

 

1. 匿名访问控制设置

匿名访问控制设置

2.FTP 的目录安全性设置

FTP 用户仅有两种目录权限:读取和写入。

 

7.7.5 网络访问控制应用参考

 

网络访问控制是指通过一定技术手段实现网络资源操作限制,使得用户只能访问所规定的资源,如网络路由器、网络通信、网络服务等。

 

1. 网络通信连接控制

网络通信连接控制常利用防火墙、路由器、网关等来实现,通常将这些设备放在两个不同的通信网络的连接处,使得所有的通信流都经过通信连接控制器,只有当通信流符合访问控制规则时,才允许通信正常进行。

 

2. 基于 VLAN 的网络隔离

根据网络的功能和业务用途,将网络划分为若干个小的子网(网段),或者是外部网和内部网,以避免各网之间多余的信息交换。

 

7.7.6 Web 服务访问控制应用参考

 

Web 服务访问控制机制可由网络通信、用户身份认证、操作系统、数据库等多个访问控制环节来实现,各种访问都有不同的技术来实现。网络通信既可以通过路由器、防火墙来实现,也可以使用Web 服务器自身的访问控制来实现。用户身份认证可以通过用户/口令、证书来实现。操作系统、数据库、Web 服务器都有自身所带的访问控制技术。其中,Web 服务器可基于限定 IP 地址、IP 网段或域名来实现 Web 资源的访问控制。