在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 拒絕記錄。參考來源: