确保移除不需要的文件系统挂载支持
Linux系统支持多种文件系统,通过ko方式加载进内核。openEuler作为通用操作系统平台,提供各种文件系统ko,通常位于“/lib/modules/(kernel version)/kernel/fs/”目录下,可通过insmod/modprobe命令加载。
禁用不必要的文件系统支持有助于缩小攻击面,防止攻击者利用不常用文件系统的漏洞对系统进行攻击。用户可根据实际使用场景,判断哪些文件系统无需支持,并通过配置禁止其被挂载。常见的可禁用文件系统包括:
cramfs、freevxfs、jffs2、hfs、hfsplus、squashfs、udf、vfat、fat、msdos、nfs、ceph、fuse、overlay、xfs
操作步骤
- 使用如下命令检查输出结果(以cramfs为例,其他文件系统类似),如果输出“install /bin/true”,表示该文件系统已经被禁止挂载,如果输出“insmod /lib/modules/(kernel version)/kernel/fs/cramfs/cramfs.ko”,表示该文件系统未被禁止挂载,并列出ko所在目录:
modprobe -n -v cramfs | grep -E '(cramfs|install)'
install /bin/true
- 若输出为“install /bin/true”,表示该文件系统已被禁止挂载。
- 若输出为“insmod /lib/modules/<kernel version>/kernel/fs/cramfs/cramfs.ko”,表示该文件系统仍可挂载,并会显示其ko模块所在路径。
- 若没有输出,可执行以下命令,若有输出则表示该文件系统已被挂载。
lsmod | grep cramfs
cramfs 135168 0
- 对于已挂载但实际场景无需支持的文件系统,可通过如下命令移除。以cramfs为例,其他文件系统类似。
modprobe -r cramfs
- 在“/etc/modprobe.d/”目录下,创建以.conf为后缀的配置文件,属主和属组为root,权限为600。
- 创建配置文件,名称可自定义,以test.conf为例。
vim /etc/modprobe.d/test.conf
- 按“i”进入编辑模式,请根据实际需求,按照以下格式将需要禁止挂载的文件系统写入该文件中。
install cramfs /bin/true install freevxfs /bin/true install jffs2 /bin/true install hfs /bin/true install hfsplus /bin/true install squashfs /bin/true install udf /bin/true install vfat /bin/true install fat /bin/true install msdos /bin/true install nfs /bin/true install ceph /bin/true install fuse /bin/true install overlay /bin/true install xfs /bin/true
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 创建配置文件,名称可自定义,以test.conf为例。
父主题: 文件系统