为了增加Linux系统安全性,建议将/tmp目录单独的挂载于一个独立的系统分区之上。但是仅仅挂载还不够,需要在挂载时为该分区指定nodev/nosuid/noexec选项,才能提高tmp文件目录的安全性。

背景

临时存储目录,如 /tmp,/var/tmp和/dev/shm等,往往是恶意程序袭击的目标。黑客们在执行攻击的时候,往往将可执行程序放置于该目录之下。恶意用户一般也利用这些临时存储目录执行自己的恶意程序,从而发起对线上系统的破解和攻击。

由于/tmp目录时系统运行必备的目录,那么怎么增强该目录的安全性,尽可能减少系统潜在危险呢?

我们可以通过以下的方法进行设置

配置过程

1.挂载时为/tmp分区添加nodev/nosuid/noexec选项

编辑/etc/fstab文件

 

 

 

 

 

 

Shell

 

vi /etc/fstab

1

vi /etc/fstab

找到/tmp挂载目录的相关配置

例如chris hill当前系统的配置如下

UUID=9abc328b9-3d22-4224-acd6-c48d7b4d3aa4 /tmp   ext4    defaults      1 2

nodev,nosuid,noexec选项增加到第四列defaults参数的后面

UUID=9abc328b9-3d22-4224-acd6-c48d7b4d3aa4 /tmp   ext4   defaults,nodev,nosuid,noexec   1 2

2.挂载时为/dev/shm文件系统添加nodev/nosuid/noexec选项

与第1步的/tmp类似,编辑/etc/fstab

tmpfs  /dev/shm  tmpfs  defaults,nodev,nosuid,noexec 0 0

3.有关/var/tmp设置

有些系统需要使用到/var/tmp目录。

建议设置/var/tmp和/tmp目录同步。

编辑/etc/fatab文件

/tmp /var/tmp none rw,noexec,nosuid,nodev,bind 0 0

4.无需重启系统,使配置生效

设置 /var/tmp 映射到 /tmp 目

 

 

 

 

 

 


mount -o rw,noexec,nosuid,nodev,bind /tmp/ /var/tmp/

1

mount -o rw,noexec,nosuid,nodev,bind /tmp/ /var/tmp/

重新挂载/tmp目录

 

 

 

 

 

 


 

mount -o remount,noexec,nosuid,nodev /tmp

1

mount -o remount,noexec,nosuid,nodev /tmp

重新挂载/dev/shm设备

 

 

 

 

 

 


 

mount -o remount,noexec,nosuid,nodev /dev/shm

1

mount -o remount,noexec,nosuid,nodev /dev/shm

 

5.查看结果

 

 

 

 

 

 


 

mount mount | egrep --color -w '^(tmpfs|/tmp)|/tmp'

1

2

mount

mount | egrep --color -w '^(tmpfs|/tmp)|/tmp'

 

Tips

你也可以创建一个类似于/tmpfile/tmpfile.bin的文件,通过挂载该文件作为应用程序运行的临时存储空间。

例如

/tmpfile/tmpfile.bin  /tmp ext4  rw,noexec,nosuid,nodev,bind  0 0