Ubuntu SELinux策略配置指南
一 前置说明与准备
二 安装与启用 SELinux
sudo apt updatesudo apt install selinux-basics selinux-policy-default selinux-utils auditd policycoreutils audit2allowgetenforce(应返回 Disabled)sudo selinux-activate(由 selinux-basics 提供,完成策略与文件标签初始化)sudo setenforce 1(临时为 Enforcing;如失败可先用 sudo setenforce 0 切到 Permissive 排查)SELINUX=enforcing(或先用 SELINUX=permissive 观察),保存后重启:sudo rebootsestatus 应显示 SELinux status: enabled 且 Current mode: enforcing/permissive三 常用策略配置与管理
getenforce、sestatussudo setenforce 0|1(临时);永久通过 /etc/selinux/config 配置并重启sudo semanage port -a -t http_port_t -p tcp 8080sudo setsebool -P httpd_enable_homedirs 1policy_module(myapp, 1.0)
require {
type myapp_t;
type myapp_exec_t;
class file { read write open };
}
init_daemon_domain(myapp_t, myapp_exec_t)
allow myapp_t myapp_exec_t:file { read write open execute };
make -f /usr/share/selinux/devel/Makefile myapp.ppcheckmodule -M -m -o myapp.mod myapp.te && semodule_package -o myapp.pp -m myapp.modsudo semodule -i myapp.ppsudo semanage fcontext -a -t httpd_sys_content_t "/var/www/myapp(/.*)?"sudo restorecon -Rv /var/www/myappsemodule -lsudo semodule -r myapp。四 审计与问题排查
sudo ausearch -m avc -ts recentsudo aureport -m avcsudo ausearch -m avc -ts recent | audit2whygrep avc /var/log/audit/audit.log | audit2allow -M myfixsudo semodule -i myfix.pprestorecon 恢复正确上下文五 生产部署建议与注意事项