RHCE---SELINUX
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
SELinux定义了系统中每个【用户】、【进程】、【应用】和【文件】的访问和转变的权限,然后它使用一个安全策略来控制这些实体(用户、进程、应用和文件)之间的交互,安全策略指定如何严格或宽松地进行检查。
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
权限管理机制:
DAC自主访问控制:在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(rwx、u+s、g+s、o+t)。
MAC强制访问控制:在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。
安全上下文是SELinux的核心,可分为“进程完全上下文”和“文件安全上下文”
SELinux的三种工作模式:enforcing 强制模式、permissive宽容模式、disabled 关闭SELinux
enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换;从 disabled 切换到 enforcing 或者 permissive,需要重启系统,反过来也一样。
1、命令基本用法:
查看模式
切换模式,Enforcing/Permissive
编辑selinux配置文件,修改完成后重启才能生效
查看selinux状态
查看selinux值
该文件的context值会随着目录的作用和环境的不同而发生改变,该值会继承上一级目录的context值
改变文件的conext值
恢复文件的context值
查看指定端口的context值
2、练习
案例一:使用httpd服务演示context值得设定
查看selinux状态
创建web服务内容
编辑虚拟主机配置文件
修改web服务文件的context值
案例二:使用web服务端口的改变来演示端口的设定
编辑虚拟主机配置文件,设置端口为8909
添加该自定义端口为服务端口,并重启http服务
查看端口8909状态
根据参照目录修改context值
3、布尔值
案例一:使用图形化界面切换级别
安装图形化界面软件
执行
案例二:使用ftp服务演示布尔值的设定
安装ftp软件
修改主配置文件
修改布尔值打开/home目录的权限
重启服务