检查项:
Ensure mounting of cramfs filesystems is disabled
检查项:
确保"禁用CramFS文件系统"
描述:
CramFS文件系统是专门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3.CramFS文件系统并不需要一次性地将文件系统中的所有内容解压到ram,而只是当系统需要访问某个位置的数据时,马上计算出该数据在cramfs中的位置,将其解压到ram中,然后通过内存访问来获取数据,嵌入式中有利于节约资源。
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。
配置方法:
1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件中
install cramfs /bin/true
检测方法:
输入命令,结果如下:
# modprobe -n -v cramfs
install /bin/true
# lsmod | grep cramfs
检查项:
Ensure mounting of freevxfs filesystems is disabled
检查项:
确保"禁用freevxfs文件系统"
描述:
freevxfs文件系统是Veritas文件系统的一个免费版本;主要用于HP-UX;
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。
配置方法:
1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件中
install freevxfs /bin/true
检测方法:
输入命令,结果如下:
# modprobe -n -v freevxfs
install /bin/true
# lsmod | grep freevxfs
检查项:
Ensure mounting of jffs2 filesystems is disabled
检查项:
确保"禁用jffs2文件系统"
描述:
JFFS2的全名为JournallingFlashFileSystemVersion2(闪存日志型文件系统第2版),其功能就是管理在MTD设备上实现的日志型文件系统。
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。
配置方法:
1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件中
install jffs2 /bin/true
检测方法:
输入命令,结果如下:
# modprobe -n -v jffs2
install /bin/true
# lsmod | grep jffs2
检查项:
Ensure mounting of hfs filesystems is disabled
检查项:
确保"禁用hfs文件系统"
描述:
hfs是一种允许你加载Mac OS文件系统的混合文件系统。
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。
配置方法:
1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件
install hfs /bin/true"
检测方法:
输入命令,结果如下:
# modprobe -n -v hfs
install /bin/true
# lsmod | grep hfs
检查项:
Ensure mounting of hfsplus filesystems is disabled
检查项:
确保"禁用hfsplus文件系统"
描述:
hfsplus是一种用于取代hfs的混合文件系统,用于加载Mac OS文件系统。
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。
配置方法:
"1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件中
install hfsplus /bin/true
检测方法:
输入命令,结果如下:
# modprobe -n -v hfsplus
install /bin/true
# lsmod | grep hfsplus
检查项:
Ensure mounting of squashfs filesystems is disabled
检查项:
确保"禁用squashfs文件系统"
描述:
squashfs文件系统与cramfs类似是一种压缩只读的文件系统。
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。
配置方法:
1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件中
install squashfs /bin/true
检测方法:
输入命令,结果如下:
# modprobe -n -v squashfs
install /bin/true
# lsmod | grep squashfs
检查项:
Ensure mounting of udf filesystems is disabled
检查项:
确保"禁用udf文件系统"
描述:
udf文件系统类型是用于实现ISO/IEC 13346和ECMA-167规范的通用磁盘格式。这是一种开放的供应商文件系统类型,用于在广泛的媒体上进行数据存储。这种文件系统类型对于支持编写dvd和较新的光盘格式是必要的。
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。
配置方法:
1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件中
install udf /bin/true
检测方法:
输入命令,结果如下:
# modprobe -n -v udf
install /bin/true
# lsmod | grep udf
检查项:
Ensure mounting of FAT filesystems is disabled
检查项:
确保"禁用FAT文件系统"
描述:
FAT文件系统格式主要用于较旧的windows系统和便携式USB驱动器或闪存模块。它有三种类型FAT12、FAT16和fat32,所有这些都由vfatkernel模块支持。
原理:
删除对“不需要的文件系统”的支持,有利于减少服务器本地层面的攻击;如果该文件系统不需要,则禁用它。影响:FAT文件系统经常用于便捷式USB上,其他的flash媒体软件使用传输FAT格式的文件,禁用后可能会妨碍以这种方法传输文件。
配置方法:
1.编辑、创建文件“/etc/modprobe.d/CIS.conf”;
2.添加下面语句到该文件中
install vfat /bin/true
检测方法:
输入命令,结果如下:
# modprobe -n -v vfat
install /bin/true
# lsmod | grep vfat
检查项:
Ensure separate partition exists for /tmp
检查项:
确保"/tmp单独分区"
描述:
/tmp目录是一个全局可写的目录,用于所有用户和某些应用程序的临时存储。
原理:
由于/tmp具有全局可写的,如果未绑定到单独分区,则存在耗尽资源的风险;此外,/tmp可以运行系统管理员设置不可执行权限,防止攻击者安装可执行程序;此外还可防止攻击者建立到setuid程序的硬链接,一旦硬链接失效,攻击者可拷贝自己的程序,如果程序有安全漏洞,攻击者可以继续利用当前一直的漏洞继续进行攻击。影响:调整文件系统大小是云托管服务器中的常见操作。 单独的文件系统分区调整大小可能会失败,或者可能需要仅为了调整操作大小而安装其他工具。 使用这些附加工具可能会引入其自身的安全考虑因素。
配置方法:
对于新安装,在安装期间创建自定义分区设置并为/tmp指定一个单独的分区。
对于以前安装的系统,创建一个新的分区,并根据需要配置/etc/fstab。
检测方法:
输入命令,结果如下:
# mount | grep /tmp
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure nodev option set on /tmp partition
检查项:
确保"/tmp分区上设置nodev选项
描述:
nodev mount选项指定文件系统不能包含特殊设备。
原理:
由于/tmp文件系统不打算支持设备,因此请设置此选项以确保用户无法尝试在/tmp中创建块或字符特殊设备。
配置方法:
1.编辑文件/etc/fstab文件设置/tmp的nodev挂载选项;
2.运行以下命令重新挂载/tmp
mount -o remount,nodev /tmp
检测方法:
若/tmp分区存在,则运行下面命令查看nodev选项是否设置
# mount | grep /tmp
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure nosuid option set on /tmp partition
检查项:
确保"/tmp分区上设置nosuid选项"
描述:
nosuid挂载选项指定文件系统不能包含setuid文件。
原理:
由于/tmp文件系统仅用于临时文件存储,因此请设置此选项以确保用户无法在/tmp中创建setuid文件。
配置方法:
1.编辑文件/etc/fstab文件设置/tmp的nosuid挂载选项;
2.运行以下命令重新挂载/tmp
# mount -o remount,nosuid /tmp
检测方法:
若/tmp分区存在,则运行下面命令查看nosuid是否设置
# mount | grep /tmp
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure noexec option set on /tmp partition
检查项:
确保"/tmp分区上设置noexec选项"
描述:
挂载的目录选项中设置noexec选项表示该文件系统不能包含可执行的二进制文件。
原理:
由于/tmp文件系统仅设置用于临时文件存储,因此设置此选项以确保用户无法在/tmp运行可执行的二进制文件。
配置方法:
1.编辑文件/etc/fstab文件设置/tmp的noexec挂载选项;
2.运行以下命令重新挂载/tmp
# mount -o remount,noexec /tmp"
检测方法:
若/tmp分区存在,则运行下面命令查看noexec是否设置
# mount | grep /tmp
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure separate partition exists for /var
检查项:
确保"/var单独分区"
描述:
守护进程和其他系统服务使用/var目录临时存储动态数据。
原理:
由于/var目录可能包含全局可写文件和目录,因此如果未绑定到单独的分区,则存在资源耗尽的风险。影响:调整文件系统大小是云托管服务器中的常见操作。 单独的文件系统分区调整大小可能会失败,或者可能需要仅为了调整操作大小而安装其他工具。 使用这些附加工具可能会引入其自身的安全考虑因素。
配置方法:
1.对于新安装,在安装期间创建自定义分区设置并为/var指定单独的分区。
2.对于先前安装的系统,请创建新分区并根据需要配置/etc/fstab。
检测方法:
运行下面命令查询/var是否被挂载
# mount | grep /var
/dev/xvdg1 on /var type ext4 (rw,relatime,data=ordered)
检查项:
Ensure separate partition exists for /var/tmp
检查项:
确保"/var/tmp单独分区"
描述:
/var/tmp目录是一个全局可写的目录,用于所有用户和某些应用程序的临时存储。
原理:
由于/var/tmp具有全局可写的,如果未绑定到单独分区,则存在耗尽资源的风险;此外,/tmp可以运行系统管理员设置不可执行权限,防止攻击者安装可执行程序;此外还可防止攻击者建立到setuid程序的硬链接,一旦硬链接失效,攻击者可拷贝自己的程序,如果程序有安全漏洞,攻击者可以继续利用当前一直的漏洞继续进行攻击。影响: 调整文件系统大小是云托管服务器中的常见操作。 单独的文件系统分区调整大小可能会失败,或者可能需要仅为了调整操作大小而安装其他工具。 使用这些附加工具可能会引入其自身的安全考虑因素。
配置方法:
1.对于新安装,在安装期间创建自定义分区设置并为/var/tmp指定单独的分区。
2.对于先前安装的系统,请创建新分区并根据需要配置/etc/fstab。
检测方法:
运行下面命令查询/var/tmp是否被挂载
# mount | grep /var/tmp
tmpfs on /var/tmp type ext4 (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure nodev option set on /var/tmp partition
检查项:
确保"/var/tmp分区上设置nodev选项"
描述:
nodev mount选项指定文件系统不能包含特殊设备。
原理:
由于/var/tmp文件系统不打算支持设备,因此请设置此选项以确保用户无法尝试在/var/tmp中创建块或字符特殊设备。
配置方法:
1.编辑文件/etc/fstab文件设置/var/tmp的nodev挂载选项;
2.运行以下命令重新挂载/var/tmp
# mount -o remount,nodev /var/tmp
检测方法:
若/var/tmp分区存在,运行下面的命令验证nodev选项是否设置在/var/tmp
# mount | grep /var/tmp
tmpfs on /var/tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure nosuid option set on /var/tmp partition
检查项:
确保"/var/tmp分区上设置nosuid选项"
描述:
nosuid挂载选项指定文件系统不能包含setuid文件。
原理:
由于/var/tmp文件系统仅用于临时文件存储,因此请设置此选项以确保用户无法在/var/tmp中创建setuid文件。
配置方法:
1.编辑文件/etc/fstab文件设置/var/tmp的nosuid挂载选项;
2.运行以下命令重新挂载/var/tmp
# mount -o remount,nosuid /var/tmp
检测方法:
若/var/tmp分区存在,运行下面的命令验证nosuid选项是否设置在/var/tmp
# mount | grep /var/tmp
tmpfs on /var/tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure noexec option set on /var/tmp partition
检查项:
确保"/var/tmp分区上设置noexec选项
描述:
noexec挂载选项指定文件系统不能包含可执行的二进制文件。
原理:
由于/var/tmp文件系统仅用于临时文件存储,因此请设置此选项以确保用户无法在/var/tmp中运行可执行程序。
配置方法:
1.编辑文件/etc/fstab文件设置/var/tmp的noexec挂载选项;
2.运行以下命令重新挂载/var/tmp
# mount -o remount,nosuid /var/tmp
检测方法:
若/var/tmp分区存在,运行下面的命令验证noexec选项是否设置在/var/tmp
# mount | grep /var/tmp
tmpfs on /var/tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure separate partition exists for /var/log
检查项:
确保"/var/log单独分区"
描述:
系统服务使用/var/log目录来存储日志数据。
原理:
确保系统日志存储在单独的分区上有两个重要原因:防止资源耗尽(因为日志可能会变得非常大)以及保护审计数据。影响:调整文件系统大小是云托管服务器中的常见操作。 单独的文件系统分区调整大小可能会失败,或者可能需要仅为了调整操作大小而安装其他工具。 使用这些附加工具可能会引入其自身的安全考虑因素。
配置方法:
1.对于新安装,在安装期间创建自定义分区设置并为/var/log指定单独的分区。
2.对于先前安装的系统,请创建新分区并根据需要配置/etc/fstab。
检测方法:
运行下面命令查询/var/log是否被挂载
# mount | grep /var/log
/dev/xvdh1 on /var/log type ext4 (rw,relatime,data=ordered)
检查项:
Ensure separate partition exists for /var/log/audit
检查项:
确保"/var/log/audit单独分区"
描述:
审计守护者进程auditd将日志数据存储在/var/log/audit目录中。
原理:
确保auditd收集的数据存储在单独的分区上有两个重要原因:防止资源耗尽(因为audit.log文件可能会变得非常大)和保护审计数据。 审计守护程序计算剩余可用空间量并根据结果执行操作。 如果其他进程(例如syslog)占用与auditd相同的分区中的空间,则可能无法按预期执行。影响:调整文件系统大小是云托管服务器中的常见操作。 单独的文件系统分区调整大小可能会失败,或者可能需要仅为了调整操作大小而安装其他工具。 使用这些附加工具可能会引入其自身的安全考虑因素。
配置方法:
1.对于新安装,在安装期间创建自定义分区设置并为/var/log/audit指定单独的分区。
2.对于先前安装的系统,请创建新分区并根据需要配置/etc/fstab。
检测方法:
运行下面命令查询/var/log/audit是否被挂载
# mount | grep /var/log/audit
/dev/xvdi1 on /var/log/audit type ext4 (rw,relatime,data=ordered)
检查项:
Ensure separate partition exists for /home
检查项:
确保"/home单独分区"
描述:
/home目录用于支持本地用户的磁盘存储需求。
原理:
如果系统旨在支持本地用户,请为/home目录创建单独的分区以防止资源耗尽并限制可以存储在/home下的文件类型。影响:调整文件系统大小是云托管服务器中的常见操作。 单独的文件系统分区调整大小可能会失败,或者可能需要仅为了调整操作大小而安装其他工具。 使用这些附加工具可能会引入其自身的安全考虑因素。
配置方法:
1.对于新安装,在安装期间创建自定义分区设置并为/home指定单独的分区。
2.对于先前安装的系统,请创建新分区并根据需要配置/etc/fstab。
检测方法:
运行下面命令查询/home是否被挂载
# mount | grep /home
/dev/xvdf1 on /home type ext4 (rw,nodev,relatime,data=ordered)
检查项:
Ensure nodev option set on /home partition
检查项:
确保"/home分区上设置nodev选项"
描述:
nodev挂载选项指定文件系统不能包含特殊设备。
原理:
由于/home文件系统不打算支持设备,因此请设置此选项以确保用户无法尝试在/home中创建块或字符特殊设备。
配置方法:
1.编辑文件/etc/fstab文件设置/home的nodev挂载选项;
2.运行以下命令重新挂载/home
# mount -o remount,nodev /home
检测方法:
若/home分区存在,运行下面的命令验证nodev选项是否设置在/home
# mount | grep /home
/dev/xvdf1 on /home type ext4 (rw,nodev,relatime,data=ordered)
检查项:
Ensure nodev option set on /dev/shm partition
检查项:
确保"/dev/shm分区上设置nodev选项"
描述:
nodev挂载选项指定文件系统不能包含特殊设备。
原理:
由于/dev/shm文件系统不打算支持设备,因此请设置此选项以确保用户无法尝试在/dev/shm中创建块或字符特殊设备。
配置方法:
1.编辑文件/etc/fstab文件设置/dev/shm的nodev挂载选项;
2.运行以下命令重新挂载/dev/shm
# mount -o remount,nodev /dev/shm
检测方法:
运行下面命令查询/dev/shm是否被挂载
# mount | grep /dev/shm
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure nosuid option set on /dev/shm partition
检查项:
确保"/dev/shm分区上设置nosuid选项"
描述:
nosuid挂载选项指定文件系统不能包含setuid文件。
原理:
在文件系统上设置此选项可防止用户将特权程序引入系统并允许非root用户执行它们。
配置方法:
1.编辑文件/etc/fstab文件设置/dev/shm的nosuid挂载选项;
2.运行以下命令重新挂载/dev/shm
# mount -o remount,nosuid /dev/shm
检测方法:
若/dev/shm分区存在,运行下面的命令验证nosuid选项是否设置在/dev/shm
# mount | grep /dev/shm
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure noexec option set on /dev/shm partition
检查项:
确保"/dev/shm分区上设置noexec选项"
描述:
noexec挂载选项指定文件系统不能包含可执行的二进制文件。
原理:
在文件系统上设置此选项可防止用户从共享内存中执行程序。这阻止用户在系统上引入潜在的恶意软件。
配置方法:
1.编辑文件/etc/fstab文件设置/dev/shm的noexec挂载选项;
2.运行以下命令重新挂载/dev/shm
# mount -o remount,noexec /dev/shm
检测方法:
若/dev/shm分区存在,运行下面的命令验证noexec选项是否设置在/dev/shm
# mount | grep /dev/shm
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
检查项:
Ensure nodev option set on removable media partitions
检查项:
确保"可移动介质分区上设置nodev选项"
描述:
nodev挂载选项指定文件系统不能包含特殊设备。
原理:
包含字符和块特殊设备的可移动介质可用于通过允许非root用户访问敏感设备文件(如/dev/kmem或原始磁盘分区)来规避安全控制。
配置方法:
编辑/etc/fstab文件并将nodev添加到所有可移动介质分区的挂载选项中。
检测方法:
使用下面的命令查看nodev选项是否设置在可移动介质上
# mount
检查项:
Ensure nosuid option set on removable media partitions
检查项:
确保"可移动介质分区上设置nosuid选项"
描述:
nosuid挂载选项指定文件系统不能包含setuid文件。
原理:
在文件系统上设置此选项可防止用户将特权程序引入系统并允许非root用户执行它们。
配置方法:
编辑/etc/fstab文件并将nosuid添加到所有可移动介质分区的挂载选项中。
检测方法:
使用下面的命令查看nosuid选项是否设置在可移动介质上
# mount
检查项:
Ensure noexec option set on removable media partitions
检查项:
确保"可移动介质分区上设置noexec选项"
描述:
noexec挂载选项指定文件系统不能包含可执行的二进制文件。
原理:
在文件系统上设置此选项可防止用户从可移动媒体执行程序。 这会阻止用户在系统上引入潜在的恶意软件。
配置方法:
编辑/etc/fstab文件并将noexec添加到所有可移动介质分区的挂载选项中。
检测方法:
使用下面的命令查看noexec选项是否设置在可移动介质上
# mount
检查项:
Ensure sticky bit is set on all world-writable directories
检查项:
确保"在所有全局可写目录上设置粘滞位"
描述:
在全局可写目录上设置粘滞位可防止用户删除或重命名该目录中不属于它们的文件。
原理:
此功能可防止删除或重命名另一个用户拥有的全局可写目录(如/tmp)中的文件。
配置方法:
运行以下命令以在所有全局可写目录上设置粘滞位:
# df --local -P | awk if (NR!=1) print $6 | xargs -I '{}' find '{}' -xdev -type d -perm -0002 2>/dev/null | xargs chmod a+t
检测方法:
运行以下命令以验证没有设置粘滞位的情况下是否存在任何可写入的目录:
# df --local -P | awk if (NR!=1) print $6 | xargs -I '{}' find '{}' -xdev -type d \( -perm -0002 -a ! -perm -1000 \) 2>/dev/null
没有任何输出,合规
检查项:
Disable Automounting
检查项:
禁用自动挂载"
描述:
autofs允许自动安装设备,通常包括CD/DVD和USB驱动器。
原理:
通过自动挂载,任何具有物理访问权限的人都可以连接USB驱动器或光盘,并且即使他们自己也没有安装权限,也可以在系统中使用其内容。影响:使用便携式硬盘驱动器对于工作站用户来说非常普遍。 如果您的组织允许在工作站上使用便携式存储或媒体,并且对工作站的物理访问控制被认为是足够的,那么关闭自动挂载几乎没有增加价值。
配置方法:
运行以下命令以禁用autofs:
# chkconfig autofs off
检测方法:
运行以下命令并验证所有运行级别是否已列为“off”或autofs不可用:
# chkconfig --list autofs
autofs 0:off 1:off 2:off 3:off 4:off 5:off 6:off