centos selinux作用是什么
导读:核心作用与价值 在 CentOS 中,SELinux(Security-Enhanced Linux) 是内核级的 强制访问控制(MAC) 安全架构,用来在传统的 DAC(自主访问控制) 之上增加更细粒度的权限边界。它以“最小权限原则”为原...
核心作用与价值
在 CentOS 中,SELinux(Security-Enhanced Linux) 是内核级的 强制访问控制(MAC) 安全架构,用来在传统的 DAC(自主访问控制) 之上增加更细粒度的权限边界。它以“最小权限原则”为原则,限制进程(即使以 root 运行)只能访问策略允许的资源,从而显著降低被攻陷后的横向移动与提权风险。SELinux 最初由 NSA 研发,2000 年开源,2003 年并入上游 Linux 内核,现广泛用于 RHEL/CentOS 等发行版作为系统的重要安全层。
工作原理简述
- 标签化与类型强制:系统为所有主体与客体(进程、文件、端口等)打上 安全上下文,格式通常为 user:role:type:level(其中 type 在常见的 targeted 策略中最关键)。内核在启动与运行过程中维护这些标签。
- 访问决策流程:当进程访问资源时,内核先查 AVC(Access Vector Cache) 缓存;未命中则交由安全服务器,依据策略与安全上下文进行 DAC + MAC 双重检查;若拒绝,会在日志中出现 “avc: denied” 信息。
- 策略类型:常见为 targeted(默认,仅保护关键服务)与 MLS(多级安全,复杂,多见于政府场景)。
运行模式与策略类型
- 运行模式:
- Enforcing:强制执行策略,违规将被阻止并记录。
- Permissive:仅记录违规,不阻断,便于排障。
- Disabled:完全关闭(不建议在生产环境使用)。
- 策略类型:
- targeted:默认策略,面向关键网络服务与进程进行隔离与限制。
- MLS:多级安全,适合对保密性与完整性有严格分级要求的场景。
在 CentOS 中的典型使用场景
- Web 服务隔离:例如限制 httpd 进程仅能读取 httpd_sys_content_t 类型的 Web 内容,无法访问 /etc/shadow 等敏感文件。
- 数据库最小权限:例如 mysqld 仅能读写其数据目录与日志,避免越权访问系统其他目录。
- 合规与审计:通过 AVC 拒绝日志与审计机制,满足安全合规与取证分析需求。
- 容器与虚拟化:与容器运行时集成,为容器进程提供额外的边界隔离。
常用管理命令与注意事项
- 查看与切换模式:
- 查看:
getenforce、sestatus -v - 临时切换:
setenforce 1(Enforcing)或setenforce 0(Permissive)
- 查看:
- 策略与标签管理:
- 端口类型:
semanage port -a -t http_port_t -p tcp 80 - 文件上下文:
chcon -t httpd_sys_content_t /var/www/html;恢复默认:restorecon -Rv /var/www/html - 布尔值:
getsebool -a、setsebool -P httpd_can_network_connect on
- 端口类型:
- 日志与排障:
- 审计日志:
/var/log/audit/audit.log;系统日志:/var/log/messages - 分析工具:
ausearch -m AVC -ts recent、audit2why -av
- 审计日志:
- 重要提示:
- 生产环境建议保持 Enforcing;排障可先用 Permissive 观察,再修复策略与标签,避免直接 Disabled。
- 修改配置后需重启生效;从 Disabled 切换到启用状态时,通常需要为文件系统重新打标签。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos selinux作用是什么
本文地址: https://pptw.com/jishu/767594.html
