CentOS Overlay安全设置方法
确保系统安装fuse-overlayfs
(用户态Overlay文件系统工具)和fuse
(内核模块),这是Overlay文件系统正常运行的基础。使用命令:
sudo yum install fuse-overlayfs fuse -y
lowerdir
,存储基础数据)、上层目录(upperdir
,存储修改内容)和工作目录(workdir
,Overlay内部操作临时空间)。例如:sudo mkdir -p /mnt/overlay/{lower,upper,work,merged}
mount
命令指定各目录,例如:sudo mount -t overlay overlay -o lowerdir=/path/to/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work /mnt/overlay/merged
/etc/fstab
,实现系统重启后自动挂载:echo "overlay /mnt/overlay/merged overlay defaults,lowerdir=/path/to/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0" | sudo tee -a /etc/fstab
root
用户运行非必要应用。lowerdir
、upperdir
、workdir
的访问权限,例如通过chmod
设置目录权限为750
,仅允许所有者(如docker
用户)读写执行。adm
、lp
、sync
),减少攻击面。/etc/login.defs
文件强制执行:PASS_MIN_LEN 12
(设置最小长度)、PASS_REQUIRE_MIXED_CASE yes
(要求大小写混合)等。chattr +i
命令将/etc/passwd
、/etc/shadow
、/etc/group
、/etc/gshadow
设为不可修改,防止恶意篡改:sudo chattr +i /etc/shadow
SELinux通过**强制访问控制(MAC)**限制进程对Overlay文件系统的访问,需正确配置而非禁用:
/etc/selinux/config
中SELINUX=enforcing
(强制模式),而非disabled
。/etc/sysconfig/docker
中保留--selinux-enabled
选项(默认开启),并通过semanage
工具添加自定义策略:sudo semanage fcontext -a -t container_file_t "/mnt/overlay(/.*)?"
sudo restorecon -Rv /mnt/overlay
(恢复上下文)使用firewalld
(推荐)或iptables
限制对Overlay相关端口和服务的访问:
lowerdir
位于NFS共享目录,需编辑/etc/exports
文件,设置严格的访问权限(如仅允许可信IP访问):/mnt/nfs/share *(ro,sync,no_root_squash)
(示例:只读权限,禁止root用户挂载)/etc/sysctl.conf
设置net.ipv4.ip_forward = 0
,防止IP欺骗。使用auditd
工具记录对Overlay文件系统的关键操作(如挂载、修改、删除):
sudo yum install audit -y
;sudo systemctl enable --now auditd
/etc/audit/audit.rules
,添加针对Overlay目录的规则:-w /mnt/overlay/upper -p wa -k overlay_upper
(监控upperdir
的写操作)-w /mnt/overlay/work -p wa -k overlay_work
(监控workdir
的操作)ausearch
工具查看审计日志,例如:sudo ausearch -k overlay_upper
(查看upperdir
相关操作日志)journalctl
查看系统日志,关注Overlay文件系统的错误或异常操作:sudo journalctl -u overlay -f
(实时监控Overlay服务日志)使用yum
或dnf
命令定期更新CentOS系统和相关软件包(如fuse-overlayfs
、docker
),修复已知安全漏洞:
sudo yum update -y
uname -r
查看),新内核包含Overlay文件系统的安全补丁。d_type
参数(XFS默认支持)。可通过xfs_info /dev/sdX
检查ftype
值(应为1)。--memory
、--cpu
选项限制容器的CPU、内存使用,防止资源耗尽攻击。userns-remap
功能将容器内的root用户映射到宿主机的非root用户,降低容器逃逸风险。docker scan
命令)。