1.1.2 Ensure separate partition exists for /tmp (Scored)

Level 2 - Server 
Level 2 - Workstation

The /tmp directory is a world-writable directory used for temporary storage by all users and some applications.

Since the /tmp directory is intended to be world-writable, there is a risk of resource exhaustion if it is not bound to a separate partition. In addition, making /tmp its own file system allows an administrator to set the noexec option on the mount, making /tmp useless for an attacker to install executable code. It would also prevent an attacker from establishing a hardlink to a system setuid program and wait for it to be updated. Once the program was updated, the hardlink would be broken and the attacker would have his own copy of the program. If the program happened to have a security vulnerability, the attacker could continue to exploit the known flaw.

Run the following command and verify output shows /tmp is mounted:

# mount | grep /tmp 
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)

For new installations, during installation create a custom partition setup and specify a separate partition for /tmp.
For systems that were previously installed, create a new partition for /tmp if not using tmpfs.
Run the following commands to enable systemd /tmp mounting:

# systemctl unmask tmp.mount 
# systemctl enable tmp.mount

Edit /etc/systemd/system/local-fs.target.wants/tmp.mount to configure the /tmp mount:

[Mount] 
What=tmpfs 
Where=/tmp 
Type=tmpfs 
Options=mode=1777,strictatime,noexec,nodev,nosuid

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.

AJ Lewis, “LVM HOWTO”, http://tldp.org/HOWTO/LVM-HOWTO/

  • centos7/1/1/2.txt
  • Last modified: 2017/05/04 04:04
  • by 127.0.0.1