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

++二、访问控制模型++
1、访问控制参考模型
访问控制机制由一组安全机制构成,可以抽象为一个简单的模型

- 主体是客体的操作实施者。
- 客体是被主体操作的对象。
- 参考监视器是访问控制的决策单元和执行单元的集合体。
- 访问控制数据库记录主体访问客体的权限及其访问方式的信息,提供访问控制决策判断的依据,也称为访问控制策略库。
- 审计库存储主体访问客体的操作信息,包括访问成功、访问失败以及访问操作信息。
2、访问控制模型发展
访问控制模型主要有:
- 自主访问控制模型、强制访问控制模型、基于角色的访问控制模型常用于操作系统、数据库系统的资源访问;
- 基于使用的访问控制模型则用于隐私保护、敏感信息安全限制、知识产权保护;
- 基于地理位置的访问控制模型可用于移动互联网应用授权控制;
- 基于属性的访问控制是一个新兴的访问控制方法,其主要提供分布式网络环境和 Web 服务的模型访问控制;
- 基于行为的访问控制模型根据主体的活动行为,提供安全风险的控制;
- 基于时态的访问控制模型则利用时态作为访问约束条件,增强访问控制细粒度。
++三、访问控制类型++
1、自主访问控制
自主访问控制 (Discretionary Access Control, DAC)是指客体的所有者按照自己的安全策略授予系统中的其他用户对其的访问权。
基于行的自主访问控制
在每个主体上都附加一个该主体可访问的客体的明细表,根据表中信息的不同又可分成三种形式
- 能力表, 能力是访问客体的钥匙,它决定用户能否对客体进行访问以及具有何种访问模式(读、写、 执行)。拥有一定能力的主体可以按照给定的模式访问客体。
- 前缀表, 前缀表**包括受保护客体名和主体对它的访问权限。**当主体要访问某客体时,自主访问控制机制检查主体的前缀是否具有它所请求的访问权。
- 口令,在基于口令机制的自主存取控制机制中,**每个客体都相应地有一个口令。主体在对客体进行访问前,必须向系统提供该客体的口令。**如果正确,它就可以访问该客体。
基于列的自主访问控制
在每个客体上都附加一个可访问它的主体的明细表,它有两种形式:
- 保护位,这种方法通过对所有主体、主体组以及客体的拥有者指明一个访问模式集合,通常以比特位来表示访问权限。 UNIX/Linux 系统就利用这种访问控制方法。
- 访问控制表,**简称 ACL, 它是在每个客体上都附加一个主体明细表,表示访问控制矩阵。**表中的每一项都包括主体的身份和主体对该客体的访问权限。
2、强制访问控制
强制访问控制 (Mandatory Access Control, MAC) 是指系统根据主体和客体的安全属性, 以强制方式控制主体对客体的访问。安全操作系统中的每个进程、每个文件等客体都被赋予了相应的安全级别和范畴,当一个进程访问一个文件时,系统调用强制访问控制机制当且仅当进程的安全级别不小于客体的安全级别,并且进程的范畴包含文件的范畴时,进程才能访问客体,否则就拒绝。
与自主访问控制相比较,强制访问控制更加严格。自主访问控制不能适应高安全等级需求。
3、基于角色的访问控制
**基于角色的访问控制(RBAC)是目前国际上流行的先进的安全访问控制方法。它通过分配和取消角色来完成用户权限的授予和取消,并且提供角色分配规则。**角色就是系统中的岗位、职位或者分工, RBAC就是指根据完成某些职责任务所需要的访问权限来进行授权和管理,RBAC包括用户(U)、角色(R)、会话(S)和权限(P) 四个基本要素。
整个访问控制过程分成两个部分,访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。便于授权管理,便于根据工作需要分级,便于赋予最小特权,便于任务分担,便于文件分级管理。
在一个系统中,可以有多个用户和多个角色,用户与角色的关系是多对多的关系。权限就是主体对客体的操作能力。通过授权, 角色可以拥有多个权限,而一个权限也可以赋予多个角色。同时,一个用户可以扮演多个角色,一个角色也可以由多个用户承担。
4、基于属性的访问控制
基于属性的访问控制 (Attribute Based Access Control) 简称为 ABAC ,其访问控制方法是根据主体的属性、客体的属性、环境的条件以及访问策略对主体的请求操作进行授权许可或拒绝。
++四、访问控制策略设计与实现++
1、访问控制策略
访问控制策略用于规定用户访问资源的权限,防止资源损失、泄密或非法使用。
在设计访问控制策略时,一般应考虑下面的要求:
- 不同网络应用的安全需求,如内部用户访问还是外部用户;
- 所有和应用相关的信息的确认,如通信端口号、 IP 地址等;
- 网络信息传播和授权策略,如信息的安全级别和分类;
- 不同系统的访问控制和信息分类策略之间的一致性;
- 关于保护数据和服务的有关法规和合同义务;
- 访问权限的更新和维护。
访问控制策略必须指明禁止什么和允许什么,在说明访问控制规则时,应做到以下几点:
- 所建立的规则应以"未经明确允许的都是禁止的"为前提,而不是以较弱的原则"未经明确禁止的都是允许的"为前提;
- 信息标记的变化,包括由信息处理设备自动引起的或是由用户决定引起的;
- 由信息系统和管理人员引起的用户许可的变化;
- 规则在颁布之前需要管理人员的批准或其他形式的许可。
2、访问控制规则
访问控制规则实际上就是访问约束条件集,是访问控制策略的具体实现和表现形式。
常见的访问规则有以下几种:
- 基于用户身份的访问控制规则,利用具体的用户身份来限制访问操作,通常以账号名和口令表示用户,当用户输入的"账号名和口令"都正确后,系统才允许用户访问。
- 基于角色的访问控制规则,根据用户完成某项任务所需要的权限进行控制的。
- 基于地址的访问控制规则,利用访问者所在的物理位置或逻辑地址空间来限制访问操作。
- 基于时间的访问控制规则,利用时间来约束访问操作,在一些系统中为了增加访问控制的适应性,增加了时间因素的控制。
- 基于异常事件的访问控制规则,利用异常事件来触发控制操作,以避免危害系统的行为进一步升级。
- 基于服务数量的访问控制规则,利用系统所能承受的服务数量来实现控制。

