一、SELinux简介
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。
SELinux 的结构及配置非常复杂,而且有大量概念性的东西,如果可以熟练掌握 SELinux 并正确运用,我觉得整个系统基本上可以到达"坚不可摧"的地步了,当然没有绝对的安全。
二、SELinux 的工作模式
SELinux 有三种工作模式,SELinux 工作模式可以在 /etc/selinux/config 中设定。分别是:
1. enforcing:强制模式。强制启用安全策略模式,将拦截服务的不合法请求,违反 SELinux 规则的行为将被阻止并记录到日志中。
2. permissive:宽容模式。遇到服务越权访问时,只发出警告而不强制拦截。
违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
3. disabled:关闭 SELinux。对于越权的行为不警告也不拦截。
如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。
可以运行getenforce 命令获得当前SELinux服务的运行模式:
三、SELinux 域和SELinux 安全上下文
“SELinux 域”和“SELinux 安全上下文”称为是Linux 系统中的双保险,系统内的服务程序只能规规矩矩地拿到自己所应该获取的资源,这样即便黑客入侵了系统,也无法利用系统内的服务程序进行越权操作。
SELinux 域:限制了服务的功能(例如不能让美图软件抓取用户的银行卡与密码信息)
SELinux 安全上下文:文件权限的限制(例如银行卡信息上加上限制,仅限网银软件使用)