1.1.2.5.1 Ensure separate partition exists for /var/tmp

Information

The /var/tmp directory is a world-writable directory used for temporary storage by all users and some applications. Temporary files residing in /var/tmp are to be preserved between reboots.

The default installation only creates a single / partition. Since the /var/tmp directory is world-writable, there is a risk of resource exhaustion. In addition, other operations on the system could fill up the disk unrelated to /var/tmp and cause potential disruption to daemons as the disk is full.

Configuring /var/tmp as its own file system allows an administrator to set additional mount options such as noexec/nosuid/nodev . These options limit an attacker's ability to create exploits on the system.

Files in /var/tmp are expected to be preserved between reboots (FHS 3.0 5.15), so it must reside on persistent (non-volatile) storage.

Solution

Configure /var/tmp as a separate mount on persistent (non-volatile) storage.

New installations: During installation, create a custom partitioning layout and assign a separate partition or logical volume to /var/tmp.

Existing systems: Create a new filesystem for /var/tmp and add it to the mount table. For example, using LVM (adjust the volume group, size, and device to suit the host):

# lvcreate -L <size> -n var_tmp <vg_name>
# mkfs.ext4 /dev/<vg_name>/var_tmp

Add the mount to /etc/fstab :

/dev/<vg_name>/var_tmp /var/tmp ext4 defaults,nodev,nosuid,noexec 0 0

Migrate the existing contents into the new filesystem and activate the mount using the repartitioning steps in the section overview, then run mount /var/tmp (or reboot).

Impact:

Resizing filesystems is a common activity in cloud-hosted servers. Separate filesystem partitions may prevent successful resizing or may require the installation of additional tools solely for the purpose of resizing operations. The use of these additional tools may introduce their own security considerations.

See Also

https://workbench.cisecurity.org/benchmarks/27890

Item Details

Category: CONFIGURATION MANAGEMENT

References: 800-53|CM-7

Plugin: Unix

Control ID: 3ca6fca6f62effcd67cae8b23cb3eff1d8f4cf7eeefd4d1b36d9472bbffda0a0