温馨提示×

CentOS文件系统安全防护措施有哪些

小樊
34
2025-12-13 11:03:34
栏目: 智能运维

CentOS 文件系统安全防护措施

一 权限与所有权基线

  • 按“最小权限原则”配置:用 chmod/chown/chgrp 设置关键目录(如 /etc、/var、/usr、/boot)的所有者与权限,避免使用 777;对系统二进制与配置实施“仅 root 可写”。
  • 统一默认权限:在 /etc/profile/etc/bashrc 设置 umask 027(新文件 640、新目录 750),减少“其他用户”访问面。
  • 精细化授权:对多用户/多组共享场景启用 ACL(setfacl/getfacl),在不改变属主/属组的前提下授予特定用户或组精确权限。
  • 谨慎使用特殊权限位:仅对必要系统程序保留 SUID/SGID;对共享目录按需在目录上设置 SGID 以继承组;对公共可写目录(如 /tmp)设置 Sticky Bit(1777) 防止越权删除。
  • 关键口令文件防篡改:对 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 设置不可变属性(如 chattr +i),降低被恶意修改的风险。

二 挂载选项与可移动介质

  • 对临时与共享目录启用安全挂载选项:在 /etc/fstab/tmp、/var/tmp、/dev/shm 及可移动介质分区设置 nodev、nosuid、noexec,阻断设备挂载、SUID 提权与脚本执行。示例:
    • /tmp 分区:挂载选项包含 nodev,nosuid,noexec
    • 重新挂载生效:mount -o remount,noexec,nosuid,nodev /tmp
  • 按需禁用不必要的文件系统内核模块(如 cramfs、freevxfs、jffs2、hfs、hfsplus、squashfs、udf、FAT),减少攻击面(在 /etc/modprobe.d/deny-fs.conf 中 blacklist 并验证 lsmod)。
  • 对含敏感数据的分区启用 LUKS/dm-crypt 加密(如 /home、/var),确保离线或介质丢失时数据保密。

三 完整性保护与引导安全

  • 关键系统文件与目录加固:对 /bin、/sbin、/usr/bin、/usr/sbin、/boot 等使用 chattr +i 设为不可修改;对日志文件(如 /var/log/messages)使用 chattr +a 仅允许追加,防止被覆盖。
  • 引导加载器安全:设置 /boot/grub2/grub.cfg/boot/grub2/user.cfg 权限为 root:root,og-rwx;为 GRUB 配置引导口令,防止未授权引导参数注入。
  • 恢复模式防护:在 /usr/lib/systemd/system/rescue.serviceemergency.service 中确保 ExecStart=/sbin/sulogin,使单用户/紧急模式必须认证。
  • 核心转储限制:在 /etc/security/limits.conf 设置 * hard core 0,并在 /etc/sysctl.conf 设置 fs.suid_dumpable=0,避免 setuid 程序转储包含敏感信息。

四 审计、日志与软件供应链

  • 审计与日志:启用并配置 auditd,对关键目录与关键系统调用(如文件删除、权限修改、sudo 执行)进行审计;集中收集与分析 /var/log/secure、/var/log/messages、/var/log/audit/audit.log,配合 Fail2ban 降低暴力破解风险。
  • 软件包完整性与更新:在 /etc/yum.conf/etc/yum.repos.d/ 中确保 gpgcheck=1,验证 RPM GPG 签名;定期执行 yum update 及时修补漏洞。
  • 登录与会话安全:设置 TMOUT=600(在 /etc/profile 或相应 profile.d 文件),减少闲置会话被劫持风险。

五 快速检查清单与常用命令

  • 权限基线:
    • 检查关键目录权限与属主:ls -ld /etc /var /usr /boot
    • 设置默认 umask:echo “umask 027” >> /etc/profile && source /etc/profile
  • 挂载安全:
    • 查看挂载选项:mount | egrep ‘(/tmp|/var/tmp|/dev/shm)’
    • 按需 remount:mount -o remount,noexec,nosuid,nodev /tmp
  • 完整性保护:
    • 口令文件加固:chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
    • 引导与单用户:stat /boot/grub2/grub.cfg;grep sulogin /usr/lib/systemd/system/rescue.service
  • 审计与更新:
    • 审计状态:systemctl status auditd
    • 更新与签名:yum check-update;grep ^gpgcheck /etc/yum.conf /etc/yum.repos.d/*;rpm -q gpg-pubkey --qf ‘%{name}-%{version}-%{release} --> %{summary}\n’
  • ACL 示例:
    • 授予用户读写执行:setfacl -m u:devuser1:rwx /var/www/html/projectX
    • 授予组只读:setfacl -m g:devgroup2:r-x /var/www/html/projectX
    • 查看 ACL:getfacl /var/www/html/projectX

0