软考-访问控制技术原理与应用

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷)

本文为追加文章,后期慢慢追加

by 2023年10月

访问控制概念

访问控制是计算机安全的一个重要组成部分,用于控制用户或程序如何使用系统资源。访问控制的目标是确保只有经过授权的用户或程序可以访问特定的资源,例如文件、文件夹、系统设置、网络服务和数据库等。

访问控制由以下三个概念构成:

  1. 主体:主体是指被授权或未经授权试图访问系统的用户、程序或进程。

  2. 资源:资源是指需要被保护的系统资源,例如文件、数据、设备或服务等。

  3. 访问控制规则:访问控制规则是指由系统管理员定义的规则,用于限制主体对资源的访问权限。根据访问控制规则的不同,主体可以被授予不同的访问权限,例如读取、写入、执行或删除等。

在实现访问控制时,通常会采用多层次的安全措施,例如认证、授权、审计和加密等技术。这些技术可以帮助系统管理员有效地控制和保护敏感信息和系统资源。

访问控制的主要目标

确保只有经过授权的用户、程序或进程可以访问特定的系统资源。以下是访问控制的目标:

  1. 保护系统资源:访问控制的主要目标是保护系统资源免受未经授权的访问或恶意攻击。这可以防止数据泄露、系统崩溃或破坏等安全问题。

  2. 实现数据保密性:访问控制可以确保只有授权用户可以访问敏感信息,从而保护数据的保密性。

  3. 管理权限:访问控制可以帮助管理员控制和管理用户权限,即用户可以做什么和不能做什么。这可以确保用户只能执行必要的任务,防止滥用权限和误操作。

  4. 管理身份验证:访问控制可以提供身份验证机制,以确保只有经过身份验证的用户可以访问资源。这可以防止身份伪造和欺诈。

  5. 管理审计:访问控制可以记录用户活动和系统事件,以帮助管理员审计用户行为。这可以帮助发现潜在的安全问题和保证合规性。

综上所述,访问控制的目标是保护系统资源,实现数据保密性,管理权限,管理身份验证和管理审计。它是计算机安全的重要组成部分,可以帮助组织保护敏感信息和系统资源。

访问控制模型

参考监视器访问控制模型组成要素主要有主体(Subject).(Reference Monitor) 、客体(Object) 、访问控制数据库、审计库。
访问控制模型组成要素

  1. 主体:是客体的操作实施者。实体通常是人、进程或设备等,一般是代表用户执行操作的进程。
  2. 客体:是被主体操作的对象
  3. 参考监视器:是访问控制的决策单元和执行单元的集合体
  4. 访问控制数据库:记录主体访问客体的权限及其访问方式的信息,提供访问控制决策判断的依据,也称为访问控制策略库。
  5. 审计库:存储主体访问客体的操作信息,包括访问成功访问失败以及访问操作信息。
访问控制类型
  1. 访问控制列表(Access Control List,ACL)
  2. 基于角色的访问控制(Role-Based Access Control,RBAC)
  3. 强制访问控制(Mandatory Access Control,MAC)
  4. 自主访问控制(Discretionary Access Control,DAC)
  5. 基于属性的访问控制(Attribute-Based Access Control,ABAC)
自主访问控制

自主访问控制(DAC)是一种访问控制机制,它根据主体(如用户)对资源(如文件或目录)的自主权来控制对资源的访问。这意味着主体拥有对自己所拥有的资源进行控制的权力,例如,决定其他主体是否可以访问、修改或删除该资源。

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

  • 能力表。能力是访问客体的钥匙,它决定用户能否对客体进行访问以及具有何种访问模式读、写、执行)。拥有一定能力的主体可以按照给定的模式访问客体。
  • 前缀表。前缀表包括受保护客体名和主体对它的访问权限。当主体要访问某客体时,自主访问控制机制检查主体的前缀是否具有它所请求的访问权。
  • 口令。在基于口令机制的自主存取控制机制中,每个客体都相应地有一个口令。主体在对客体进行访问前,必须向系统提供该客体的口令。如果正确,它就可以访问该客体。

基于列的自主访问控制机制是在每个客体上都附加一个可访问它的主体的明细表,它有两种形式,即保护位(protection bits)和访问控制表(Access Control List, ACL)。

  • 保护位。这种方法通过对所有主体、主体组以及客体的拥有者指明一个访问模式集合,通常以比特位来表示访问权限。UNIX/Linux 系统就利用这种访问控制方法。
  • 访问控制表。访问控制表简称ACL,它是在每个客体上都附加一个主体明细表,表示访问控制矩阵。表中的每项都包括主体的身份和主体对该客体的访问权限。

