Linux-selinux安全防护

# Selinux是什么?
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。

安全selinux的设置

  • 将Linux服务器的SELinux设为enforcing强制模式
  • 从/root目录下移动一个包文件到FTP下载目录,调整策略使其能够被下载
  • 在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问

Linux服务器的SELinux设为enforcing强制模式

固定模式:
vim /etc/selinux/config
    SELINUX=enforcing                   #设置SELinux为强制模式
    SELINUXTYPE=targeted            #保护策略为保护主要的网络服务安全
临时模式:
    setenforce (0|1)                #设置selinux模式,0模式管控模式,1宽松模式
    getenforce                      #获取当前的selinux的工作模式

在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问

环境:配置一个允许匿名上传的vsftpd服务作为测试环境

yum –y install vsftpd
 vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES                        #开启匿名访问
write_enable=YES
anon_upload_enable=YES                      #允许上传文件
anon_mkdir_write_enable=YES             #允许上传目录
[root@svr5 ~]# systemctl start vsftpd       #启动服务

从/root目录下移动2个包文件到FTP下载目录,调整文件的安全上下文

环境:建立两个FTP下载用的测试文件

由root用户创建两个测试压缩包,一个直接建立到/var/ftp/目录下,另一个先在/root/下建立,然后移动至/var/ftp/目录。

实验过程:

#测试文件1,直接在ftp目录下创建文件
[root@svr5 ~]# tar –czf  /var/ftp/log1.tar  /var/log
[root@svr5 ~]# mv log1.tar /var/ftp/
[root@svr5 ~]# ls -lh /var/ftp/
-rw-r--r--. 1 root root 8M 8月  16 10:16 log1.tar
[root@svr5 ~]# ls -Z /var/ftp/
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log1.tar
#测试文件2,在/root下建立,然后移动至/var/ftp目录
[root@svr5 ~]# tar –czf  log2.tar  /var/log
[root@svr5 ~]# mv log2.tar /var/ftp/
[root@svr5 ~]# ls -lh /var/ftp/
-rw-r--r--. 1 root root 8M 8月  16 10:16 log2.tar
[root@svr5 ~]# ls -lZ /var/ftp/
-rw-r--r--. 1 root root unconfined_u:object_r:admin_home_t:s0 log2.tar

通过FTP方式测试下载

[root@svr5 ~]# wget ftp://192.168.4.5/log1.tar          #下载第一个文件,成功
[root@svr5 ~]# wget ftp://192.168.4.5/log2.tar          #下载第二个文件,失败

检查该测试包的安全上下文,正确调整后再次下载第二个包成功。

[root@svr5 ~]# ls -lZ /var/ftp/
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log1.tar
-rw-r--r--. 1 root root unconfined_u:object_r:admin_home_t:s0   log2.tar
[root@svr5 ~]# chcon -t public_content_t /var/ftp/d2.tar.gz
[root@svr5 ~]# ls -Z /var/ftp/lo2.tar
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log2.tar
[root@svr5 ~]# wget ftp://192.168.4.5/log2.tar            //再次下载,成功

Linux-selinux安全防护》有3个想法

  1. I would like to thank you for the efforts you’ve put in writing this website. I am hoping the same high-grade web site post from you in the upcoming as well. Actually your creative writing abilities has inspired me to get my own site now. Really the blogging is spreading its wings quickly. Your write up is a great example of it.

  2. I’ve been browsing online more than 3 hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. In my view, if all website owners and bloggers made good content as you did, the internet will be much more useful than ever before.

发表评论