我们专注服务于当下互联网基础设施建设与云计算、大数据时代的各种需求!

限制/tmp分区的执行权限

什么限制执行权限
Linux的提权rootkit基本都是已编译的执行文件。禁止其在/tmp下的运行可降低黑客入侵的可能性。Perl、PHP脚本属于解释型语言,可通过perl/php命令直接调用,即使脚本存放于/tmp也不受限制。

## 案例:
perl /tmp/hack.pl #可运行
/tmp/back.pl #无法运行

确认是否有独立的/tmp分区
运行”df -h”命令,在”Mount On”一列确认是否有”/tmp”信息。
有则存在独立的/tmp分区。

对存在独立/tmp分区的系统限制权限

### 1. 编辑/etc/fstab文件中的/tmp挂载权限,将”defaults”调整为”rw,nosuid,noexec”。
LABEL=/tmp /tmp ext3 rw,nosuid,noexec 1 2

### 2. 使用mount命令重新加载/tmp分区
mount -oremount loop,rw,nosuid,noexec /tmp

对不存在独立/tmp分区的系统限制权限

## 例:创建一个100兆的/tmp分区并禁止执行权限
cd /dev/
dd if=/dev/zero of=Tmp bs=1024 count=100000
mkfs -t ext3 /dev/Tmp
cd /
cp -aR /tmp /tmp_backup
mount -o loop,noexec,nosuid,rw /dev/Tmp /tmp
cp -aR /tmp_backup/* /tmp/
chmod 0777 /tmp
chmod +t /tmp

禁止/var/tmp下的执行权限

cd /var
mv /var/tmp/* /tmp/
ls -alh /var/tmp # 确认数据已全部迁移至/tmp
rm -fR /var/tmp
ln -s /tmp /var/tmp