Linux SELinux 安全策略配置实操指南
一 基础准备与模式切换
sestatus、getenforce 查看当前 SELinux 状态与运行模式。setenforce 1(切换为 Enforcing)或 setenforce 0(切换为 Permissive)。此方式立即生效但重启后失效。SELINUX=enforcing
SELINUXTYPE=targeted
二 安全上下文与文件类型配置
ps -Z、ps auxZ | grep <服务名>ls -lZ <路径>semanage fcontext 添加规则,再用 restorecon 应用:semanage fcontext -a -t httpd_sys_content_t "/webdata(/.*)?"
restorecon -R /webdata
semanage port -a -t http_port_t -p tcp 81
chcon,优先用 semanage fcontext 实现重启后仍持久的标签配置。三 布尔值与最小权限调优
semanage boolean -lgetsebool -asetsebool <布尔名> on|offsetsebool -P <布尔名> on|offhttpd_can_network_connect:允许 httpd 主动发起网络连接httpd_can_network_connect_db:允许 httpd 连接数据库httpd_enable_cgi:允许 httpd 执行 CGIhttpd_can_sendmail:允许 httpd 调用邮件发送功能四 排错与自定义策略模块
ausearch -m avc -ts recentsealert -a /var/log/audit/audit.loghttpd_can_network_connect_db)。ausearch -m avc -ts recent > /tmp/avc.log
audit2allow -i /tmp/avc.log -M myapp_policy
semodule -i myapp_policy.pp
五 生产最佳实践清单
chcon 的临时性。sealert 辅助分析,及时清理无效规则与异常访问。