ubuntu

Ubuntu SELinux网络策略配置技巧

小樊
52
2025-09-10 18:29:15
栏目: 智能运维

以下是Ubuntu SELinux网络策略配置的核心技巧,需先安装selinux-basics等基础包并启用强制模式:

一、基础策略配置

  1. 管理端口访问

    • 查看现有端口标签: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
  2. 控制进程网络访问

    • 允许服务访问网络:setsebool -P httpd_can_network_connect 1(针对HTTP服务)
    • 限制进程仅能访问特定IP/端口:需编写自定义策略模块,通过audit2allow工具生成规则。

二、高级策略技巧

  1. 自定义策略模块

    • 从日志提取拒绝事件:ausearch -m avc -ts recent
    • 生成策略模块:audit2allow -M mypolicy
    • 编译并加载策略:semodule -i mypolicy.pp
  2. 文件上下文与网络服务隔离

    • 为网络服务相关文件设置上下文:
      chcon -R -t httpd_sys_content_t /var/www/html
      semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"(持久化)
  3. 网络命名空间隔离

    • 通过ip netns创建隔离网络空间,配合SELinux限制进程仅能访问特定命名空间内的网络资源。

三、验证与维护

注意:SELinux配置复杂,建议在测试环境验证后再应用于生产环境,优先使用Ubuntu默认的AppArmor(更轻量且与系统兼容性更好)。

参考来源:

0
看了该问题的人还看了