Linux-selinux

一、selinux 内核级防火墙

     1.三种级别

         (1) Enforcing(强制)       强制,警告+拒绝    不能访问

         (2) Permissive(警告)    警告不拒绝               可访问,但会产生日志

         (3) Disabled(关闭)         不拒绝,不警告      可正常访问

       ###   (1)和(2) 转换不需要重启                   (1)和(3) 、(2)和(3) 转换需要重启

            vim /etc/sysconfig/selinux

          

            ####  getenforce     查看内核级别                      

            #### setenforce 0   由 Enforcing 转换为 Permissive
            #### setenforce 1   由 Permissive 转换为 Enforcing

     2.三种内核级别的实验效果

        (1)实验环境

                  a. 重置虚拟机     b.重置网络    c.关闭防火墙,开机不自启    d. 安装vsftpd,设置自启

        (2) 实验效果

                   a.    SELINUX= enforcing    

                   b.   SELINUX=permissive                 客户端登陆,可看到所有文件,但浏览hi文件时会产生警告日志 

                     

                      

                     c.   SELINUX=disabled

                          切换为  disabled  需要重启

                          

                         

二、安全上下文(安全标签)

          ps   auxZ  |  grep  vsftpd    查看程序的安全标签

          ls   -Z      查看文件的安全标签

         a. SELINUX=disabled            



         b. SELINUX= enforcing



          c. SELINUX=permissive


三、文件的安全上下文设置

   1.修改ftp 的默认发布目录

       配置文件  /etc/vsftpd/vsftpd.conf

        systemctl restart vsftpd.service

   

   2. 创建目录westos及创建文件/westos/file

   

   3.临时修改上下文


 

        此时文件不能被查看,需要修改安全上下文

          chcon  -t  public_content_t  /westos/  -R



     可以登陆,但是在重新开启(SELINUX= enforcing)会失效,  安全上下文恢复为 default_t 


4.永久修改上下文   ##安全上下文列表

    a. 查看安全上下文列表

        semanage   fcontext   -l   |   grep   /var/ftp


    b.将指定目录加入安全上下文列表


    c.重新加载安全上下文列表      restorecon -Rvvf /westos/


     d.   查看文件的安全标签  ls -Zd  /westos/


四、selinux 的bool值

1.查看selinux中服务的bool值  getsebool -a


2.当ftp_home_dir 功能关闭时,本地用户登陆不能后操作


3.修改sebool值,打开服务

    setsebool    -P    ftp_home_dir    1

   -P   ##永久修改      0  ##关闭服务      1  ##开启服务


4.打开ftp_home_dir功能时,本地用户登陆后具备相应权限


5.当客户端登陆报错时,/var/log/messages日志中

   日志信息:


     注意:日志给出的解决方案,安全性不好!!

  ##该功能由setroubleshoot软件提供,若没有该软件,则系统不会给出解决方案

  而selinux服务本身产生的日志存放在/var/log/audit/audit.log中:


猜你喜欢

转载自blog.csdn.net/lj_11111/article/details/80038258
今日推荐