服务器大本营

 找回密码
 我要入营

微信扫码 , 快速开始

QQ登录

只需一步,快速开始

查看: 85|回复: 0

驰网飞飞教你如何保护Linux系统安全----SELinux安全防护

[复制链接]

1万

敬重

526

主题

207

精华

管理员

积分
6791

启航之章进阶之印里程之碑突破之证飞跃之星蜕变之勋卓越之路龙年行大运

QQ
发表于 2024-7-8 11:26:17 | 显示全部楼层 |阅读模式

我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!

您需要 登录 才可以下载或查看,没有账号?我要入营

x
SELinux安全防护
1、将Linux服务器的SELinux设为enforcing强制模式
2、从/root目录下移动一个包文件到FTP下载目录,调整策略使其能够被下载

步骤一:将Linux服务器的SELinux设为enforcing强制模式
1)固定配置:修改/etc/selinux/config文件
确认或修改SELINUX为enforcing模式:
  1. [root@proxy ~]# vim /etc/selinux/config
  2. SELINUX=enforcing                                //设置SELinux为强制模式
  3. SELINUXTYPE=targeted                            //保护策略为保护主要的网络服务安全
复制代码

2)临时配置:使用setenforce命令
查看当前SELinux状态,如果是disabled则需要根据第1)步的配置重启系统;如果是permissive则使用setenforce命令修改为enforcing即可:
  1. [root@proxy ~]# getenforce                        //查看当前状态为警告模式
  2. Permissive
  3. [root@proxy ~]# setenforce 1                      //设置SELinux为强制模式
  4. [root@proxy ~]# getenforce                        //查看当前模式为强制模式
  5. Enforcing
  6. [root@proxy ~]# setenforce 0                      //设置SELinux为强制模式
  7. [root@proxy ~]# getenforce                        //查看当前模式为警告模式
  8. Permissive
复制代码

步骤二:在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问
1)配置一个允许匿名上传的vsftpd服务作为测试环境
  1. [root@proxy ~]# setenforce 1
  2. [root@proxy ~]# yum -y install vsftpd
  3. .. ..
  4. [root@proxy ~]# vim /etc/vsftpd/vsftpd.conf
  5. anonymous_enable=YES                                  //开启匿名访问
  6. anon_upload_enable=YES                              //允许上传文件
  7. anon_mkdir_write_enable=YES                          //允许上传目录
  8. [root@proxy ~]# systemctl start vsftpd                //启动服务
复制代码
//默认Vsftpd共享目录为/var/ftp/

步骤三:从/root目录下移动2个包文件到FTP下载目录,调整文件的安全上下文
1)建立两个FTP下载用的测试文件
由root用户创建两个测试压缩包,一个直接建立到/var/ftp/目录下,另一个先在/root/下建立,然后移动至/var/ftp/目录。
//测试文件1,直接在ftp目录下创建文件
  1. [root@proxy ~]# tar -czf  /var/ftp/log1.tar  /var/log
  2. [root@proxy ~]# ls -lh /var/ftp/
  3. -rw-r--r--. 1 root root 8M 8月  16 10:16 log1.tar
  4. [root@proxy ~]# ls -Z /var/ftp/
  5. -rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log1.tar
复制代码

//测试文件2,在/root下建立,然后移动至/var/ftp目录
  1. [root@proxy ~]# tar -czf  log2.tar  /var/log
  2. [root@proxy ~]# mv log2.tar /var/ftp/
  3. [root@proxy ~]# ls -lh /var/ftp/
  4. -rw-r--r--. 1 root root 8M 8月  16 10:16 log2.tar
  5. [root@proxy ~]# ls -Z /var/ftp/
  6. -rw-r--r--. 1 root root unconfined_u:object_r:admin_home_t:s0 log2.tar
复制代码

2)通过FTP方式测试下载
使用wget命令分别下载这两个包文件,第二个包将会下载失败(看不到文件)。
  1. [root@proxy ~]# wget ftp://192.168.4.5/log1.tar            //下载第一个文件,成功
  2. [root@proxy ~]# wget ftp://192.168.4.5/log2.tar            //下载第二个文件,失败
复制代码

3)检查该测试包的安全上下文,正确调整后再次下载第二个包成功。
文件已经存放到共享目录下,但客户端无法访问下载,是因为被SELinux拦截了!
  1. [root@proxy ~]# ls -Z /var/ftp/
  2. -rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log1.tar
  3. -rw-r--r--. 1 root root unconfined_u:object_r:admin_home_t:s0   log2.tar
  4. [root@proxy ~]# chcon -t public_content_t /var/ftp/d2.tar.gz
  5. [root@proxy ~]# ls -Z /var/ftp/log2.tar
  6. -rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log2.tar
  7. [root@proxy ~]# wget ftp://192.168.4.5/log2.tar            //再次下载,成功
复制代码
注意:上例中的chcon操作可替换为(效果相同): restorecon /var/ftp/log2.tar.gz 或者 chcon --reference=/var/ftp/log1.tar.gz /var/ftp/log2.tar.gz

感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
一入IDC深似海,从此你我是良人!
您需要登录后才可以回帖 登录 | 我要入营

本版积分规则

Loading...

QQ|Archiver|手机版|网站地图|服务器大本营 ( 赣ICP备2021009089号 )

GMT+8, 2024-7-20 14:24 , Processed in 0.078210 second(s), 25 queries , Gzip On.

Powered by 服务器大本营

© 2021-2023 联系飞飞

快速回复 返回顶部 返回列表