++五、访问控制过程与安全管理++
1、访问控制过程
访问控制的目的是保护系统的资产,防止非法用户进入系统及合法用户对系统资源的非使用。
要实现访问控制管理,一般需要五个步骤:
- 明确访问控制管理的资产;
- 分析管理资产的安全需求;
- 制定访问控制策略,确定访问控制规则以及用户权限分配;
- 实现访问控制策略,建立用户访问身份认证系统,并根据用户类型授权用户访问资产;
- 运行和维护访问控制系统,及时调整访问策略。
2、最小特权管理
特权 (Privilege) 是用户超越系统访问控制所拥有的权限。特权有利于系统维护和配置,但不利于系统的安全性。因此,特权的管理应按最小化机制,防止特权误用。
最小特权原则指系统中每一个主体只能拥有完成任务所必要的权限集。
最小特权管理的目的是系统不应赋予特权拥有者完成任务的额外权限,阻止特权乱用。为此,特权的分配原则是"按需使用 ",这条原则保证系统不会将权限过多地分配给用户, 从而可以限制特权造成的危害。
3、用户访问管理
用户管理是网络安全管理的重要内容之一,其主要工作包括用户登记、用户权限分配、访问记录、权限监测、权限取消、 撤销用户。

4、口令安全管理
**口令是当前大多数网络实施访问控制进行身份鉴别的重要依据。**一般遵守以下原则:
- 口令选择应至少在8个字符以上,应选用大小写字母、数字、特殊字符组合;
- 禁止使用与账号相同的口令;
- 更换系统默认口令,避免使用默认口令;
- 限制账号登录次数,建议为3次;
- 禁止共享账号和口令;
- 口令文件应加密存放,并只有超级用户才能读取;
- 禁止以明文形式在网络上传递口令;
- 口令应有时效机制,保证经常更改,并且禁止重用口令;
- 对所有的账号运行口令破解工具,检查是否存在弱口令或没有口令的账号。

