概念

SELinux:Security Enhanced Linux,Linux内核模块,也是Linux的安全子系统

作用

最大限度的减少系统中服务进程可访问的资源(最小权限原则)

访问控制

DAC

DAC:自主访问控制(Discretionary Access Control,DAC)
百度概念:由客体(文件)的属主(所有人)对自己的客体进行管理,由属主决定时候将自己客体的访问权限或部分访问权限授权给其他主体,这种控制方式是自主的,即由用户自主的进行访问控制。

MAC

MAC:强制访问控制(Mandatory Access Control,MAC)
操作系统约束的访问控制,目标:限制主体或发起者访问或对目标执行某种操作的能力;主体通常是进程/线程,对象可能是文件,目录,端口,共享内存段,io设备等
主体和对象各有一组安全属性,每次主体访问对象,都会由操作系统强制施行授权规则-检查安全属性并决定是否进行访问。
可用于数据库

SELinux基本概念

主体(subject)

可以完全等同于进程

对象(object)

被主体访问的资源

政策和规则(policy & rule)

选择性对某些进程进行管制,怎么管制由政策(policy)决定
一套政策中有多个规则。
Centos7包含3套政策,

  1. targeted:对大部分网络服务进行管制,系统默认的政策,
  2. minimum:以targeted为基础,仅对选中的网络服务进程进行管制,一般不用。
  3. mls:多级安全保护,对所有进程进行管制,最严格的政策,配置难度大,一般不用。

政策可以在/etc/selinux/config中设定

安全上下文(security context)

SELinux的核心
可以分为进程安全上下文文件安全上下文,一个进程安全上下文,一般对应多个文件安全上下文,两者对应上,进程才能访问文件。