|
知识路径: > 操作系统安全保护 > UNIX/Linux操作系统安全分析与防护 > UNIX/Linux操作系统安全防护(系统安全增强方法和流程、系统安全增强工具与产品、系统常见漏洞与解决方法等) >
|
相关知识点:42个
|
|
|
|
Linux安全模块(LSM)为Linux内核提供了一个轻量级的、通用目的的访问控制框架,使得很多不同的访问控制模型可以作为可加载模块来实现。LSM采用了在内核源代码中放置钩子的方法,对内核内部对象的访问进行控制。当用户级进程执行系统调用时,首先查找索引节点,进行错误检查和自主访问控制(DAC),在对索引节点进行访问之前,LSM钩子调用LSM安全模块策略引擎进行安全策略检查,给出是否通过判断,如下图所示。
|
|
|
|
|
通过LSM,相关安全组织可以根据安全需要开发特定的安全模块,挂接到Linux操作系统。目前,采取这种方式来增强Linux安全的主要有插件式身份验证模块框架(Pluggable Authentication Modules,PAM)、SELinux等。
|
|
|
|
如下图所示,通过“插件”增加UNIX/Linux新的身份验证服务,而无须更改原有的系统登录服务,例如Login、FTP和Telnet。同时,可以使用PAM将UNIX/Linux登录与其他安全机制(例如Kerberos)集成在一起。
|
|
|
|
|
|
SELinux是Security Enhanced Linux的缩写,采用Flask体系增强Linux访问控制,如下图所示。SELinux安全体系由策略和实施组成,策略封装在安全服务器中,实施由对象管理器具体执行。
|
|
|
|
|
SELinux的安全服务器采取混合的安全策略,主要包括类型实施(Type Enforcement)、基于角色的访问控制(Role-Based Access Control)和可选的多级别安全性(Optional Multilevel Security)。SELinux通过设置标记和安全策略规则实施Linux系统的强制访问控制。其中,SELinux系统定义用户对应相应角色,每个主体都有一个域(domain),每个客体都有一个类型(type)。SELinux的安全策略以规则形式表达。格式如下:
|
|
|
|
|
|
该规则的表示含义是:允许具有passwd_t域类型的进程读取、写入和创建具有shadow_t类型的文件,其目的是passwd程序以passwd_t类型运行,从而可以更改密码文件(/etc/shadow)。
|
|
|
SELinux的强制访问控制有利于减缓网络攻击影响。假如将Apache进程标记为httpd_t,并将Apache内容标记为httpd_sys_content_t和httpd_sys_content_rw_t,而将信用卡数据存储在标记为mysqld_data_t的MySQL数据库中。当Apache进程被黑客入侵,虽然黑客可以控制httpd_t进程,并被允许读取httpd_sys_content_t文件并写入httpd_sys_content_rw_t。但是,Apache进程不允许黑客读取信用卡数据mysqld_data_t。
|
|
|