SELinux优化Linux系统安全性的实用方案
一 基础配置与运行模式
sestatus、getenforcesetenforce 0|1(仅 Permissive/Enforcing,不能禁用)SELINUX=enforcing
SELINUXTYPE=targeted
二 安全上下文与最小权限
ls -Z、ps -Zsemanage fcontext -a -t <type> "<path>(/.*)?"restorecon -Rv <path>semanage fcontext -a -t httpd_sys_content_t "/webdata(/.*)?"
restorecon -Rv /webdata
三 布尔值与策略模块调优
getsebool -asetsebool <name> onsetsebool -P <name> onsetsebool -P httpd_can_network_connect on
ausearch -m avc -ts recentsealert -a /var/log/audit/audit.logausearch -m avc -ts recent | audit2allow -M mypolicy
semodule -i mypolicy.pp
checkmodule → semodule_package → semodule -i。四 运维与监控最佳实践
setenforce 0作为长期手段。五 常见场景快速清单
semanage fcontext -a -t httpd_sys_content_t "/webdata(/.*)?"
restorecon -Rv /webdata
# 若需对外发起连接(按需)
setsebool -P httpd_can_network_connect on
allow myapp_t myapp_log_t:file manage_file_perms;
files_tmp_filetrans(myapp_t, myapp_tmp_t, file)
checkmodule -M -m -o myapp.mod myapp.te
semodule_package -o myapp.pp -m myapp.mod
semodule -i myapp.pp
ausearch -m avc -ts recent
sealert -a /var/log/audit/audit.log
# 合理则 audit2allow -M <name> && semodule -i <name>.pp