阅读量:5
以下是Ubuntu SELinux网络策略配置的核心技巧,需先安装selinux-basics等基础包并启用强制模式:
一、基础策略配置
-
管理端口访问
- 查看现有端口标签:
semanage port -l - 为服务添加非标准端口:
semanage port -a -t http_port_t -p tcp 8080(如允许HTTP服务使用8080端口) - 删除端口标签:
semanage port -d -t http_port_t -p tcp 8080
- 查看现有端口标签:
-
控制进程网络访问
- 允许服务访问网络:
setsebool -P httpd_can_network_connect 1(针对HTTP服务) - 限制进程仅能访问特定IP/端口:需编写自定义策略模块,通过
audit2allow工具生成规则。
- 允许服务访问网络:
二、高级策略技巧
-
自定义策略模块
- 从日志提取拒绝事件:
ausearch -m avc -ts recent - 生成策略模块:
audit2allow -M mypolicy - 编译并加载策略:
semodule -i mypolicy.pp
- 从日志提取拒绝事件:
-
文件上下文与网络服务隔离
- 为网络服务相关文件设置上下文:
chcon -R -t httpd_sys_content_t /var/www/html
semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"(持久化)
- 为网络服务相关文件设置上下文:
-
网络命名空间隔离
- 通过
ip netns创建隔离网络空间,配合SELinux限制进程仅能访问特定命名空间内的网络资源。
- 通过
三、验证与维护
- 检查SELinux状态:
sestatus(确认是否为enforcing模式) - 查看策略生效情况:
getsebool -a | grep httpd(查看布尔值状态) - 监控日志:
tail -f /var/log/audit/audit.log,分析拒绝事件并优化策略
注意:SELinux配置复杂,建议在测试环境验证后再应用于生产环境,优先使用Ubuntu默认的AppArmor(更轻量且与系统兼容性更好)。
参考来源:
以上就是关于“Ubuntu SELinux网络策略配置技巧”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm