文件系统是CentOS系统安全的核心层级,需通过挂载配置、权限管理、加密保护、审计监控等多维度措施强化防护,以下是具体方案:
避免加载高风险或不必要的文件系统(如CramFS、freevxfs、jffs2、hfs、squashfs、udf、FAT等),减少潜在攻击面。配置方法:创建/etc/modprobe.d/CIS.conf文件,添加blacklist <文件系统名>指令;通过modprobe -n -v <文件系统名>验证是否禁止载入,用lsmod | grep <文件系统名>确认未加载。
对临时目录(/tmp、/var/tmp)、共享内存目录(/dev/shm)及可移动介质(U盘、移动硬盘)等分区,启用nodev(禁止特殊设备文件)、nosuid(禁止setuid权限)、noexec(禁止执行二进制文件)选项,防止恶意代码通过挂载点执行。配置方法:编辑/etc/fstab文件,在对应分区挂载项添加nodev,nosuid,noexec;执行mount -o remount,<选项> <目录>重新挂载,用mount | grep <目录>验证生效。
通过chattr命令设置文件系统属性,防止关键文件被篡改或删除:
i属性(不可修改、重命名、删除);a属性(仅允许追加内容,禁止修改/删除)。chattr +i /bin、chattr +a /var/log/messages;用lsattr <文件/目录>验证属性是否生效。chmod限制文件访问权限(如普通文件设为644,目录设为755),避免过度授权;用chown确保文件所有者正确(如系统文件归root所有)。777或文件设为666。/etc/profile或用户配置文件(如~/.bashrc)设置umask 027,默认创建的文件权限为644(rw-r–r–),目录为755(rwxr-xr-x),减少不必要的写权限。SELinux通过**强制访问控制(MAC)**限制进程权限,弥补传统权限模型的不足。配置方法:
getenforce(Enforcing为启用,Permissive为宽松模式);/etc/selinux/config文件,设置SELINUX=enforcing;semanage、setsebool等命令调整SELinux策略(如允许Apache访问特定目录)。使用**LUKS(Linux Unified Key Setup)**对敏感分区(如/home、/var)或逻辑卷进行加密,确保数据在存储时的机密性。配置步骤:
cryptsetup工具:yum install cryptsetup;cryptsetup luksFormat /dev/sdX(替换为目标分区);cryptsetup luksOpen /dev/sdX encrypted_home;mkfs.ext4 /dev/mapper/encrypted_home、mount /dev/mapper/encrypted_home /home。rsyslog和auditd服务,记录文件访问、修改等操作(如/var/log/secure记录登录日志,/var/log/audit/audit.log记录审计事件);ausearch、aureport工具分析审计日志,及时发现异常行为(如未经授权的文件修改);lynis、OpenVAS等工具扫描文件系统漏洞,修复已知风险。制定定期备份计划,使用tar、rsync、Bacula等工具备份重要数据(如/etc、/home、/var),存储到异地或离线介质(如磁带、NAS);测试备份的可恢复性,确保数据丢失或系统损坏时能快速恢复。
以上措施需结合系统实际环境调整,形成“配置-监控-审计”的闭环管理,持续提升CentOS文件系统的安全性。