(一)LSM
(1)Linux安全模块(LSM):内核提供的一个轻量级、通用目的访问控制框架,使得很多不同的访问控制模型可作为可加载模块来实现。
(2)原理:LSM采用在内核源代码中放置钩子的方法,对内核内部对象访问进行控制。当用户级进程执行系统调用时,首先查找索引节点,进行错误检查和自主访问控制(DAC),在对索引节点进行访问之前,LSM钩子调用LSM安全模块策略引擎进行安全策略检查,给出是否通过判断。
(3)作用:通过LSM,相关安全组织可根据安全需要开发特定安全模块,挂接到Linux系统。
(4)增强方式:插件式身份验证模块框架(Pluggable Authentication Modules,PAM)、SELinux等。
(二)PAM
通过“插件”增加新的身份验证服务,无须更改原有系统登录服务,如Login、FTP和Telnet
还可使用PAM将UNIX/Linux登录与其他安全机制(如Kerberos)集成在一起
(三)SELinux(Security Enhanced Linux)
采用Flask体系增强Linux访问控制。有利于缓解网络攻击影响。
(1)安全体系:策略和实施
安全体系 | 说明 | |
1 | 策略(封装于安全服务器) | 采取混合安全策略,包括 ①类型实施(Type Enforcement) ②基于角色的访问控制(Role-Based Access Control) ③可选的多级别安全(Optional Multilevel Security) |
2 | 实施(由对象管理器执行) | 设置标记和安全策略规则实施Linux系统强制访问控制。SELinux系统定义用户对应角色,每主体都有一个域(domain),每个客体都有一个类型(type) SELinux安全策略以规则形式表达 SELinux强制访问控制有利于减缓网络攻击影响 |
(2)SELinux安全策略
规则:(allow / auditallow | dontaudit) src type target type:classes permissions;
示例:allow passwd_t shadow_t:file;
解释:允许具有passwd_t域类型的进程读取、写入和创建具有shadow_t类型的文件,目的是passwd程序以passwd_t类型运行,从而可以更改密码文件(/etc/shadow)。