信安精品课:第7章访问控制技术原理与应用精讲笔记
第7章访问控制技术原理与应用精讲笔记
一、本章知识框架
二、本章大纲要求
7、访问控制技术原理与应用
7.1 访问控制概述
•访问控制概念
•访问控制目标
7.2 访问控制模型
•访问控制模型组成要素(主体、客体、参考监视器、访问控制数据库、审计库)
•访问控制模型运行机制
7.3 访问控制类型
•自主访问控制
•强制访问控制
•基于角色的访问控制
7.4 访问控制策略设计与实现
•访问控制策略(访问控制策略定义、访问控制策略实现、访问控制策略类型、机密性访问策略、完整性访问策略等)
•访问控制规则类型及实施方法(基于用户身份、基于角色、基于地址、基于时间、基于异常事件、基于服务数量等)
7.5 访问控制过程与安全管理
•访问控制管理过程
•最小特权管理
•用户访问管理
•口令管理
7.6 访向控制主要技术指标与产品
•产品的访问控制机制分析
•产品的主要功能指标分析
•产品的主要性能指标分析
7.7 访问控制技术应用
• UNIX/Linux 操作系统访问控制应用
• Windows 操作系统访问控制应用
• Web 服务器访问控制应用
• 网络通信访问控制应用
三、本章重要易考知识点清单
7.1 访问控制概述
访问控制是指对资源对象的访问者授权、控制的方法及运行机制。
访问者又称为主体,可以是用户、进程、应用程序等;
资源对象又称为客体即被访问的对象,可以是文件、应用服务、数据等;
授权是访问者可以对资源对象进行访问的方式,如文件的读、写、删除、追加或电子邮件服务的接收、发送等;
控制就是对访问者使用方式的监测和限制以及对是否许可用户访问资源对象做出决策,如拒绝访问、授权许可、禁止操作等。
访问控制的目标有两个:一是防止非法用户进入系统;二是阻止合法用户对系统资源的非法使用,即禁止合法用户的越权访问。
身份认证-访问权限,进而保护系统资源-安全审计-监控
7.2 访问控制模型
访问控制机制组成 :主体(Subject)、参考监视器(Reference Monitor)、客体(Object)、访问控制数据库、审计库。
主体
主体是客体的操作实施者。实体通常是人、进程或设备等,一般是代表用户执行操作的进程,比如编辑一个文件,编辑进程是存取文件的主体,而文件则是客体。
客体
客体是被主体操作的对象。通常来说,对一个客体的访问隐含着对其信息的访问。
参考监视器
参考监视器是访问控制的决策单元和执行单元的集合体。控制从主体到客体的每一次操作,监督主体和客体之间的授权访问行为,并将重要的安全事件存入审计文件之中。
访问控制数据库
记录主体访问客体的权限及其访问方式的信息,提供访问控制决策判断的依据,也称为访问控制策略库。该数据库随着主体和客体的产生、删除及其权限的修改而动态变化。
审计库
存储主体访问客体的操作信息,包括访问成功访问失败以及访问操作信息。
为适应不同应用场景的访问控制需求,访问控制参考模型不断演变,形成各种各样的访问控制模型,主要有自主访问控制模型、强制访问控制模型、基于角色的访问控制模型、基于使用的访问控制模型、基于地理位置的访问控制模型、基于属性的访问控制模型、基于行为的访问控制模型、基于时态的访问控制模型。
其中,自主访问控制模型、强制访问控制模型、基于角色的访问控制模型常用于操作系统、数据库系统的资源访问;基于使用的访问控制模型则用于隐私保护、敏感信息安全限制、知识产权保护;
基于地理位置的访问控制模型可用于移动互联网应用授权控制,如打车服务中的地理位置授权使用;
基于属性的访问控制是一个新兴的访问控制方法,其主要提供分布式网络环境和 Web 服务的模型访问控制;
基于行为的访问控制模型根据主体的活动行为,提供安全风险的控制,如上网行为的安全管理和电子支付操作控制;基于时态的访问控制模型则利用时态作为访问约束条件,增强访问控制细粒度,如手机网络流量包的限时使用。
7.3 访问控制类型
常用的访问控制类型主要有自主访问控制、强制访问控制、基于角色的访问控制、基于属性的访问控制。
自主访问控制
自主访问控制(Discretionary Access Control,DAC)是指客体的所有者按照自己的安全策略授予系统中的其他用户对其的访问权。目前,自主访问控制的实现方法有两大类,即基于行的自主访问控制和基于列的自主访问控制。
基于行的自主访问控制
基于行的自主访问控制方法是在每个主体上都附加一个该主体可访问的客体的明细表, 根据表中信息的不同又可分成三种形式,即能力表(capability list)、 前缀表(profiles)和口令(password)
(1) 能力表。
能力是访问客体的钥匙,它决定用户能否对客体进行访问以及具有何种访问模式(读、写、执行)。拥有一定能力的主体可以按照给定的模式访问客体。
(2) 前缀表。(从主客体角度出发)
前缀表包括受保护客体名和主体对它的访问权限。当主体要访问某客体时,自主访问控制机制检查主体的前缀是否具有它所请求的访问权。
(3) 口令。
在基于口令机制的自主存取控制机制中,每个客体都相应地有一个口令。主体在对客体进行访问前,必须向系统提供该客体的口令。如果正确,它就可以访问该客体。
基于列的自主访问控制
基于列的自主访问控制机制是在每个客体上都附加一个可访问它的主体的明细表,它有两种形式,即保护位(protection bits)和访问控制表(Access Control List,ACL)。
(1)保护位
这种方法通过对所有主体、主体组以及客体的拥有者指明一个访问模式集合,通常以比特位来表示访问权限。UNIX/Linux 系统就利用这种访问控制方法。
(2)访问控制表
访问控制表简称 ACL,它是在每个客体上都附加一个主体明细表,表示访问控制矩阵。
自主访问控制是最常用的一种对网络资源进行访问约束的机制,其好处是用户自己根据其安全需求,自行设置访问控制权限,访问机制简单、灵活。但这种机制的实施依赖于用户的安全意识和技能,不能满足高安全等级的安全要求。例如,网络用户由于操作不当,将敏感的文件用电子邮件发送到外部网,则造成泄密事件。
强制访问控制
强制访问控制(Mandatory Access Control,MAC)是指系统根据主体和客体的安全属性以强制方式控制主体对客体的访问。在政府部门、军事和金融等领域,常利用强制访问控制机制,将系统中的资源划分安全等级和不同类别,然后进行安全管理。
通俗地说,角色(role)就是系统中的岗位、职位或者分工。
RBAC 由用户(U)、角色(R)会话(S)和权限(P)四个基本要素组成。
基于属性的访问控制(Attribute Based Access Control)简称为 ABAC,其访问控制方法是根据主体的属性、客体的属性、环境的条件以及访问策略对主体的请求操作进行授权许可或拒绝。
7.4 访问控制策略设计与实现
访问控制机制的实现依赖于安全策略设计。
访问控制策略用于规定用户访问资源的权限,防止资源损失、泄密或非法使用。在设计访问控制策略时,一般应考虑下面的要求:
(1) 不同网络应用的安全需求,如内部用户访问还是外部用户;
(2) 所有和应用相关的信息的确认,如通信端口号、IP 地址等;
(3) 网络信息传播和授权策略,如信息的安全级别和分类;
(4) 不同系统的访问控制和信息分类策略之间的一致性;
(5) 关于保护数据和服务的有关法规和合同义务;
(6) 访问权限的更新和维护。
访问控制策略必须指明禁止什么和允许什么,在说明访问控制规则时,应做到以下几点:
(1) 所建立的规则应以“未经明确允许的都是禁止的”为前提,而不是以较弱的原则“未经明确禁止的都是允许的”为前提:(2) 信息标记的变化,包括由信息处理设备自动引起的或是由用户决定引起的;
(3) 由信息系统和管理人员引起的用户许可的变化;
(4) 规则在颁布之前需要管理人员的批准或其他形式的许可。
总而言之,一个访问控制策略由所要控制的对象、访问控制规则、用户权限或其他访问安全要求组成。在一个网络系统中,访问控制策略有许多,具体包括机房访问控制策略、拨号服务器访问控制策略、路由器访问控制策略、交换机访问控制策略、防火墙访问控制策略、主机访问控制策略、数据库访问控制策略、客户端访问控制策略、网络服务访问控制策略等。
访问控制规则实际上就是访问约束条件集,是访问控制策略的具体实现和表现形式。目前,常见的访问控制规则有基于用户身份、基于时间、基于地址、基于服务数量等多种情况。
基于用户身份的访问控制规则
基于用户身份的访问控制规则利用具体的用户身份来限制访问操作,通常以账号名和口令表示用户,当用户输入的“账号名和口令”都正确后,系统才允许用户访问。目前,操作系统或网络设备的使用控制都采用这种控制规则。
基于角色的访问控制规则
基于角色的访问控制规则是根据用户完成某项任务所需要的权限进行控制的。
基于地址的访问控制规则
基于地址的访问控制规则利用访问者所在的物理位置或逻辑地址空间来限制访问操作。
例如,重要的服务器和网络设备可以禁止远程访问,仅仅允许本地的访问,这样可以增加安全性。基于地址的访问控制规则有 IP 地址、域名地址以及物理位置。
基于时间的访问控制规则
基于时间的访问控制规则利用时间来约束访问操作,在一些系统中为了增加访问控制的适应性,增加了时间因素的控制。例如,下班时间不允许访问服务器。
基于异常事件的访问控制规则
基于异常事件的访问控制规则利用异常事件来触发控制操作,以避免危害系统的行为进一步升级。例如,当系统中的用户登录出现三次失败后,系统会在一段时间内冻结账户。
基于服务数量的访问控制规则
基于服务数量的访问控制规则利用系统所能承受的服务数量来实现控制。例如,为了防范拒绝服务攻击,网站在服务能力接近某个阈值时,暂时拒绝新的网络访问请求,以保证系统正常运行。
7.5 访问控制过程与安全管理
访问控制的目的是保护系统的资产,防止非法用户进入系统及合法用户对系统资源的非法使用。要实现访问控制管理,一般需要五个步骤:
第一步,明确访问控制管理的资产,例如网络系统的路由器、Web 服务等;
第二步,分析管理资产的安全需求,例如保密性要求、完整性要求、可用性要求等;
第三步,制定访问控制策略,确定访问控制规则以及用户权限分配;
第四步,实现访问控制策略,建立用户访问身份认证系统,并根据用户类型授权用户访问资产;
第五步,运行和维护访问控制系统,及时调整访问策略。
特权(Privilege)是用户超越系统访间控制所拥有的权限。这种特权设置有利于系统维护和配置,但不利于系统的安全性。特权的管理应按最小化机制,防止特权误用。最小特权原则(Principle of Least Privilege)指系统中每一个主体只能拥有完成任务所必要的权限集。
为了防止系统的非授权使用,对系统中的用户权限应进有效管理。例如 BBS 网站、各种论坛、FTP 站点、电子邮件服务、ISP 服务等都实施了用户管理。用户管理是网络安全管理的重要内容之一,其主要工作包括用户登记、用户权限分配、访问记录、权限监测、权限取消、撤销用户。用户登记通常又称为注册,当用户在系统注册成功后,系统分配给用户唯一的标识号(ID)。同时,系统会授予用户一定权限,例如 BBS 普通账号只有发表帖子的权限,而没有删除他人帖子的权限。系统为了防止用户滥用权限,对用户访问进行审计,并定期检查,以便及时阻止非法访问。例如,黑客总是试图通过匿名 FTP 账号窃取系统的口令信息, 或者利用系统漏洞越权操作,获取 FTP 站点的管理权通过监测 TP 访问日志,可以发现黑客的违规访问记录,这样管理员就可以取消黑客的访问权,阻断黑客的攻击。
口令安全控制
口令是当前大多数网络实施访问控制进行身份鉴别的重要依据,因此,口令管理尤为重要一般遵守以下原则:
口令选择应至少在 8 个字符以上,应选用大小写字母、数字、特殊字符组合;
禁止使用与账号相同的口令;
更换系统默认口令,避免使用默认口令;
限制账号登录次数,建议为 3 次;
禁止共享账号和口令;
口令文件应加密存放,并只有超级用户才能读取 ;
禁止以明文形式在网络上传递口令;
口令应有时效机制,保证经常更改,并且禁止重用口令;
对所有的账号运行口令破解工具,检查是否存在弱口令或没有口令的账号。
7.6 访问控制主要产品与技术指标
访问控制的主要产品类型有 4A 系统、安全网关、系统安全增强等
4A 系统
4A 是指认证(Authentication),授权( Authorization)、账号(Account)、审计(Audit),中文名称为统一安全管理平台,平台集中提供账号、认证、授权和审计等网络安全服务。该产品的技术特点是集成了访问控制机制和功能,提供多种访问控制服务。平台常用基于角色的访问控制方法,以便于账号授权管理。
安全网关
安全网关产品的技术特点是利用网络数据包信息和网络安全威胁特征库,对网络通信连接服务进行访问控制。这类产品是一种特殊的网络安全产品,如防火墙、统一威胁管理(UTM) 等。
系统安全增强
系统安全增强产品的技术特点是通常利用强制访问控制技术来增强操作系统、数据库系统的安全,防止特权滥用。如 Linux 的安全增强系统 SELinux、 Windows 操作系统加固等。
访问控制主要技术指标
不同的访问控制技术产品,其技术指标有所差异,但其共性指标主要如下。
产品支持访问控制策略规则类型
一般来说,访问控制策略规则类型多,有利于安全控制细化和灵活授权管理。
产品支持访问控制规则最大数量
产品受到硬件和软件的资源限制,访问规则的数量多表示该产品具有较高的控制能力。
产品访问控制规则检查速度
访问控制规则检查速度是产品的主要性能指标,速度快则意味着产品具有较好的性能。
产品自身安全和质量保障级别
针对产品本身的安全所采用的保护措施,产品防范网络攻击的能力,产品所达到的国家信息安全产品的等级。
7.7 访问控制技术应用
按照访问控制的对象分类,访问控制技术的主要应用场景类型如下。
1. 物理访问控制
主要针对物理环境或设备实体而设置的安全措施一般包括门禁系统、警卫、个人证件、门锁、物理安全区域划分。
2. 网络访问控制
主要针对网络资源而采取的访问安全措施,一般包括网络接入控制、网络通信连接控制、网络区域划分、网络路由控制、网络节点认证。
3. 操作系统访问控制
针对计算机系统资源而采取的访问安全措施,例如文件读写访问控制、进程访问控制、内存访问控制等。
4. 数据库/数据访问控制
针对数据库系统及数据而采取的访问安全措施,例如数据库表创建、数据生成与分发。
5. 应用系统访问控制
针对应用系统资源而采取的访问安全措施,例如业务执行操作、业务系统文件读取等。
UNX/Linux 系统访问控制应用参考(理解掌握)
普通的 UNIX、 Linux 等系统中,实现自主访问控制技术的基本方法是在每个文件上使用“9 比特位模式”来标识访问控制权限信息,这些二进制位标识了“文件的拥有者、与文件拥有者同组的用户、其他用户”对文件所具有的访问权限和方式,如表 7-1 所示。
表中,r 表示“读”权限,w 表示“写”权限,x 表示“执行”权限。
owner 表示此客体的拥有者对它的访问权限
group 表示 owner 同组用户对此客体的访问权限
other 表示其他用户对此客体的访问权限
如图 7-9 所示,Linux 普通用户 spring 可以读取文件/etcc/passwd 的内容,而无法执行,只有 root 用户才有读和写访问权限。
图 79 Linux 文件/etcc/passwd 权限控制图
Windows 访问控制应用参考
Windows 用户登录到系统时, WinLogon 进程为用户创建访问令牌,包含用户及所属组的安全标识符(SID),作为用户的身份标识。文件等客体则含有自主访问控制列表(ACL),标明谁有权访问,还含有系统访问控制列表(ACL),标明哪些主体的访问需要被记录。用户进程访问客体对象时,通过 WIN32 子系统向核心请求访问服务,核心的安全参考监视器(SRM) 将访问令牌与客体的 DACL(自主访问控制列表)进行比较决定客体是否拥有访问权限,同时检查客体的 SACL 系统访问控制列表,确定本次访问是否落在既定的审计范围内,是则送至审计子系统。整体过程如图 7-10 所示。
IIS FTP访问控制应用参考
IIS FTP 服务器自身提供了三种访问限制技术手段,实现用户账号认证、匿名访问控制以及 IP 地址限制。(掌握)
1. 匿名访问控制设置
2. FTP 的目录安全性设置
FTP 用户仅有两种目录权限:读取和写入读取权限对应下载能力,而写入权限对应上传能力。FTP 站点的目录权限对所有的 FTP 用户都有效,即如果某一个目录设置了读取权限, 则任何 FTP 用户都只有下载文件能力,而没有上传文件能力。
网络访问控制应用参考
网络访问控制是指通过一定技术手段实现网络资源操作限制,使得用户只能访问所规定的资源,如网络路由器、网络通信、网络服务等。
网络通信连接控制
网络通信连接控制常利用防火墙、路由器、网关等来实现,通常将这些设备放在两个不同的通信网络的连接处,使得所有的通信流都经过通信连接控制器,只有当通信流符合访问控制规则时,才允许通信正常进行。
基于VLAN的网络隔离
根据网络的功能和业务用途,将网络划分为若干个小的子网(网段),或者是外部网和内部网,以避免各网之间多余的信息交换例如,通过 VLAN 技术,可以把处于不同物理位置的节点,按照业务需要组成不同的逻辑子网。采用 VLAN 技术,不仅可以防止广播风暴的产生,而且也能提高交换式网络的整体性能和安全性。
Web服务访问控制应用参考
Web服务访问控制机制
Web服务访问控制机制可由网络通信、用户身份认证、操作系统、数据库等多个访问控制环节来实现,各种访问都有不同的技术来实现。网络通信既可以通过路由器、防火墙来实现,也可以使用 Web 服务器自身的访问控制来实现。用户身份认证可以通过用户口令、证书来实现。操作系统、数据库、Web 服务器都有自身所带的访问控制技术。其中,Web 服务器可基于限定 IP 地址、IP 网段或域名来实现 Web 资源的访问控制。
以 apache httpd ,secret IP 的服务器为例,假设要保护/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>
基于角色管理的系统访问控制应用参考
IBM开发社区方案针对系统管理员权限管理工作,实现既可集中管理又可分散管理的目标。该方案采用基于角色的访问控制技术。首先是权限被分配到相应的角色,然后,角色委派给用户,从而动态产生主体能力表, 即主体所拥有的权限。最后,对主体权限进行审查,确认和修订无误后,最终赋予主体所拥有的权限集即能力表。
网络安全等级保护访问控制设计应用参考
访问控制是网络安全等级保护对象的重要安全机制本应用参考选自《信息安全技术网络安全等级保护安全设计技术要求(GB/25070—2019)》。等级保护对象的自主访问控制结构和强制访问控制结构设计参考如下:
自主访问控制结构
等级保护对象系统在初始配置过程中,安全管理中心首先对系统中的主体及客体进行登记命名,然后根据自主访问控制安全策略,按照主体对其创建客体的授权命令,为相关主体授权,规定主体允许访问的客体及操作并形成访问控制列表。
强制访问控制结构
等级保护对象系统在初始配置过程中,安全管理中心对系统的主体及其所控制的客体实施身份管理、标记管理、授权管理、策略管理。身份管理确定系统中所有合法用户的身份、工作密钥、证书等与安全相关的内容。标记管理根据业务系统的需要,结合客体资源的重要 程度,确定系统中所有客体资源的安全级别和范畴,生成全局客体安全标记列表;同时,根 据用户在业务系统中的权限和角色确定主体的安全级别和范畴,生成全局主体安全标记列表。授权管理根据业务系统需求和安全状况,授予用户(主体)访问资源(客体)的权限,生成强制访问控制策略和级别调整策略列表。策略管理则根据业务系统的需求,生成与执行主体相关的策略,包括强制访问控制策略和级别调整策略。除此之外,安全审计员需要通过安全管理中心制定系统审计策略,实施系统的审计管理。
四、本章历年考点分布
详见2020软考信安精讲课程群
五、本章历年真题及答案解析
详见2020软考信安精讲课程群