最有效手段是使用chattr +i锁定/etc/passwd、/etc/shadow、/etc/sudoers等关键认证文件,使包括root在内的任何用户均无法修改、删除或重命名;辅以nosuid、noexec、nodev挂载选项限制分区行为,并结合aide审计与auditd监控实现动静态协同防护。

防御身份凭证篡改,关键不是靠挂载选项直接“加密”或“隐藏”密码,而是阻断攻击者修改关键认证文件(如 /etc/passwd、/etc/shadow、/etc/sudoers)的路径。Linux 挂载选项本身不处理凭证内容,但能配合文件属性锁定和权限控制,形成第一道防线——让攻击者即使拿到 shell,也无法覆盖、删除或重命名这些文件。
优先锁定核心认证文件的不可变属性
这是最直接有效的手段,比挂载限制更底层、更可靠:
- 对关键文件执行:
sudo chattr +i /etc/passwd /etc/shadow /etc/sudoers - +i(immutable)表示:任何用户(包括 root)都无法修改、删除、重命名或创建硬链接
- 日常维护需临时解锁时,必须先运行
sudo chattr -i /path,操作完立即重新加锁 - 注意:该属性仅适用于 ext2/ext3/ext4 文件系统;XFS/Btrfs 不支持
chattr +i,需改用 SELinux 或文件完整性监控替代
限制挂载点所在分区的危险行为
若 /etc 单独挂载在独立分区(如 /dev/sda2),可在挂载时禁用高风险功能,降低攻击面:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 添加
nosuid:防止通过 setuid 程序提权后修改认证文件 - 添加
noexec:禁止在该分区上直接执行恶意工具(如自制的 shadow 编辑器) - 添加
nodev:阻止创建设备节点绕过权限检查(虽不直接防篡改,但切断常见逃逸链) - 示例(临时生效):
sudo mount -o remount,nosuid,noexec,nodev /etc - 若要永久生效,需在
/etc/fstab中对应行第4列将defaults替换为defaults,nosuid,noexec,nodev
加固上传与临时目录,阻断凭证窃取后门
攻击者常先上传 Webshell 或恶意脚本,再读取 /etc/shadow 或写入后门账号。防护重点不在 /etc 本身,而在“攻击入口”:
- 对
/tmp和/var/tmp加noexec,nosuid,nodev,防止执行提权 payload - 对 Web 上传目录(如
/var/www/uploads)设为noexec,ro(只读+禁执行),彻底杜绝脚本落地运行 - 确保上传目录属主为 web 服务用户(如
www-data),且chmod 755或更严,禁止其他用户写入 - 配合
umask 027或默认 ACL,使新上传文件默认无执行位、非全局可写
补充访问控制与完整性校验
挂载和属性锁定是静态防护,还需运行时监控来发现异常变更:
- 部署 AIDE 或 Tripwire,每日比对
/etc下文件的哈希、权限、时间戳变化 - 将 AIDE 数据库存放在只读介质或远程服务器,防止被本地篡改
- 启用 auditd 规则监控关键路径:
-w /etc/passwd -p wa -k auth_files - 日志输出统一转发至远程 syslog 服务器,避免攻击者清空本地记录










