ESXi 防火墙默认开放哪些端口?核心端口与安全加固完整指南
在 ESXi 主机安全运维中,防火墙是抵御非法访问和网络攻击的第一道核心防线,很多运维人员因不清楚默认端口开放规则,要么误关必要端口导致管理中断、虚拟机无法访问,要么保留多余开放端口引入暴力破解、漏洞利用等安全隐患。ESXi 6.7/7.0/8.0 全系列版本采用严格的白名单机制,默认仅开放 3 个必要服务端口,加上运维必开的 SSH 22 端口,共同构成 4 个核心常用端口:22、443、902、80。本文详细讲解每个端口的作用、默认状态、潜在风险与安全加固策略,帮助运维平衡业务可用性与主机安全性。
一、核心结论:ESXi 默认开放的 4 个核心端口
ESXi 防火墙没有 “单端口独立开放” 的概念,所有端口都通过 VMware 预定义的规则集(Ruleset) 统一管理,每个规则集对应一个完整服务,包含该服务所需的所有端口、协议和访问控制。系统默认采用白名单模式,所有入站流量默认拒绝,仅启用的规则集对应的端口才允许访问。
全版本通用的核心端口规则如下表:
| 端口号 | 协议类型 | 对应规则集名称 | 默认启用状态 | 核心业务作用 |
|---|---|---|---|---|
| 443 | TCP | httpsServer | ✅ 启用 | ESXi Web 客户端、vCenter 连接、API 调用、PowerCLI 管理 |
| 902 | TCP+UDP | remoteSerialPort | ✅ 启用 | vSphere Client 虚拟机远程控制台、鼠标键盘与屏幕传输 |
| 80 | TCP | httpServer | ✅ 启用 | HTTP 请求自动重定向到 HTTPS 443 端口,提升用户体验 |
| 22 | TCP | sshServer | ❌ 禁用 | SSH 命令行远程登录,执行 esxtop、esxcfg 等运维操作 |
重要说明:22 端口对应的 SSH 规则集默认处于禁用状态,但几乎所有运维都会在主机部署完成后手动开启,用于日常命令行运维,因此被行业公认为 ESXi 的 “准默认开放” 核心端口。
二、每个默认端口详细解析
2.1 443 端口:HTTPS 管理核心端口(绝对不能关闭)
443 是 ESXi 最重要的端口,没有之一,所有管理流量都通过该端口传输:
- 核心用途:ESXi Web 客户端登录、vCenter Server 与 ESXi 主机的通信、PowerCLI 脚本执行、vSphere API 调用、虚拟机模板上传下载
- 为什么默认开放:这是 ESXi 主机的唯一管理入口,关闭后所有图形化和自动化管理操作都将完全中断
- 潜在风险:如果直接暴露在公网,会成为漏洞扫描和暴力破解的首要目标,历史上多个 ESXi 高危漏洞都通过 443 端口利用
- 安全建议:绝对不要将 ESXi 443 端口直接映射到公网,所有管理操作必须通过 VPN 或堡垒机进行
2.2 902 端口:虚拟机控制台专属端口(必开)
902 是虚拟机远程访问的专用端口,与主机管理完全分离:
- 核心用途:在 vCenter 或 ESXi Web 客户端中打开虚拟机的远程控制台,传输屏幕画面、鼠标和键盘操作
- 为什么默认开放:虚拟机控制台是虚拟化运维的基础功能,TCP 协议用于传输控制命令,UDP 协议用于传输实时画面数据
- 潜在风险:暴露在公网可能被用于非法访问虚拟机桌面,但相比 443 端口攻击面更小
- 注意事项:关闭 902 端口不会影响虚拟机本身的运行和网络访问,只是无法通过 vSphere 客户端打开控制台
2.3 80 端口:HTTP 重定向端口(可安全关闭)
80 端口是唯一可以安全关闭的默认开放端口,没有任何实际管理功能:
- 核心用途:当用户在浏览器中输入
http://esxi-ip时,自动跳转到https://esxi-ip,避免用户手动输入 HTTPS 前缀 - 为什么默认开放:纯粹为了提升用户体验,减少新手操作失误
- 潜在风险:虽然没有实际功能,但暴露在公网仍会被扫描器探测,增加攻击面
- 安全建议:生产环境建议直接关闭,关闭后只需输入完整的 HTTPS 地址即可访问,不影响任何业务功能
2.4 22 端口:SSH 命令行管理端口(常用可选)
22 端口是命令行运维的入口,也是最高风险的端口:
- 核心用途:SSH 远程登录 ESXi 主机,执行 esxtop 性能监控、esxcfg 配置修改、日志查看等命令行操作
- 为什么默认禁用:SSH 是暴力破解攻击的重灾区,VMware 出于安全考虑默认关闭,需要运维手动开启
- 潜在风险:如果使用弱密码且暴露在公网,几乎一定会被黑客破解,导致主机被完全控制
- 安全建议:开启后必须立即配置 IP 白名单,仅允许运维网段访问;使用密钥认证代替密码认证;定期更换强密码
三、如何查看当前开放的端口
3.1 命令行查看(最准确)
SSH 登录 ESXi 主机后,执行以下命令查看所有启用的防火墙规则集:
输出结果中会显示所有当前开放的服务名称,例如:
如需查看某个规则集对应的具体端口和协议,执行:
例如查看 SSH 规则集:
3.2 图形界面查看(新手友好)
- 登录 ESXi Web 客户端
- 点击左侧导航栏的【网络】→【防火墙规则】
- 页面会显示所有预定义的规则集,“已启用” 列打勾的即为当前开放的服务
- 点击任意规则集名称,可以查看详细的端口、协议和描述信息
四、其他默认启用的规则与注意事项
除了上述 4 个核心端口,ESXi 还默认启用了以下两个常用规则:
- ICMP 协议(ping):默认允许入站和出站 ICMP 流量,用于网络连通性测试。可以关闭,但会影响 ping 和 traceroute 命令的使用
- NTP 客户端:默认允许出站 UDP 123 端口,用于主机时间同步,入站流量不开放
重要注意:ESXi 防火墙默认允许所有出站流量,不需要额外配置任何规则,这是为了保证虚拟机和主机的正常网络通信。
五、防火墙安全加固最佳实践
5.1 关闭不必要的端口
生产环境建议立即关闭 80 端口,减少攻击面:
同时禁用所有未使用的规则集,如 FTP、Telnet、SNMP 等。
5.2 限制高风险端口的 IP 访问
对于 22 端口等高风险服务,必须配置 IP 白名单,仅允许指定网段访问:
5.3 定期审计防火墙配置
每月执行一次防火墙规则审计,检查是否有不必要的规则被开启,及时关闭。同时定期更新 ESXi 系统补丁,修复防火墙相关的安全漏洞。
5.4 避免全局关闭防火墙
仅在临时排错时可以短暂关闭防火墙,排错完成后必须立即开启:
生产环境绝对禁止长期关闭全局防火墙。
六、常见问题与故障排查
-
无法访问 ESXi Web 界面 优先检查 httpsServer 规则是否启用:
esxcli network firewall ruleset list | grep httpsServer,如果未启用,执行esxcli network firewall ruleset set -r httpsServer -e true。 -
无法打开虚拟机远程控制台 检查 remoteSerialPort 规则是否启用,同时测试客户端到 ESXi 主机 902 端口的连通性:
telnet esxi-ip 902。 -
SSH 连接失败 首先确认 sshServer 规则已启用,然后检查 IP 白名单是否包含客户端 IP,最后确认 ESXi 主机的 SSH 服务已启动。
-
端口已开放但仍无法访问 检查上层物理交换机、路由器和防火墙是否拦截了对应端口,ESXi 防火墙规则生效后,流量会直接通过主机网络栈。
七、全文总结
ESXi 防火墙默认采用严格的白名单机制,仅开放 443、902、80 三个必要端口,加上运维常用的 22 SSH 端口,构成了核心的端口体系。其中 443 和 902 是必须开放的管理和控制台端口,80 端口可安全关闭以提升安全性,22 端口开启后必须配置 IP 白名单和强认证。
日常运维中应遵循 “最小权限原则”,只开放业务必需的端口,限制高风险端口的访问范围,定期审计防火墙配置,避免因端口管理不当导致的安全事件。同时绝对不要将 ESXi 管理端口直接暴露在公网,通过 VPN 或堡垒机进行所有管理操作,最大限度保障主机安全。
注·部分内容为AI辅助生成
浙公网安备 33010602011771号