++六、访问控制主要产品与技术指标++
访问控制是网络安全普遍采用的安全技术,其产品表现形式有独立系统形态、功能模块形态、专用设备形态。
1、访问控制主要产品
4A 系统:4A 是指认证 (Authentication) 、授权 (Authorization) 、账号 (Account) 、审计 (Audit), 中文名称为统一安全管理平台,平台集中提供账号、认证、授权和审计等网络安全服务。该产品的技术特点是集成了访问控制机制和功能,提供多种访问控制服务。平台常用基于角色的访问控制方法,以便于账号授权管理。
安全网关:安全网关产品的技术特点是**利用网络数据包信息和网络安全威胁特征库,对网络通信连接服务进行访问控制。**这类产品是一种特殊的网络安全产品,如防火墙、统一威胁管理 (UTM) 等。
系统安全增强:系统安全增强产品的技术特点是通常**利用强制访问控制技术来增强操作系统、数据库系统的安全,防止特权滥用。**如 Linux 的安全增强系统 SELinux Windows 操作系统加固等。
2、访问控制主要技术指标
- 产品支持访问控制策略规则类型;
- 产品支持访问控制规则最大数量;
- 产品访问控制规则检查速度;
- 产品自身安全和质量保障级别。
++七、访问控制技术应用++
1、访问控制技术应用场景
按照访问控制的对象分类,访问控制技术的主要应用场景类型如下:
- 物理访问控制
- 网络访问控制
- 操作系统访问控制
- 数据库/数据访问控制
- 应用系统访问控制
2、UNIX/Linux 系统访问控制应用参考
普通的 UNIX/Linux 等系统中,实现自主访问控制技术的基本方法是在每个文件上使用 "9 比特位模式"来标识访问控制权限信息。
-rw-r--r--. 1 root root 103 Jan 12 2024 output
- -rw-r--r-- 是文件的权限信息,共用10个字符表示,第1个字符为文件的类型,是文件则为-,是目录则是D;后9个字符为不同用户分别对该文件具有的权限,分别为"文件的拥有者(owner)、与文件拥有者同组的用户(group)、其他用户(other)"对文件所具有的访问权限和方式

- r 表示"读"权限,也可以用数字4表示;
- w 表示"写"权限,也可以用数字2表示;
- x 表示"执行"权限,也可以用数字1表示。
3、Windows 访问控制应用参考
Windows 用户登录到系统时, WinLogon 进程为用户创建访问令牌,包含用户及所属组的安全标识符 (SID),作为用户的身份标识。文件等客体则含有自主访问控制列表 (DACL), 标明谁有权访问,还含有系统访问控制列表(SACL) ,标明哪些主体的访问需要被记录。
用户进程访问客体对象时,通过 WIN32 子系统向核心请求访问服务,核心的安全参考监视器 (SRM) 将访问令牌与客体的 DACL 进行比较,决定客体是否拥有访问权限,同时检查客体的 SACL, 确定本次访问是否落在既定的审计范围内,是则送至审计子系统。
4、IIS FTP 访问控制应用参考
IIS FTP 服务器自身提供了三种访问限制技术手段,实现用户账号认证、匿名访问控制以 IP 地址限制。
- 匿名访问控制设置;
- FTP 的目录安全性设置,FTP 用户仅有两种目录权限:读取和写入。读取权限对应下载能力,而写入权限对应上传能力。 FTP 站点的目录权限对所有的 FTP 用户都有效,即如果某一个目录设置了读取权限,则任何 FTP 用户都只有下载文件能力,而没有上传文件能力。
5、网络访问控制应用参考
网络访问控制是指通过一定技术手段实现网络资源操作限制,使得用户只能访问所规定的资源。
网络访问控制实现方式:
- 网络通信连接控制,网络通信连接控制常利用防火墙、路由器、网关等来实现,通常将这些设备放在两个不同的通信网络的连接处,使得所有的通信流都经过通信连接控制器,只有当通信流符合访问控制规则时,才允许通信正常进行。
- 基于 VLAN 的网络隔离,根据网络的功能和业务用途,将网络划分为若干个小的子网(网段),或者是外部网和内部网,以避免各网之间多余的信息交换。
6、Web 服务访问控制应用参考
Web服务访问控制机制可由网络通信、用户身份认证、操作系统、数据库等多个访问控制环节来实现。
网络通信既可以通过路由器、防火墙来实现,也可以使用Web服务器自身的访问控制来实现。
用户身份认证可以通过用户/口令、证书来实现。
Web服务器可基于限定 IP 地址、IP 网段或域名来实现 Web 资源的访问控制。

7、基于角色管理的系统访问控制应用参考
该方案针对系统管理员权限管理工作,实现既可集中管理又可分散管理的目标。该方案采用基于角色的访问控制技术。
- 首先是权限被分配到相应的角色。
- 然后,角色委派给用户,从而动态产生主体能力表,即主体所拥有的权限。
- 最后,对主体权限进行审查,确认和修订无误后,最终赋予主体所拥有的权限集, 即能力表。

8、网络安全等级保护访问控制设计应用参考
访问控制是网络安全等级保护对象的重要安全机制。
自主访问控制结构
等级保护对象系统在初始配置过程中,安全管理中心首先对系统中的主体及客体进行登记命名,然后根据自主访问控制安全策略,按照主体对其创建客体的授权命令,为相关主体授权,规定主体允许访问的客体及操作,并形成访问控制列表。
强制访问控制结构
等级保护对象系统在初始配置过程中,安全管理中心对系统的主体及其所控制的客体实施身份管理、标记管理、授权管理、策略管理。