在Ubuntu上实践SELinux容器安全,需结合工具配置与策略管理,核心要点如下:
启用SELinux
/etc/selinux/config,设置 SELINUX=enforcing,并重启生效。sudo setenforce 1(强制模式)/ 0(宽容模式)。安装必要工具
sudo apt install selinux-basics selinux-policy-default auditd setroubleshoot 为容器分配安全上下文
--security-opt 指定类型(如 container_t):docker run --security-opt label=type:container_t -it ubuntu /bin/bash docker exec <容器ID> cat /proc/self/attr/current。控制文件与目录访问
chcon -R -t container_file_t /path/to/container/files。:Z 标签隔离:docker run -v /host/data:/data:Z -it ubuntu 管理布尔值动态调整权限
sudo setsebool -P container_manage_cgroup off。getsebool -a | grep container。定制策略模块
audit2allow 生成自定义策略:ausearch -m avc -ts recent | audit2allow -M my_container_policy semodule -i my_container_policy.pp ```。 结合容器编排工具
监控与审计
/var/log/audit/audit.log,重点关注 type=AVC 拒绝记录。参考来源: