核心是通过/etc/fstab挂载选项实施最小权限原则,禁用exec、suid、dev三类高危能力:noexec阻断恶意代码执行,nosuid防止权限提升,nodev杜绝设备文件滥用,优先应用于/tmp等用户可写目录,并以显式白名单替代defaults。
服务器文件系统挂载选项安全加固的核心,是通过 /etc/fstab 中的 mount options 限制潜在攻击面,防止恶意代码执行、权限提升和设备滥用。关键不在“加功能”,而在“收权限”——用明确、最小化的选项替代模糊的 defaults。
这三个选项应作为绝大多数非根目录(尤其是临时目录、共享目录、用户可写目录)的标配:
sudo 或 passwd);/dev/sda),避免攻击者伪造设备节点进行内核级攻击或绕过访问控制。例如加固 /tmp:tmpfs /tmp tmpfs rw,nosuid,nodev,noexec,size=2G 0 0
并非所有分区都需要读写权限。对静态内容或关键系统卷,应主动降权:
组合示例(CD-ROM 挂载):/dev/sr0 /mnt/cdrom iso9660 ro,noatime,noexec,nosuid,nodev 0 0
defaults 实际包含 rw,suid,dev,exec,auto,nouser,async 等多项,其中 suid、dev、exec 正是安全加固要关闭的项。依赖 defaults,noexec 这类“覆盖写法”易出错且不可靠。
rw,noatime,nosuid,nodev,noexec,uid=1000,gid=1000,umask=002;sec=krb5p(Kerberos 加密)或 hard,timeo=600(容错重试);/etc/fstab 后务必测试:sudo mount -o remount /target/path,再用 findmnt -o SOURCE,TARGET,FSTYPE,OPTIONS /target/path 验证生效。systemd 在 RHEL 8/Kylin V10 等系统中会隐式挂载 /tmp 为 tmpfs,但默认无大小限制,极易引发内存争抢甚至 OOM Kill。
/etc/fstab 中明确定义大小,例如:size=512M 或 size=1G;noexec,nosuid,nodev;/var/tmp 和 /dev/shm 同样需按相同原则加固,不可遗漏。