Linux安全性:使用nodev,nosuid和noexec选项挂载/tmp

时间:2020-01-09 10:41:13  来源:igfitidea点击:

如何使用nodev,nosuid和noexec选项挂载/tmp以提高基于Linux的Web服务器的安全性?
在Linux操作系统下,如何在/dev/shm中添加nodev,nosuid和noexec选项?
临时存储目录(例如/tmp,/var/tmp和/dev/shm)为恶意可执行文件提供存储空间。

黑客将可执行文件存储在/tmp中。
恶意用户可以使用临时存储目录执行不需要的程序并破解服务器。

将nodev,nosuid和noexec选项添加到/tmp

编辑文件"/etc/fstab",执行:

# vi /etc/fstab

找到/tmp行:

UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp                    ext4    defaults        1 2

将文本,nodev,nosuid,noexec追加到第4列的安装选项列表中。
最后,您的输入应如下所示:

UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp                    ext4    defaults,nodev,nosuid,noexec        1 2

保存并关闭文件。

将nodev,nosuid和noexec选项添加到/dev/shm

编辑文件"/etc/fstab",执行:

# vi /etc/fstab

找到/dev/shm行:

tmpfs                   /dev/shm                tmpfs   defaults        0 0

将文本,nodev,nosuid,noexec追加到第4列的安装选项列表中。
最后,您的输入应如下所示:

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

保存并关闭文件。

关于/var/tmp的说明

确保将/var/tmp绑定到/tmp。
编辑文件"/etc/fstab",执行:

# vi /etc/fstab

追加以下行:

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

保存并关闭文件。

设置nodev,nosuid和noexec选项,而无需重新启动Linux服务器

以root用户身份执行以下命令:

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

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

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

验证新设置:

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

如何将/tmp挂载为文件系统?

您可以使用名为/images/tmpfile.bin的文件将$jail/tmp挂载为单独的文件系统,并在Linux之类的操作系统下使用noexec,nosuid,nodev选项。