CentOS文件系统安全防护措施
小樊
33
2025-11-15 18:59:43
CentOS 文件系统安全防护措施
一 权限与访问控制
- 按最小权限原则设置关键目录与文件权限,并修正错误属主属组:
- 关键系统文件加固:chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow;chmod 0644 /etc/passwd;chmod 0644 /etc/group;chmod 0400 /etc/shadow;chmod 0400 /etc/gshadow。
- 统一默认权限:在 /etc/profile 或相应 profile 中设置 umask 027,降低新建文件/目录对“其他用户”的暴露面。
- 精细授权:对需要跨用户/跨组访问的数据目录,使用 ACL 进行细粒度控制(如 setfacl/getfacl),避免粗放的 777 权限。
- 特权分离:通过 sudo 授权最小必要命令,避免共享 root 会话与滥用高权限。以上措施能显著降低越权访问与横向移动风险。
二 不可变属性与关键文件保护
- 利用 chattr 的不可变与仅追加属性保护系统关键文件与日志:
- 系统核心目录防篡改:对 /bin、/boot、/lib、/sbin 等设置 i(immutable) 属性,阻止删除/改写(变更前务必评估更新与维护流程影响)。
- 日志防清空:对 /var/log/messages 等日志文件设置 a(append only) 属性,允许写入但禁止截断/删除。
- 口令与账户数据库防篡改:对 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 设置 i 属性,降低被恶意修改的风险。变更属性前建议备份并评估系统更新机制兼容性。
三 加密存储与分区
- 对静态数据实施加密,防止物理窃取导致的数据泄露:
- 分区/磁盘级加密:使用 LUKS/dm-crypt 对 /dev/sdX 等分区加密,创建映射设备 /dev/mapper/,格式化并挂载;按需配置 /etc/crypttab 与 /etc/fstab 实现开机解锁与挂载。
- 文件/目录级加密:使用 eCryptfs 对敏感目录(如用户主目录)进行堆叠式加密,适合已有文件系统上的增量保护。
- 与 LVM 结合:先对物理卷加密,再创建 VG/LV,兼顾灵活卷管理与数据保护。
- 注意:加密会带来一定性能开销;操作前务必做好完整备份,并妥善管理密钥/口令与恢复流程。
四 挂载选项与访问控制加固
- 通过挂载选项与系统策略减少攻击面:
- 关键系统分区(如 /tmp、/var/tmp)建议使用 noexec,nosuid,nodev 挂载选项,阻断在临时目录执行二进制、利用 SUID 提权与设备文件注入的风险。
- 对含敏感数据的挂载点,结合 ACL 实施“白名单式”访问;对 Web 内容目录避免 777,仅授予运行账户所需的最小权限。
- 结合 SELinux 强制访问控制,确保即使权限配置被绕过,进程仍受策略约束(如 httpd 访问非授权目录被拒)。以上做法与权限最小化、ACL 精细化相辅相成。
五 审计监控与运维安全
- 建立可审计、可追溯的文件系统访问与变更基线:
- 启用并配置审计服务,记录关键文件/目录的访问、修改与权限变更;集中收集与分析日志,及时发现异常行为。
- 对关键文件设置 chattr +i 后,仍需保留应急解锁与变更流程(变更窗口、双人复核、变更后及时恢复不可变属性),避免影响补丁与合规审计。
- 结合 firewalld 限制管理口来源、配合 Fail2ban 降低暴力破解对 SSH 等入口的威胁,减少被入侵后篡改文件系统的机会。