1. 启用OverlayRoot实现只读根文件系统
OverlayRoot是Ubuntu中利用OverlayFS技术的核心工具,可将根文件系统设置为只读,所有用户修改(如配置变更、软件安装)均会被重定向到可写的临时层(upperdir)。重启后,临时层会被清空,系统恢复初始状态,彻底防止恶意软件篡改系统文件或配置。
具体操作:安装OverlayRoot工具(sudo apt install overlayroot),编辑配置文件/etc/overlayroot.conf,设置overlayroot="tmpfs"(使用内存中的tmpfs作为上层目录,提升安全性),重启系统使配置生效。重启后通过mount | grep overlayroot验证是否成功启用。
2. 配置OverlayFS挂载权限控制
挂载OverlayFS时,可通过mount命令的-o选项指定严格的权限参数,限制用户对overlay文件系统的访问:
uid=1000(普通用户ID)、gid=1000(普通用户组ID)将挂载点的所有者限定为特定用户,避免其他用户越权访问;default_permissions选项让overlay文件系统继承父目录的权限,确保权限设置的一致性;chmod(修改目录/文件权限,如sudo chmod -R 755 /mnt/overlay)和chown(修改所有者,如sudo chown -R your_username:your_group /mnt/overlay)命令进一步强化权限。3. 强化SELinux/AppArmor强制访问控制
Ubuntu默认启用AppArmor(强制访问控制框架),可为OverlayFS相关进程(如overlayroot、mount.overlay)创建自定义配置文件,限制其访问范围。例如,通过aa-genprof命令生成OverlayRoot的AppArmor profile,添加规则禁止其访问敏感目录(如/etc/shadow);若需更高级的权限控制,可安装SELinux(sudo apt install selinux-utils)并配置相应的策略模块。
4. 定期进行安全审计与日志监控
使用auditd(Linux审计框架)监控OverlayFS的关键操作(如文件修改、权限变更),及时发现异常行为:
sudo apt install auditd audispd-plugins linux-audit;/etc/audit/rules.d/audit.rules,添加针对OverlayFS的监控规则(如-w /mnt/overlay -p wa -k overlayfs_mod,监控/mnt/overlay目录的写操作);ausearch命令过滤OverlayFS相关日志(如sudo ausearch -m avc -ts recent查看最近的访问控制日志),定期分析日志以识别潜在威胁。5. 及时修复OverlayFS相关漏洞
关注Ubuntu安全公告(如sudo apt update && sudo apt upgrade),及时安装OverlayFS及依赖组件的安全补丁。例如,针对CVE-2021-3493(OverlayFS权限提升漏洞),需升级内核至最新版本或应用官方提供的补丁,修复漏洞以防止攻击者通过特殊路径遍历绕过权限限制。
6. 细化用户权限与访问控制
通过以下方式限制用户对OverlayFS的访问权限:
.bashrc)中添加umask 0022,使新创建文件的默认权限为644(rw-r--r--)、目录为755(rwxr-xr-x),减少不必要的写权限;setfacl命令为特定用户或组分配权限(如sudo setfacl -m u:admin:rwx /mnt/overlay允许admin用户读写/mnt/overlay),或设置默认ACL(sudo setfacl -d -m g:developers:r-x /mnt/overlay让developers组对新创建文件有读执行权限)。