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、命令基本用法:

查看模式

RHCE---SELINUX

切换模式,Enforcing/Permissive

RHCE---SELINUX

编辑selinux配置文件,修改完成后重启才能生效

RHCE---SELINUX

查看selinux状态

RHCE---SELINUX

查看selinux值

RHCE---SELINUX

RHCE---SELINUX

RHCE---SELINUX

该文件的context值会随着目录的作用和环境的不同而发生改变,该值会继承上一级目录的context值

RHCE---SELINUX

改变文件的conext值

RHCE---SELINUX

恢复文件的context值

RHCE---SELINUX

查看指定端口的context值

RHCE---SELINUX

2、练习

案例一:使用httpd服务演示context值得设定

查看selinux状态

RHCE---SELINUX

创建web服务内容

RHCE---SELINUX

编辑虚拟主机配置文件

RHCE---SELINUX

修改web服务文件的context值

RHCE---SELINUX

案例二:使用web服务端口的改变来演示端口的设定

编辑虚拟主机配置文件,设置端口为8909

RHCE---SELINUX

添加该自定义端口为服务端口,并重启http服务

RHCE---SELINUX

查看端口8909状态

RHCE---SELINUX

根据参照目录修改context值

RHCE---SELINUX

3、布尔值

案例一:使用图形化界面切换级别

安装图形化界面软件

RHCE---SELINUX

执行

RHCE---SELINUX

RHCE---SELINUX

案例二:使用ftp服务演示布尔值的设定

安装ftp软件

RHCE---SELINUX

修改主配置文件

RHCE---SELINUX

RHCE---SELINUX

RHCE---SELINUX

修改布尔值打开/home目录的权限

RHCE---SELINUX

RHCE---SELINUX

重启服务

RHCE---SELINUX

RHCE---SELINUX

RHCE---SELINUX