selinux内核加强型防火墙对ftp,http部署影响,troubleshooting

SELINUX

1.什么是selinux?疑问

  selinux ,内核加强型防火墙

  SElinunx实现了一个更灵活的MAC形式,叫做类型强制(Ttpe Enforcement)和一个非强制的多层安全形式(Multi-Level)

2.如何管理selinux级别?
selinux开启或者关闭

vim /etc/sysconfig/selinux

  selinux=Disabled   #关闭状态
  selinux=Enforcing  #强制状态
  selinux=Permissive #警告状态
3.查看selinux级别:
cat enforce 或者 getenforce

  1:enforcing  mode
  0:permissive mode  

##在切换selinux状态时,只要是从disabled的相关切换,都需要讲系统重启才能生效
4.selinux 1 强制级别对ftp部署影响: 
 
  1  getsebool -a | grep ftp 

  2  setenforce 0 #把selinux的模式改成警告模式。可以执行,不会被拒绝,但是有警告
  
  3  lftp 172.25.254.132 -u student
  
  4  put /etc/group #可以执行
  
  5  setenforce 1 #将selinux改成强制模式,
  
  6  getsebool -a | grep ftp

  7  lftp  172.25.254.132 -u student

  8  put /etc/group #报553权限过小的错误


 #setenforce 为0模式时,为警告模式,当执行上传文件时是被允许的,但是会有警告warning,而强制模式1直接不可以被执行

 

  9  ls -ld /home/student/ #查看文件属性
  
  10 chmod u+rwx /home/student #给student本身一个权限,使文件所有人可以对其进行操作
  
  11 setsebool ftp_home_dir on #把ftp_home_dir 的功能打开,即可以本地用户上传文件
  
  12 getsebool -a | grep ftp #查看ftp权限功能
  # setsebool anon_write on #打开匿名用户可写的功能
  # getsebool -a | grep ftp #查看ftp部署管理
  
  13 lftp 172.25.254.132 -u student #登陆student用户
  
  14 put /etc/group #上传是被允许的,因为功能被开启

5.setforce 1 对http部署影响:
  1  yum install httpd
 
  2  vim /etc/httpd/conf/httpd.conf
     Listen 6666#该端口系统是没有的,系统默认http的tcp端口80
  3  setenforce 1 #selinux为强制级别,当selinux为警告模式时,重启httpd是可以的
  
  4  systemctl restart httpd #失败
  
  5  journalctl -xn
  
  6  semanage port -l | grep http #查看http的所有端口
 
  7  semanage port -a -t http_port_t -p tcp 6666 #将6666添加到http服务的tcp端口列表中

  8  systemctl restart httpd

 9  semanage port -l | grep http #测试,查看6666是否被添加到http的tcp端口列表中

 
 semanage port -d -t http_port_t -p tcp 6666 #删除在http中添加的tcp端口列表中的6666

 semanage port -l | grep http #查看是否还有6666端口

 

 端口:port是计算机和外界通讯交流的出口

 cat /etc/services | grep ftp #查看ftp中所有端口以及对应协议


6.setroubleshoot

    1  vim /etc/vsftpd/vsftpd.conf #修改家目录


    2  systemctl restart vsftpd.service #重启该服务
    
    3  touch /mnt/westos1 #建立文件
    
    4  mv /mnt/westos1 /var/ftp #重命名
    
    5  > /var/log/messages #清空日志
    在浏览器中访问ftp://172.25.254.132/westos1 #报550

  6  cat /var/log/messages #查看日志,会提供一个解决方案,这个方案是由setroubleshoot提供的
   
  7  restorecon -v /var/ftp/* #解决方案,执行该命令
    再次访问/westos,是被允许的


   
    8  rpm -qa | grep selinux  #过滤selinux相关安装信息
   
    9  rpm -qa | grep setrouble #查看setrouble有关的安装包
  测试:
  
   10  yum remove setroubleshoot-server-3.2.17-2.el7.x86_64 #卸载安装包
  
   11  > /var/log/messages #清空日志
   
   12  > /var/log/audit/audit.log #该日志是访问ftp过程中生成的日志文件
  
   13  touch /mnt/westos2 #再次建立一个文件重命名到/var/ftp中
  
   14  mv /mnt/westos2 /var/ftp
  
   在卸载setroubleshoot之后第一次访问ftp
  
   15  cat /var/log/messages #查看日志文件,文件中没有提供相应的解决方案以及相关的日志信息
  
   16  cat /var/log/audit/audit.log
   
   17  yum install setroubleshoot-server-3.2.17-2.el7.x86_64 #安装后查看再次访问时是否会在/var/log/messages中生成解决方案
  
   18  cat /var/log/messages #该日志没有提供解决方法,也没有指定出现该问题应该生成日志位置
    
   19  restorecon -v /var/ftp/*




猜你喜欢

转载自blog.csdn.net/dreamer_xixixi/article/details/80348655
今日推荐