首页主机资讯SELinux对网络服务有何限制

SELinux对网络服务有何限制

时间2025-11-28 22:05:03发布访客分类主机资讯浏览969
导读:SELinux对网络服务的主要限制 一 核心机制与运行模式 基于强制访问控制 MAC:以进程为主体、以文件/目录/端口等为客体,只有策略明确允许才可通过,即使root也受限于进程的安全域与客体标签。 运行模式: Enforcing:强制...

SELinux对网络服务的主要限制

一 核心机制与运行模式

  • 基于强制访问控制 MAC:以进程为主体、以文件/目录/端口等为客体,只有策略明确允许才可通过,即使root也受限于进程的安全域与客体标签。
  • 运行模式:
    • Enforcing:强制执行并记录违规;
    • Permissive:仅告警不阻断,便于排错;
    • Disabled:完全关闭(切换为禁用通常需要重启)。
  • 常用策略:targeted(默认,重点约束常见网络服务)、strict/mls(更严格,覆盖面广)。
  • 常用命令:getenforcesetenforce 0|1sestatus/etc/selinux/config 配置持久化。

二 对网络服务的典型限制维度

  • 进程域隔离:网络服务被放入受限域运行(如 httpd_t、smbd_t),与其他服务域隔离,降低横向移动风险。
  • 端口绑定限制:服务仅能绑定被策略允许的端口类型(如 http_port_t 默认包含 80、443、488、8008、8009、8443);改用非常规端口会被拒绝,需通过策略或工具将端口加入允许列表。
  • 文件与目录访问:服务只能访问被标记为“该服务可读/可写”的类型(如 httpd_sys_content_t 只读、httpd_sys_content_rw_t 读写、httpd_sys_script_exec_t 可执行脚本);访问用户主目录 user_home_t、Samba 共享 samba_share_t 等类型会被拒绝。
  • 网络外连与协议:是否允许进程主动对外发起连接由布尔值控制(如 httpd_can_network_connect 允许 httpd 对外连接;httpd_use_nfs/cifs 允许 httpd 访问 NFS/CIFS 挂载内容)。
  • 远程文件系统:访问 NFS/CIFS 共享时,客户端挂载点默认带有 nfs_t/cifs_t 类型;若服务策略未放行,即使文件系统权限正确也会被 SELinux 拒绝。

三 常见服务与限制示例

服务 典型域/标签 常见限制 放行方式示例
Apache httpd 进程域:httpd_t;内容:httpd_sys_content_t(只读)、httpd_sys_content_rw_t(读写)、httpd_sys_script_exec_t(CGI) 不能读 user_home_tsamba_share_t;默认仅能绑定 http_port_t 端口 将目录标记为相应类型(如 semanage fcontext -a -t httpd_sys_content_t "/myweb(/.*)?" & & restorecon -R /myweb);端口改用策略允许端口或用 semanage port 添加;外连数据库开启 setsebool -P httpd_can_network_connect 1
Samba 进程域:smbd_t 与其他受限服务域隔离;共享目录需正确类型 为共享目录设置 samba_share_t 等合适类型
FTP 进程域:vsftpd_t 上传/写入需目录为 public_content_rw_t;家目录访问受控 通过布尔值启用/禁用家目录访问、写入等能力
NFS/CIFS 客户端访问 挂载点类型:nfs_t/cifs_t httpd 等默认不可读/写 开启布尔值(如 httpd_use_nfshttpd_use_cifs)以放行访问

四 排错与配置要点

  • 检查状态与模式:getenforcesestatus;临时切换 setenforce 0|1(在 Enforcing/Permissive 间切换无需重启;改为 Disabled 需重启)。
  • 查看上下文:ls -lZps -eZ;必要时修正类型:chcon(临时)或 semanage fcontext + restorecon(永久)。
  • 端口放行:semanage port -a -t http_port_t -p tcp 12345 将端口加入允许列表。
  • 布尔值调整:getsebool -a | grep httpd 查看;setsebool -P httpd_can_network_connect 1 永久生效。
  • 日志与审计:查看 AVC 拒绝日志(/var/log/audit/audit.log),或用 ausearch -m avc -ts recentaureport -a 分析。

五 与防火墙的关系

  • SELinux ≠ 防火墙:前者是内核级 MAC 控制,限制“进程能访问哪些资源/端口/行为”;后者基于 iptables/nftables 控制“哪些数据包能进出主机/网络”。两者可叠加使用,互不替代。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SELinux对网络服务有何限制
本文地址: https://pptw.com/jishu/759490.html
Linux SELinux有哪些模式 SELinux如何防止未授权访问

游客 回复需填写必要信息