自主访问控制优点:访问机制简单、灵活
自主访问控制缺点:实施依赖于用户的安全意识和技能,不能满足高安全等级的安全要求。

强制访问控制
强制访问控制(Mandatory Access (ontrol,MAC)是指系统根据主体和客体的安全属性,以强制方式控制主体对客体的访问。与自主访问控制相比较,强制访问控制更加严格。BLP和Biba模型都属于强制访问控制

在政府部门、军事和金融等领域,常利用强制访问控制机制,将系统中的资源划分安全等级和不同类别,然后进行安全管理。

基于角色的访问控制

基于角色的访问控制(Role-Based Access Control,RBAC)是一种常见的访问控制机制,用于控制用户对系统资源的访问。在基于角色的访问控制中,用户被分配到一个或多个角色,而每个角色具有一组权限,用于访问系统中的不同资源。用户可以访问与他们角色相对应的资源,而不能访问与他们角色不符合的资源。
基于角色的访问控制(RBACL是指根据完成某些职责任务所需要的访问权限来进行授权和管理。RBAC 由用户(U)、角色(R)、会话(S) 和权限(P)四个基本要素组成。

基于角色的访问控制有以下优点:

  1. 管理简单:通过角色来定义权限,降低了管理的复杂性,避免了在管理多个用户时需要分别分配权限的麻烦。

  2. 安全可控:基于角色的访问控制控制了用户对系统资源的访问权限,从而保证了系统的安全性。

  3. 可扩展性好:当系统需要增加新的用户或资源时,只需要将新用户分配到相应的角色,或将新资源的权限分配给现有的角色即可。

  4. 便于审计:基于角色的访问控制记录用户访问资源的信息,便于对系统的安全性进行审计。

基于属性的访问控制

基于属性的访问控制(ABAC)是一种访问控制模型,它使用多个属性(如用户、资源、环境和行为特征)进行决策。这种访问控制模型允许管理员为每个属性定义规则,并将其组合以形成访问控制策略。属性可以包括任何与访问控制相关的信息,例如时间、位置、设备等。基于属性的访问控制可以增强访问控制的精度和灵活性,还可以帮助组织遵守安全合规性要求。

访问控制策略

访问控制策略由所要控制的对象、访问控制规则、用户权限或其他访问安全要求组成。访问控制策略常见类型机房、拨号服务器、路由器、交换机、防火墙、主机、数据库、客户端、网络服务访问控制策略等。

访问控制规则
主要的访问控制规则:

  • 基于用户身份的访问控制规则
  • 基于角色的访问控制规则
  • 基于地址的访问控制规则
  • 基于时间的访问控制规则
  • 基于异常事件的访问控制规则
  • 基于服务数量的访问控制规则

访问控制过程
要实现访问控制管理,一般需要五个步骤

  • 第一步,明确访问控制管理的资产,例如网络系统的路由器、Web 服务等
  • 第二步,分析管理资产的安全需求,例如保密性要求、完整性要求、可用性要求等;
  • 第三步,制定访问控制策略,确定访问控制规则以及用户权限分配;
  • 第四步,实现访问控制策略,建立用户访问身份认证系统,并根据用户类型授权用户访问资产;
  • 第五步,运行和维护访问控制系统,及时调整访问策略。

最小特权原则(Principle of Least Privilege) 指系统中每一个主体只能拥有完成任务所必要的权限集。特权的分配原则是”按需使用(Need to Use)"这条原则保证系统不会将权限过多地分配给用户,从而可以限制特权造成的危害。用户管理是网络安全管理的重要内容之一,其主要工作包括用户登记、用户权限分配、访问记录、权限监测、权限取消、撤销用户。

口令安全管理原则

  • 口令选择应至少在8 个字符以上,应选用大小写字母、数字、特殊字符组合;
  • 禁止使用与账号相同的口令;
  • 更换系统默认口令,避免使用默认口令;
  • 限制账号登录次数,建议为3次;
  • 禁止共享账号和口令;
  • 口令文件应加密存放,并只有超级用户才能读取;
  • 禁止以明文形式在网络上传递口令;
  • 口令应有时效机制,保证经常更改,并且禁止重用口令;
  • 对所有的账号运行口令破解工具,检查是否存在弱口令或没有口令的账号。
访问控制主要产品

访问控制的主要产品类型有4A 系统、安全网关、系统安令增强等

  • 4A系统:4A 是指认证(Authentication)、授权(Authorization)、账号(Account)、审计(Audit),中文名称为统安全管理平台平台集中提供账号、认证、授权和审计等网络安全服务。该产品的技术特点是集成了访问控制机制和功能,提供多种访问控制服务。平台常用基于角色的访问控制方法,以便于账号授权管理。
  • 安全网关:安全网关产品的技术特点是利用网络数据包信息和网络安全威胁特征库,对网络通信连接服务进行访问控制。这类产品是一种特殊的网络安全产品,如防火墙、统一威胁管理(UTM)等

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

访问控制主要技术指标:

  1. 产品支持访问控制策略规则类型。一般来说,规则类型多,有利于安全控制细化和灵活授权管理。
  2. 产品支持访问控制规则最大数量:访问规则的数量多表示该产品具有较高的控制能力。
  3. 产品访问控制规则检查速度:产品的主要性能指标,速度快则意味着产品具有较好的性能;
  4. 产品自身安全和质量保障级别:针对产品本身的安全所采用的保护措施,产品防范网络攻击的能力,产品所达到的国家信息安全产品的等级。
Linux 访问权限与方式

访问权限分为读(read)、写(write)、执行(execute)三种,

并且涉及到文件所有者(user)、文件所属组(group)、其他人(other)三个主体。

选取上图红框中的两行为例,结合下面的表格先讲一下基本结构:
复制于https://zhuanlan.zhihu.com/p/44162944
复制于https://zhuanlan.zhihu.com/p/44162944
复制于https://zhuanlan.zhihu.com/p/44162944

改变文件/目录的放我权限命令:chomd [mode] filename
例:chmod 755testsh //755表示”创建者拥有读写可执行权限、同一组用户以及其他用户拥有读和执行权限

windows访问控制权限

Windows 用户登录到系统时,WinLogon 进程为用户创建访问令牌,包含用户及所属组的安全标识符(SID)作为用户的身份标识。文件等客体则含有自主访问控制列表(DACL),标明谁有权访问,还含有系统访问控制列表(SACL),标明哪些主体的访问需要被记录。
DACL主要用于设置用户以及用户组对安全对象的访问权限
SACL用于配置对安全对象的访问的审计(生成日志)
每个ACL由多个 ACE(Access Control Entries)构成

IIS服务器访问控制权限

IIS(Internet Information Services)服务器是一种Web服务器,可以用来托管Web应用程序和网站。在IIS服务器上,可以通过访问控制权限来限制用户对网站的访问。

以下是一些常见的访问控制权限:

  1. IP地址限制:可以通过设置某些IP地址或IP地址范围来限制用户的访问。只有在指定的IP地址范围内的用户才能访问网站。

  2. 身份验证:可以设置必须进行身份验证才能访问网站或特定页面。可以使用基本身份验证、Windows身份验证或其他第三方身份验证方式。

  3. 目录权限:可以设置目录级别的权限来限制用户对文件和文件夹的访问。可以使用NTFS权限或IIS权限来实现。

  4. SSL证书:可以通过安装SSL证书来加密传输数据,并限制只有拥有证书的用户才能访问网站。

以上是一些常见的访问控制权限,可以根据实际情况进行选择和设置。

网络访问控制

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/163437.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LiveGBS流媒体平台GB/T28181常见问题-安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口

LiveGBS流媒体平台GB/T28181常见问题-安全控制HTTP接口鉴权勾选流地址鉴权后401 Unauthorized如何播放调用接口? 1、安全控制1.1、HTTP接口鉴权1.2、流地址鉴权 2、401 Unauthorized2.1、携带token调用接口2.1.1、获取鉴权token2.1.2、调用其它接口2.1.2.1、携带 Co…

Spring Boot 可以同时处理多少请求?

文章目录 Spring Boot 的请求处理能力1. 硬件资源2. 应用程序的设计3. 配置4. 运行时环境 基准测试和性能优化高性能的 Spring Boot 应用程序示例结论 🎉欢迎来到架构设计专栏~Spring Boot 可以同时处理多少请求? ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#…

C语言实现面向对象编程 | 干货

前言 GOF的《设计模式》一书的副标题叫做“可复用面向对象软件的基础”,从标题就能看出面向对象是设计模式基本思想。 由于C语言并不是面向对象的语言,C语言没有直接提供封装、继承、组合、多态等面向对象的功能,但C语言有struct和函数指针。…

019-第三代软件开发-Git提交规范

第三代软件开发-Git提交规范 文章目录 第三代软件开发-Git提交规范项目介绍Git提交规范分支规范Commit Message FormatHeaderBodyFooterRevert 总结一下 关键字: Qt、 Qml、 git、 Commit、 release 项目介绍 欢迎来到我们的 QML & C 项目!这个…

【数据结构】优先级队列(堆)

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力…

java最新Springboot3+微服务实战12306高性能售票系统全套开发课程

java最新Springboot3微服务实战12306高性能售票系统全套开发课程 视频课程在文末获取 第1章 课程介绍与学习指南。 1-1 课前必读(不读错过一个亿) 1-2 课程导学 1-3 为什么要选择最新版本SpringBoot3和JDK17? 1-4 在线demo网站演示 第2…

谈谈 Redis 如何来实现分布式锁

谈谈 Redis 如何来实现分布式锁 基于 setnx 可以实现,但是不是可重入的。 基于 Hash 数据类型 Lua脚本 可以实现可重入的分布式锁。 获取锁的 Lua 脚本: 释放锁的 Lua 脚本: 但是还是存在分布式问题,比如说,一个客…

Java_Jdbc

目录 一.JDBC概述 二.JDBC API 三.ResultSet[结果集] 四.Statement 五.PreparedStatement 六. JDBC API 总结 一.JDBC概述 JDBC 为访问不同的数据库提供了同一的接口,为使用着屏蔽了细节问题Java程序员使用JDBC 可以连接任何提供了 JDBC驱动的数据库系统&am…

Linux考试复习整理

文章目录 Linux考试整理一.选择题1.用户的密码现象放置在哪个文件夹?2.删除文件或目录的命令是?3.显示一个文件最后几行的命令是?4.删除一个用户并同时删除用户的主目录5.Linux配置文件一般放在什么目录?6.某文件的组外成员的权限…

双指针——复写零

一,题目要求 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不要从函数返回任何东…

Python Connect SQLServer 2008

Macos(经过了两天,无数次的方法验证,寻找各种资料,总结如下) brew install freetds0.91 如果出现错误就进行手工安装,也可以直接使用 brew install freetds安装最新版本(测试通过) …

Kerberos认证协议介绍

概述 官网:https://www.kerberos.org/ 官方文档:http://web.mit.edu/kerberos/krb5-current/doc/ 为TCP/IP网络系统设计的可信的第三方身份认证协议。网络上的Keberos服务基于DES对称加密算法,但也可以用其他算法替代。因此,Keb…

CSS 基础知识-01

CSS 基础知识 1.CSS概述2. CSS引入方式3. 选择器4.文字控制属性5. 复合选择器6. CSS 特性7.背景属性8.显示模式9.选择器10.盒子模型 1.CSS概述 2. CSS引入方式 3. 选择器 4.文字控制属性 5. 复合选择器 6. CSS 特性 7.背景属性 8.显示模式 9.选择器 <!DOCTYPE html> <…

(※)力扣刷题-栈和队列-用栈实现队列

使用栈实现队列的下列操作&#xff1a; push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。 说明: 你只能使用标准的栈操作 – 也就是只有 push to top, peek/pop from top, size, 和 is empt…

【Java基础面试三十一】、String a = “abc“; ,说一下这个过程会创建什么,放在哪里?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;String a “abc”; &am…

Java集合类

Java集合类 集合类 集合类其实就是为了更好地组织、管理和操作我们的数据而存在的&#xff0c;包括列表、集合、队列、映射等数据结构。 集合根接口 Java中已经帮我们将常用的集合类型都实现好了&#xff0c;我们只需要直接拿来用就行了 所有的集合类最终都是实现自集合根…

【Javascript保姆级教程】运算符

文章目录 前言一、运算符是什么二、赋值运算符2.1 如何使用赋值运算符2.2 示例代码12.3 示例代码2 三、自增运算符3.1 运算符3.2 示例代码13.3 示例代码2 四、比较运算符4.1 常见的运算符4.2 如何使用4.3 示例代码14.4 示例代码2 五、逻辑运算符逻辑运算符列举 六、运算符优先级…

数据预处理—滑动窗口采样数据

一个简单的例子&#xff1a; # data: 这是要应用滑动窗口采样的输入数据&#xff0c;通常是一个序列&#xff0c;例如列表或NumPy数组。 # window_size: 这是滑动窗口的大小&#xff0c;表示每个窗口中包含的元素数量。 # step_size: 这是滑动窗口移动的步长&#xff0c;表示每…

变化检测数据集制作详细版

本文记录在进行变化检测数据集制作过程中所使用的代码 首先需要准备相同地区不同时间的两幅影像&#xff0c;裁减成合适大小&#xff0c;如256*256。相同区域命名相同放在两个文件夹下。 接着使用labelme对变化区域进行标注&#xff0c;这里不再进行labelme安装及标注的赘述。…

支持语音与视频即时通讯项目杂记(一)

第一部分解释服务端的实现。 &#xff08;服务端结构&#xff09; 下面一个用于实现TCP服务器的代码&#xff0c;包括消息服务器&#xff08;TcpMsgServer&#xff09;和文件中转服务器&#xff08;TcpFileServer&#xff09;。 首先&#xff0c;TcpServer是TcpMsgServer和Tcp…