访问控制机制(ACM)
ACM:即Access Control MechanismACM为系统管理员提供了一种控制哪些用户、进程可以访问不同的文件、设备和接口等的一种方式。当需要确保计算机系统或网络安全时,ACM是一个主要的考虑因素。
ACM主要有以下6种方式:
1) 自主访问控制:Discretionary Access Control (DAC)
2) 访问控制列表:Access Control Lists (ACLs)
3) 强制访问控制:Mandatory Access Control (MAC)
4) 基于角色的访问控制:Role-based Access Control (RBAC)
5) 多级安全:Multi-Level Security (MLS)
6) 多类安全:Multi-Category Security (MCS)
1.1 自主访问控制(DAC)
DAC为文件系统中的对象(文件、目录、设备等)定义基本的访问控制,即典型的文件权限和共享等。此访问机制通常由对象的所有者来决定。
1.2 访问控制列表(ACL)
ACL为一个subject(进程、用户等)可访问哪些object提供了进一步的控制。
1.3 强制访问控制(MAC)
MAC是一种安全机制,此安全机制是限制了用户(subject)对它自己所创建的对象所拥有的“控制级别”。与DAC不一样,在DAC中,用户对他们自己的object(文件、目录、设备等)拥有完全的控制权;而在MAC中,对所有的文件系统objects增加了额外的labels或categories。在subjects(用户或进程)与objects交互之前,它们必须对这些categories或labels进行合适的访问(即先要进行权限判断)。
对访问的控制彻底化,对所有的文件、目录、端口的访问,都是基于策略设定的。这些策略是由管理员设定的、一般用户是无权更改的。
1.4 基于角色的访问控制 (RBAC)
RBAC是控制用户访问文件系统objects的一种可先方法。它不是基于用户权限进控制, 系统管理员基于商业功能需求建立对应的角色(Roles),这些角色对object有不同的类型和访问级别。
与DAC和MAC系统相比,在DAC和MAC系统中,用户基于它们自己和object的权限来访问objects;而在RBAC系统中,在用户与objects(文件、目录、设备等)交互之前,用户必须是一个适当组的成员或角色。
从系统管理员的角度看,RBAC更易于通过控制组成员,从而控制哪些用户可以访问文件系统的哪些部分。
对于用户只赋予最小权限。对于用户来说,被划分成一些role,即使是root用户,你要是不在sysadm_r里,也还是不能实行sysadm_t管理操作的。因为,哪些role可以执行哪些domain也是在策略里设定的。role也是可以迁移的,但是只能按策略规定的迁移。
1.5. 多级安全 (MLS)
Multi-Level Security (MLS)是一个具体的强制访问控制安全方案。在此方案中,进程被叫做“Subjects”,文件、目录、套接字和其它操作系统被动实体被叫做“Objects”。
1.6. 多类安全 (MCS)
Multi-Category Security (MCS) 是一个增强的SELinux,允许用户标记文件类别。在SELinux中,MCS是MLSand重用MLS框架的适配器。