第七章 访问控制技术原理与应用
7.1 访问控制概述与模型
7.1.1 访问控制概述
访问控制:指对资源对象的访问者授权、控制的方法及运行机制。
访问者又称为主体,可以是用户、进程、应用程序等。
资源对象又称为客体,即被访问的对象,可以是文件、应用服务、数据等。
授权:访问者可以对资源对象进行访问的方式,如文件的读、写、删除、追加或电子邮件服务的接收、发送等。
控制:对访问者是否允许用户访问资源对象做出决策,如拒绝访问、授权许可、禁止操作等。
访问控制目标
①防止非法用户进入系统。
②阻止合法用户对系统资源的非法使用,即禁止合法用户的越权访问。
7.1.2 实现访问控制目标
要实现访问控制的目标,首先要对网络用户进行有效的身份认证,然后根据不同的用户授予不同的访问权限,进而保护系统资源。同时还可以进行系统的安全审计和监控,检测用户对系统的攻击企图。通过访问控制与认证机制、审计机制的协同,实现访问控制。

7.1.3 访问控制参考模型
访问控制参考模型组成要素
主体(Subject,操作的实施者)
客体(Object,被操作的对象)
参考监视器(Reference Monitor,访问控制的决策单元和执行单元的集合体)
访问控制数据库(记录访问权限及其访问方式,提供访问控制决策判断的依据,也称为访问控制策略库)
审计库(存储主体访问客体的操作信息,如访问成功、失败等)。

7.1.4 常见访问控制模型
7.1.5 访问控制模型 - DAC自主访问控制
自主访问控制 (Discretionary Access Control, DAC) 指客体的所有者按照自己的安全策略授予系统中的其他用户对其的访问权。实现方式有两大类:
(1)基于行的自主访问控制:能力表、前缀表、口令
(2)基于列的自主访问控制:保护位、访问控制列表ACL

自主访问控制是最常用的一种对网络资源进行访问约束的机制,其好处是用户自己根据其安全需求,自行设置访问控制权限,访问机制简单、灵活。但这种机制的实施依赖于用户的安全意识和技能,不能满足高安全等级的安全要求。例如,网络用户由于操作不当,将敏感的文件用电子邮件发送到外部网,则造成泄密事件。
7.1.6 访问控制模型 - MAC强制访问控制
强制访问控制(MAC)是指根据主体和客体的安全属性,以强制方式控制主体对客体的访问。安全操作系统中的每个进程、每个文件等客体都被赋予了相应的安全级别和范畴,当一个进程访问一个文件时,系统调用强制访问控制机制,当且仅当进程的安全级别不小于客体的安全级别,并且进程的范畴包含文件的范畴时,进程才能访问客体,否则就拒绝。
与自主访问控制相比较,强制访问控制更加严格。用户使用自主访问控制虽然能够防止其他用户非法入侵自己的网络资源,但对于用户的意外事件或误操作则无效。因此,自主访问控制不能适应高安全等级需求。在政府部门、军事和金融等领域,常利用强制访问控制机制,将系统中的资源划分安全等级和不同类别,然后进行安全管理。
7.1.7 访问控制模型 - RBAC基于角色的访问控制
基于角色的访问控制(RBAC)是目前国际上流行的先进的安全访问控制方法。它通过分配和取消角色来完成用户权限的授予和取消,并且提供角色分配规则。RBAC包括用户(U)、角色(R)、会话(S)和权限(P)四个基本要素。
访问权限与角色相关联,角色再与用户关联,实现了用户与访问权限的逻辑分离。便于授权管理,便于根据工作需要分级,便于赋予最小特权,便于任务分担,便于文件分级管理。

7.1.8 访问控制模型 - ABAC基于属性的访问控制
基于属性的访问控制(ABAC):访问控制方法是根据主体的属性、客体的属性、环境的条件以及访问控制策略对主体的请求操作进行授权许可或拒绝。

