为ESXi主机配置多因素身份验证(MFA)需结合第三方工具与ESXi原生功能整合,以下为实践总结及挑战分析:
一、核心配置流程
-
RADIUS服务器部署
- 使用FreeRADIUS或Windows NPS搭建RADIUS服务
- 配置TLS证书(如Let's Encrypt)并验证证书链完整性
- 示例:
/etc/freeradius/clients.conf
中定义ESXi为合法客户端
-
MFA服务集成
- 推荐使用Duo Proxy或Microsoft Azure MFA适配器
- TOTP配置要求时间同步误差≤30秒(需部署NTP服务)
- 在Duo管理面板创建Radius应用,获取integration key/secret
-
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>
测试网络可达性
三、典型故障场景
-
证书信任链断裂
- 现象:ESXi提示"Peer certificate verification failed"
- 解决方案:将CA证书导入ESXi信任库
/sbin/generate-certificates
-
TOTP时间偏移
- 表现:MFA令牌有效但认证失败
- 修复:在ESXi和RADIUS服务器同步NTP源
esxcli system time ntp set --servers=pool.ntp.org
-
网络策略冲突
- 案例:vCenter管理流量阻断radius-auth端口
- 验证:在ESXi控制台执行本地登录测试
四、生产环境增强建议
- 部署双活RADIUS服务器,配置ESXi多目标radius条目
- 通过vCenter标签实现MFA策略分组管理
- 启用ESXi审计日志(/var/log/audit.log)监控异常尝试
五、遗留限制
- DCUI直接控制台暂不支持MFA回退
- API访问需单独配置STS令牌服务
- 旧版ESXi 6.5存在RADIUS内存泄漏风险(需升级至U3版本)
注:建议在维护窗口实施,并保持本地root账户作为应急访问通道。