Linux的300+个真实运维场景之08 SELinux 问题

Linux的300+个真实运维场景之08 SELinux 问题

经验文章nimo972025-03-09 18:20:299A+A-

场景 94:Apache 的 SELinux 拒绝

故障排除步骤:

检查审计日志中的 SELinux 拒绝:

ausearch -m avc -ts recent

识别被拒绝的操作和受影响的文件。

调整文件的 SELinux 上下文:

chcon -Rv --type=httpd_sys_content_t /path/to/files

重新测试 Apache 服务。

场景 95:SELinux 阻止 MySQL 连接

故障排除步骤:

检查 SELinux 拒绝:

ausearch -m avc -ts recent

如果 MySQL 使用非标准端口,请更新 SELinux 策略:

semanage port -a -t mysqld_port_t -p tcp 

重启 MySQL 并监控日志中的 SELinux 拒绝。

场景 96:SELinux 拒绝 SSH 访问

故障排除步骤:

检查 SELinux 拒绝:

ausearch -m avc -ts recent

如果问题与主目录相关,请设置正确的 SELinux 上下文:

restorecon -Rv /home/user

查看 SSH 的 SELinux 布尔值:

getsebool -a | grep ssh

如果需要,调整布尔值:

setsebool -P ssh_enabled 1

场景 97:SELinux 阻止 Nginx 反向代理

故障排除步骤:

检查 SELinux 拒绝:

ausearch -m avc -ts recent

如果 Nginx 使用非标准端口,请更新 SELinux 策略:

semanage port -a -t http_port_t -p tcp 

调整 Nginx 日志或代理配置的 SELinux 上下文:

chcon -Rv --type=httpd_config_t /etc/nginx

场景 98:自定义应用程序的 SELinux 拒绝

故障排除步骤:

查看审计日志中的 SELinux 拒绝:

ausearch -m avc -ts recent

创建自定义 SELinux 策略模块:

audit2allow -a -M myapp

加载自定义模块:

semodule -i myapp.pp

重新测试自定义应用程序。

场景 99:SELinux 阻止 Sendmail

故障排除步骤:

检查审计日志中的 SELinux 拒绝:

ausearch -m avc -ts recent

如果 Sendmail 使用非标准端口,请更新 SELinux 策略:

semanage port -a -t mail_port_t -p tcp 

重新加载或重启 Sendmail:

systemctl reload sendmail

场景 100:自定义文件访问的 SELinux 拒绝

故障排除步骤:

检查审计日志中的 SELinux 拒绝:

ausearch -m avc -ts recent

使用 chcon 设置文件的正确 SELinux 上下文:

chcon -Rv --type=my_custom_type /path/to/files

如果需要,更新 SELinux 策略。

场景 101:Cron 作业的 SELinux 拒绝

故障排除步骤:

查看 SELinux 拒绝:

ausearch -m avc -ts recent

如果 cron 作业访问特定文件,请调整文件上下文:

restorecon -Rv /path/to/files

如果需要,为 cron 作业创建自定义 SELinux 模块。

场景 102:Samba 共享的 SELinux 拒绝

故障排除步骤:

检查 SELinux 拒绝:

ausearch -m avc -ts recent

为 Samba 共享设置适当的 SELinux 上下文:

semanage fcontext -a -t samba_share_t "/path/to/share(/.*)?"

应用新的上下文:

restorecon -Rv /path/to/share

场景 103:Docker 容器的 SELinux 阻止

故障排除步骤:

检查 SELinux 拒绝:

ausearch -m avc -ts recent

如果 Docker 使用非标准端口,请更新 SELinux 策略:

semanage port -a -t container_port_t -p tcp 

调整 Docker 相关目录的 SELinux 上下文:

chcon -Rv --type=container_file_t /var/lib/docker

总结

这些步骤涵盖了各种 SELinux 场景。始终查看日志,根据需要创建自定义策略,并使用 SELinux 工具以安全的方式进行故障排除和解决问题。

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7