CentOS中SELinux Context支持的协议及关联端口类型
在CentOS系统中,SELinux(Security-Enhanced Linux)的context主要用于定义文件、进程及网络端口的访问控制策略。其中,网络相关的context主要关联端口及传输层协议,支持以下常见协议及对应端口类型:
1. HTTP协议(TCP)
- 关联端口类型:
http_port_t
- 端口范围:包括标准HTTP端口(80)及常用替代端口(81、8008、8009、8443、9000等)。
- 作用:标记可用于HTTP服务的端口,允许Web服务器(如Apache、Nginx)绑定并处理HTTP请求。
2. HTTPS协议(TCP)
- 关联端口类型:
http_port_t、https_port_t(部分场景下需单独标记)
- 端口范围:标准HTTPS端口(443)及其他加密端口(如8443)。
- 作用:用于HTTPS服务的端口标记,确保加密流量符合SELinux策略。
3. FTP协议(TCP)
- 关联端口类型:
ftp_port_t
- 端口范围:默认FTP端口(21)及被动模式端口范围(如30000-31000,需根据配置调整)。
- 作用:标记FTP服务端口,控制FTP客户端与服务器之间的连接权限。
4. SSH协议(TCP)
- 关联端口类型:
ssh_port_t
- 端口范围:默认SSH端口(22),可通过
semanage port命令修改为其他端口(如10122)。
- 作用:用于SSH服务的端口标记,确保远程登录的安全控制。
5. DNS协议(TCP/UDP)
- 关联端口类型:
dns_port_t
- 端口范围:DNS查询端口(53,TCP/UDP均支持)。
- 作用:标记DNS服务端口,控制域名解析流量的访问权限。
6. SMTP/IMAP/SMTPS协议(TCP)
- 关联端口类型:
smtp_port_t(SMTP,25)、imap_port_t(IMAP,143)、smtps_port_t(SMTPS,465)。
- 端口范围:对应服务的标准端口及扩展端口(如IMAPS的993)。
- 作用:用于邮件服务的端口标记,确保邮件收发的安全策略执行。
7. SCTP协议(TCP/UDP扩展)
- 关联端口类型:
sctp_port_t(需SELinux策略支持)
- 端口范围:动态分配或自定义端口(如1024-32767)。
- 作用:支持SCTP(流控制传输协议)的端口标记,适用于需要高可靠性的应用(如VoIP、视频会议)。
8. 自定义协议(TCP/UDP)
- 关联端口类型:
unreserved_port_t(未预留端口,默认范围1024-32767)
- 端口范围:未被系统服务预留的端口(如用户自定义应用端口)。
- 作用:未明确标记的端口默认使用
unreserved_port_t,管理员可通过semanage port命令将其映射到特定上下文类型(如myapp_port_t)。
注意事项
- SELinux的context策略需结合端口类型(如
http_port_t)和协议类型(如TCP/UDP)共同生效,仅支持上述协议对应的端口类型。
- 若需修改端口与上下文的映射关系,可使用
semanage port命令(如semanage port -a -t http_port_t -p tcp 5050),修改后需重启服务或运行restorecon应用更改。
以上是CentOS中SELinux context主要支持的协议及对应端口类型,覆盖了常见的网络服务场景。