linux系统下的selinux初级管理

一、selinux的安全性

1、selinux内核级加强型防火墙,是可以保护系统安全性的额外机制。

2、selinux的功能

            限制服务的功能

             限制服务访问功能

3、验证selinux的两个功能

1)在服务端/mnt/目录下建立westos文件,并将westos移动到/var/ftp/pub/下

linux系统下的selinux初级管理

2)匿名登陆lftp服务,发现westos转移了过去

linux系统下的selinux初级管理

以上操作是在selinux=disabled的前提下实现的

3)编辑配置文件/etc/sysconfig/selinux,来开启selinux服务,并重启

linux系统下的selinux初级管理

linux系统下的selinux初级管理

4)在/mnt/目录下建立hello文件,并且将该文件移动到/var/ftp/pub下

linux系统下的selinux初级管理

5)匿名登陆lftp服务,发现hello文件不存在

linux系统下的selinux初级管理

以上为selinux的安全保护机制

二、selinux的级别

1、selinux分为三个级别:开启(enforcing也就是强制),警告(permissive)和关闭(disabled)。

2、enforcing,permissive向disabled相互转换时。需要在配置文件/etc/sysconfig/selinux中修改并且重启才能生效。

enforcing和permissive之间的相互转换用命令执行即可生效,不需要重启。

3、getenforce                  ##查看selinux的状态

linux系统下的selinux初级管理

setenforce 0                       ##由开启转换到了警告状态

linux系统下的selinux初级管理

setenforce 1                       ##由警告转换到了开启状态

linux系统下的selinux初级管理

修改配置文件vim /etc/sysconfig/selinux,并且重启,是将开启向关闭状态转换

linux系统下的selinux初级管理

linux系统下的selinux初级管理

linux系统下的selinux初级管理

三、安全上下文

vsftpd只识别public_content_t的标签

上面查看不了的文件hello在/mnt/目录之下,它是mnt_t的标签,所以lftp查看不了

1、ls   -Z                                   ##查看文件的安全上下文

linux系统下的selinux初级管理

2、ls    -Zd                                ##查看目录的安全上下文

linux系统下的selinux初级管理

  3、ps  auxZ |  grep   vsftpd                ##查看ftp服务的安全上下文

     linux系统下的selinux初级管理

4、chcon   -t   安全上下文  文件               ##临时修改文件的安全上下文

linux系统下的selinux初级管理

5、chcon    -t     安全上下文    目录              ##临时更改目录的安全上下文

linux系统下的selinux初级管理

6、永久修改文件的安全上下文

1)建立目录/test,在目录之下建立文件file{1..3}

linux系统下的selinux初级管理

ls   -Zd     /test                   ##查看目录/test本身的安全上下文

ls   -Zd    /test/*                 ##查看/test目录下文件的安全上下文

2)semanage    fcontext   -a   -t    public_content_t   '/test(/.*)?'                  ##在内核安全上下文列表中将/test/目录下的所有文件的安全上下文更改为public_content_t

linux系统下的selinux初级管理

3)restorecon   -FvvR     /test/*                  ##刷新/test目录下的所有文件的安全上下文,使其变成同种类型

(F表示指向,vv表示过程,R表示递归)

linux系统下的selinux初级管理

semanage    fcontext   -l   |    grep  test                ##查看与/test有关的安全上下文

linux系统下的selinux初级管理

7、删除文件的安全上下文

semanage    fcontext   -d    '/test(/.*)?‘                ##删除内核上的安全上下文列表的/test

四、在selinux开启的情况下其影响程序功能

注意:

      在ftp服务中,若将ftpd_full_access打开后,selinux将不再限制ftp服务的功能,一般情况下不要打开。

1、getsebool  -a   |    grep   ftp                      ##查看关于ftp的所有sebool值

linux系统下的selinux初级管理

2、setsebool    -P     ftpd_anon_write   on                                           ##打开ftp匿名用户写的功能(-P表示永久修改)

linux系统下的selinux初级管理

3、setsebool    -P   ftpd_anon_write   off                                         ##关闭ftp匿名用户写的功能

linux系统下的selinux初级管理

4、在sellinux开启的情况下,实现lftp去上传文件

1)安装vsftpd,开启vsftpd,并实现其开机自启,修改火墙配置文件

linux系统下的selinux初级管理

linux系统下的selinux初级管理

2)修改vsftpd服务的配置文件vim   /etc/vsftpd/vsftpd.conf,打开文件上传的功能,重启vsftpd服务

linux系统下的selinux初级管理

3)chcon    -t   修改文件的安全上下文,增加写的功能

linux系统下的selinux初级管理

4)setsebool打开ftp匿名用户write的功能

linux系统下的selinux初级管理

5)改变/var/ftp/pub的组为ftp,并且赋予组写的权限

linux系统下的selinux初级管理

6)开始在selinux未开启的情况下,匿名用户上传不了文件,但是现在可以

linux系统下的selinux初级管理

五、监控selinux冲突

selinux冲突的唯一标识符(UUID),可用于收集更多信息

/var/log/audit/audit.log      用于在该文件中生成所有事件的报告

selinux删除文件产生错误信息

linux系统下的selinux初级管理

这些错误会通过setroubleshoot-server倾听/var/log/audit/audit.log中的审核信息并将简短摘要发送到/var/log/messages

所有的报错信息在/var/log/audit/audit.log中,只会报错,不会告诉你如何解决

linux系统下的selinux初级管理