19.3.7 UNIX/Linux安全模块应用参考

2025-06-16 09:31:08 更新

(一)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)。