Linux系统selinux工作模式下安全上下文的设置以及端口的更改

    SELinux是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。

       selinux分为三种工作状态:

           enforcing模式:selinux的正常工作模式即开启状态,这时的selinux就像一个保护程序,自动禁止进行对系统安全有威胁的操作。

           disable模式:selinux功能的关闭模式,不会对威胁操作进行组织,系统将不受保护。

           permissive模式:允许违规操作的进行,但是会用日志的方式记录下来。

###(以下操作均在vsftpd服务安装并开启,lftp服务安装,防火墙关闭或者防火墙允许ftp服务访问的状态下进行)

1.通过设置安全上下文,来决定ftp目录里面的内容是否可被连接用户查看到:

        使用getenforce指令可以查看selinux的状态,编辑配置文件/etc/sysconfig/selinux可以配置selinux的工作模式,配置完成后需要重启后生效:


      设置selinux为正常工作模式:


   重启后,在/mnt目录下建立文件file1,并将文件移动到/var/ftp即连接本机用户的默认目录下,使用ls -Z /var/ftp可以查看到安全上下文:


使用lftp连接到本机后,由于selinu功能的开启,并不能看到在该目录下的文件file1:


将selinux设置为警告模式后,也就是说允许该操作的执行。这样在连接到的目录里就又可随意看到文件file1了,但设置为警告模式后,selinux就会允许违规操作的执行了,这样对系统来说并不是很安全。想要允许该操作的执行但又不影响到系统的安全性,可以通过设置文件的安全山下文来实现:


设置文件file1的安全上下文为public_content_t,就可以在不影响系统安全的情况下查看到file1文件了:


2.设置目录的安全上下文:

   在根目录下建立目录,并在该目录下建立文件。编辑vsftpd服务的配置文件,将lftp服务连接后的默认所在目录修改为/westos:


在vsftpd服务配置完成后重启vsftpd服务使配置生效:


在vsftpd服务重启之后,修改目录的安全上下文:


使用restorecon -FvvR /westos指令刷新设置之后,连接本机就可以看到westos目录里面的文件了:


3.使用setsebool给程序添加功能开关:

     在selinux关闭的情况下,上传文件的权限可以通过配置vsftpd.conf文件来设置

    当selinux开启之后,上传文件的权限就会受到限制。这时候就需要使用setsebool功能来进行设置了:


  使用getsebool -a | grep ftp指令可以查看到关于ftp的功能开启的情况,其中文件的上传权限包含在ftp_home_dir开关里:


使用setsebool -P ftp_home_dir on 开启功能:


当功能开启之后就可以上穿文件了:


4.配置端口:

    配置http服务的端口,需要下载http并开启服务:


  编辑/etc/httpd/conf/httpd.conf文件,设置端口为6666并保存退出:


在配置完成后,重启httpd服务会出错,将selinux设置为警告模式后就可以重启了:


查看httpd服务的端口情况:


设置端口为6666:


设置成功者之后就可以看到6666已经被添加到端口中了:


猜你喜欢

转载自blog.csdn.net/letter_a/article/details/80344144
今日推荐