如何为 ESXi 主机配置多因素身份验证(MFA)?

问题浏览数Icon
42
问题创建时间Icon
2025-05-28 07:22:00
回答 | 共 5 个
作者头像
chaoyang66

为ESXi主机配置多因素身份验证(MFA)需结合第三方工具与ESXi原生功能整合,以下为实践总结及挑战分析:

一、核心配置流程

  1. RADIUS服务器部署

    • 使用FreeRADIUS或Windows NPS搭建RADIUS服务
    • 配置TLS证书(如Let's Encrypt)并验证证书链完整性
    • 示例:/etc/freeradius/clients.conf中定义ESXi为合法客户端
  2. MFA服务集成

    • 推荐使用Duo Proxy或Microsoft Azure MFA适配器
    • TOTP配置要求时间同步误差≤30秒(需部署NTP服务)
    • 在Duo管理面板创建Radius应用,获取integration key/secret
  3. ESXi配置:

    esxcli system secpolicy authentication set --radius=true
    esxcli system secpolicy authentication set --radius-timeout=30
    esxcli system radius add --server <RADIUS_IP> --secret <shared_key>

二、关键调试命令

  • tail -f /var/log/freeradius/radius.log 实时监控认证流程
  • esxcli system secpolicy authentication get 验证策略生效
  • vmkping ++netstack=vmkping <RADIUS_IP> 测试网络可达性

三、典型故障场景

  1. 证书信任链断裂

    • 现象:ESXi提示"Peer certificate verification failed"
    • 解决方案:将CA证书导入ESXi信任库
      /sbin/generate-certificates
  2. TOTP时间偏移

    • 表现:MFA令牌有效但认证失败
    • 修复:在ESXi和RADIUS服务器同步NTP源
      esxcli system time ntp set --servers=pool.ntp.org
  3. 网络策略冲突

    • 案例:vCenter管理流量阻断radius-auth端口
    • 验证:在ESXi控制台执行本地登录测试

四、生产环境增强建议

  • 部署双活RADIUS服务器,配置ESXi多目标radius条目
  • 通过vCenter标签实现MFA策略分组管理
  • 启用ESXi审计日志(/var/log/audit.log)监控异常尝试

五、遗留限制

  1. DCUI直接控制台暂不支持MFA回退
  2. API访问需单独配置STS令牌服务
  3. 旧版ESXi 6.5存在RADIUS内存泄漏风险(需升级至U3版本)

注:建议在维护窗口实施,并保持本地root账户作为应急访问通道。

作者头像
ptfly66

为ESXi主机配置多因素身份验证(MFA)需通过集成RADIUS服务器实现,步骤如下:

  1. 部署RADIUS服务器:例如FreeRADIUS或Microsoft NPS,配置其与MFA服务(如Google Authenticator、Duo或Microsoft Authenticator)集成。
  2. 配置ESXi认证
    • 在ESXi主机启用SSH,通过命令行执行:esxcli system secauth radius add --server <RADIUS_IP> --secret <共享密钥> --group <可选用户组>
    • 启用RADIUS认证:esxcli system secauth radius set --enabled true
  3. 防火墙放行:开放ESXi防火墙UDP 1812/1813端口:esxcli network firewall ruleset set --ruleset-id radiusClient --enabled true
  4. 验证配置:使用/var/log/radius.log及RADIUS服务器日志排查问题。
  5. 冗余与备份:部署多台RADIUS服务器,避免单点故障,并定期备份ESXi配置。 注意:需确保ESXi版本兼容性,且MFA仅适用于UI/API登录,不影响Hypervisor底层服务。
作者头像
longyue88

为ESXi主机配置多因素认证(MFA),需通过集成Radius服务器(如Windows NPS)并启用第三方MFA解决方案(如RSA SecurID或Microsoft Authenticator),或在vCenter中启用基于TOTP的MFA插件。

作者头像
brightfox01

为ESXi主机配置多因素身份验证(MFA)需通过集成第三方Radius服务器实现。步骤如下:1. 部署Radius服务器(如FreeRADIUS),配置其支持MFA(如TOTP);2. 在ESXi主机管理界面(vSphere Client)中,进入"主机 > 配置 > 系统 > 身份验证服务",选择Radius作为服务类型,填写服务器地址、端口及共享密钥;3. 验证Radius连接后,ESXi登录时将要求MFA。

延伸知识点——Radius协议与TOTP集成原理:Radius(远程认证拨号服务)通过客户端-服务器模型传递认证请求。当ESXi发送用户凭证至Radius服务器时,服务器会调用MFA模块(如Google Authenticator的PAM插件),生成基于时间的一次性密码(TOTP)。TOTP算法以共享密钥和当前时间戳为输入,通过HMAC-SHA1生成6位动态码,用户需在客户端(如手机App)输入该码完成二次验证,从而增强安全性。

作者头像
yueliang09
  1. 使用RADIUS集成MFA方案
    • 部署RADIUS服务器(如Windows NPS或FreeRADIUS),安装MFA插件(如Duo Proxy/Google Authenticator)。
    • 在RADIUS服务器配置ESXi为客户端,设置共享密钥。
  2. ESXi主机配置RADIUS认证
    • 登录ESXi Host Client,进入【管理】-【系统】-【高级设置】。
    • 搜索并设置 Config.HostAgent.plugins.hostsvc.esxAdminsGroup 为空(避免本地组覆盖)。
    • 在【身份验证服务】中启用RADIUS,填写服务器IP、端口(默认1812)、共享密钥。
  3. 验证与测试
    • 使用SSH或控制台登录ESXi,输入本地账户后会触发RADIUS-MFA验证流程(如手机APP确认)。
    • 确认日志(/var/log/auth.log)无错误。
  4. 备用方案(无RADIUS)
    • 通过PowerCLI脚本强制用户首次登录后修改密码,结合临时OTP工具(如临时邮箱+脚本生成)实现简易双因素。