7.2 访问控制策略设计与实现
7.2.1 访问控制策略
访问控制策略用于规定访问资源的权限,防止资源损失、泄密或非法使用。
设计访问控制策略时,一般考虑如下要求:
(1)不同网络应用的安全需求,如内部用户访问还是外部用户;
(2)所有和应用相关信息的确认,如通信端口号、IP地址等;
(3)网络信息传播和授权策略,如信息的安全级别和分类;
(4)不同系统的访问控制和信息分类策略之间的一致性;
(5)关于保护数据和服务的有关法规和合同义务;
(6)访问权限的更新和维护。
访问控制策略必须指明禁止什么和允许什么,在说明访问控制规则时,应做到以下几点:
(1)所建立的规则应以“未经明确允许的都是禁止的”为前提,而不是以较弱的原则“未经明确禁止的都是允许的”为前提;
(2)信息标记的变化,包括由信息处理设备自动引起的或是由用户决定引起的;
(3)由信息系统和管理人员引起的用户许可的变化;
(4)规则在颁布之前需要管理人员的批准或其他形式的许可。
7.2.2 访问控制规则
访问控制规则是访问约束条件集,常见的访问控制规则有如下几种:
1.基于用户身份的访问控制规则
2.基于角色的访问控制规则
3.基于地址的访问控制规则
4.基于时间的访问控制规则
5.基于异常事件的访问控制规则(登录出现三次失败后,一段时间内冻结账户)
6.基于服务数量的访问控制规则(网站在服务能力接近某个阈值时,暂时拒绝新的网络访问请求)
7.2.3 访问控制过程
访问控制的目的是保护系统的资产,防止非法用户进入系统及合法用户对系统资源的非法使用。
实现访问控制管理,一般五个步骤:
①明确访问控制管理的资产,例如网络系统的路由器、Web服务等。【明确资产】
②分析管理资产的安全需求,例如保密性要求、完整性要求、可用性要求等。【分析需求】
③制定访问控制策略,确定访问控制规则以及用户权限分配。【制定策略】
④实现访问控制策略,建立用户访问身份认证系统,并根据用户类型授权用户访问资产。【实现控制】
⑤运行和维护访问控制系统,及时调整访问策略。【运行维护】
7.2.4 访问控制安全管理
最小特权管理:
最小特权原则指系统中每一个主体只能拥有完成任务所必要的权限集。特权的分配原则是“按需使用”,这条原则保证系统不会将权限过多的分配给用户,从而可以限制特权造成的危害。
用户访问管理:
包括用户登记、用户权限分配、访问记录、权限监测、权限取消、撤销用户。
口令安全管理:
- 口令选择应至少在8个字符以上,应选用大小写字母、数字、特殊字符组合; 
- 禁止使用与账号相同的口令;更换系统默认口令,避免使用默认口令; 
- 限制账号登录次数,建议为3次;禁止共享账号和口令; 
- 口令文件应加密存放,并只有超级用户才能读取;禁止以明文形式在网络上传递口令; 
- 口令应有时效机制,保证经常更改,并且禁止重用口令; 
- 对所有的账号运行口令破解工具,检查是否存在弱口令或没有口令的账号。 
7.3 访问控制产品与应用
7.3.1 访问控制产品
4A系统
4A指认证(Authentication)、授权(Authorization)、账号(Account)、审计(Audit),中文名称为统一安全管理平台,平台集中提供账号、认证、授权和审计等网络安全服务。该产品的技术特点是集成了访问控制机制和功能,提供多种访问控制服务,平台常用基于角色的访问控制方法,以便于账号授权管理。
安全网关
安全网关产品的技术特点是利用网络数据包信息和网络安全威胁特征库,对网络通信连接服务进行访问控制。这类产品是一种特殊的网络安全产品,如防火墙、统一威胁管理(UTM)等。
系统安全增强
系统安全增强产品的技术特点是通常利用强制访问控制技术来增强操作系统、数据库系统的安全,防止特权滥用。如Linux的安全增强系统SELinux、Windows操作系统加固等。
7.3.2 访问控制技术应用
按照访问控制的对象分类,访问控制技术的主要应用场景类型如下。
·物理访问控制:门禁系统、警卫、个人证件、门锁、物理安全区域划分。
·网络访问控制:网络接入控制、网络通信连接控制、网络区域划分、网络路由控制、网络节点认证。
·操作系统访问控制:文件读写访问控制、进程访问控制、内存访问控制等。
·数据库/数据访问控制:数据库表创建、数据生成与分发。
·应用系统访问控制:业务执行操作、业务系统文件读取等。
7.3.3 访问控制技术应用 - UNIX/LInux系统
UNIX/LInux系统中用10bit表示访问控制权限

7.3.4 访问控制技术应用 - Windows系统
Windows用户登录到系统时,WinLogon进程为用户创建访问令牌,包含用户及所属组的安全标识符(SID),作为用户的身份标识。文件等客体则含有自主访问控制列表(DACL),标明谁有权访问,还含有系统访问控制列表(SACL),标明哪些主体的访问需要被记录。
用户进程访问客体对象时,通过WIN32子系统向核心请求访问服务,核心的安全参考监视器(SRM)将访问令牌与客体的DACL进行比较,决定客体是否拥有访问权限,同时检查客体的SACL,确定本次访问是否落在既定的审计范围内,是则送至审计子系统。

7.3.5 访问控制技术应用 - IISFTP
匿名访问控制设置,FTP的目录安全性设置(读取即下载、写入即上传、FTP站点的目录权限对所有FTP用户都有效)如下图:

7.3.6 访问控制技术应用 - 其他访问控制应用
网络通信连接控制:利用防火墙、路由器、网关等设备、部署在两个不同的通信网络的连接处、使得所有通信流都经过通连接控制器,只有当通信流符合访问控制规则时,才允许通信正常进行。

基于VLAN的网络隔离:根据网络的功能和业务用途,将网络划分为若干个小的子网(网段),或者是外部网和内部网,以避免各网之间多余的信息交换。
web服务访问控制:web服务访问控制基本流程图:
 
           
        
        
      