概述
linux security module 介绍
LSM 的基础结构如下图(摘自https://www.ibm.com/developerworks/library/l-selinux/):
把安全模块作为一个module放入了linux kernel中。当kernel有安全相关的action时,通过该安全模块决定是否允许该action。
但是关于安全,linux已经做了很多的努力,LSM的意义何在?
DAC + MAC
Discretionary Access Control(DAC):
This includes both classic UNIX style permission checks and POSIX Access Control Lists (ACL). Classical UNIX checks compare the current process UID and GID versus the UID and GID of the file being accessed with regards to which modes have been set (Read/Write/eXecute). Access Control List extends classic UNIX checks to allow more options regarding permission control.
简单的来讲,即是:通过对比当前进程(subject)的UID&GID,与文件(object)赋予各个UID&GID的权限(R/W/X),以此实现对文件的安全保护。
Mandatory Access Control (MAC):
Mandatory access control (MAC) is a security strategy that restricts the ability individual resource owners have to grant or deny access to resource objects in a file system. MAC criteria are defined by the system administrator, strictly enforced by the operating system (OS) or security kernel, and are unable to be altered by end users.
简单的来讲,即是:通过在系统中写死文件的权限和进程的权限,以此方式来控制进程对文件的访问。
两者的相同之处:DAC 和MAC都是通过对比进程(subject)的安全上下文,和文件(object)的安全上下文来实现对文件的包括。
两者的不同之处:
在DAC模式下:DAC所依赖的安全规则可以修改:进程的安全上下文(GID/UID)可以在运行中修改,文件的安全上下文(R/W/X)也可以在运行中修改。
在MAC模式下:MAC所依赖的安全规则不可修改:进程的安全上下文(a string)和文件的安全上下文(a sring too)都是在编译阶段写死的。
两者可以并存,可以认为MAC是一种安全的增强,MAC enabled的操作系统中,实现了对进程权限的更多限制。
转载于:https://blog.51cto.com/2559640/2365792
最后
以上就是俊秀大神为你收集整理的selinux 学习笔记的全部内容,希望文章能够帮你解决selinux 学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复