Linux安全加固SElinux
SELinux介绍
SELinux:Security-Enhanced Linux, 是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中
DAC:Discretionary Access Control自由访问控制
MAC:Mandatory Access Control 强制访问控制
• DAC环境下进程是无束缚的
• MAC环境下策略的规则决定控制的严格程度
• MAC环境下进程可以被限制的
• 策略被用来定义被限制的进程能够使用那些资源(文件和端口)
• 默认情况下,没有被明确允许的行为将被拒绝
SELinux策略
对象(object):所有可以读取的对象,包括文件、目录和进程,端口等
主体:进程称为主体(subject)
SELinux中对所有的文件都赋予一个type的文件类型标签,对于所有的进程也赋予各自的一个domain的标签。domain标签能够执行的操作由安全策略里定义
当一个subject试图访问一个object,Kernel中的策略执行服务器将检查AVC (访问矢量缓存Access Vector Cache), 在AVC中,subject和object的权限被缓存(cached),查找“应用+文件”的安全环境。然后根据查询结果允许或拒绝访问
安全策略:定义主体读取对象的规则数据库,规则中记