# Configuring Multi Factor Authentication With Duo

> 在企业应用程序、VPN、RDP 和 SSH 访问点部署 Cisco Duo 多因素认证（MFA）。本技能涵盖 Duo 集成方法、自适应认证策略、设备信任评估以及符合 NIST 800-63B AAL2/AAL3 要求的抗钓鱼 MFA 部署。

- Skill: `killvxk/configuring-multi-factor-authentication-with-duo` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add killvxk/configuring-multi-factor-authentication-with-duo`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/configuring-multi-factor-authentication-with-duo/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/configuring-multi-factor-authentication-with-duo

---

# 使用 Duo 配置多因素认证

## 概述
在企业应用程序、VPN、RDP 和 SSH 访问点部署 Cisco Duo 多因素认证（Multi-Factor Authentication，MFA）。本技能涵盖 Duo 集成方法、自适应认证策略、设备信任评估以及符合 NIST 800-63B AAL2/AAL3 要求的抗钓鱼 MFA 部署。

## 目标
- 为 VPN、RDP、SSH 和 Web 应用程序配置 Duo MFA
- 根据用户、设备和网络上下文实施自适应访问策略
- 部署抗钓鱼认证（Duo Verified Push、WebAuthn）
- 配置设备健康策略（受信任端点、操作系统版本强制）
- 设置 Duo Admin Panel 监控和报告
- 实施 MFA 绕过和紧急访问程序

## 核心概念

### Duo 认证方法（按安全强度排序）
1. **安全密钥（WebAuthn/FIDO2）**：抗钓鱼，支持 AAL3
2. **Duo Verified Push**：需要输入验证码，可抵御 MFA 疲劳攻击
3. **Duo Push**：向 Duo Mobile 应用推送通知
4. **TOTP（Duo Mobile 密码）**：基于时间的一次性密码
5. **硬件令牌**：物理令牌生成的 OTP
6. **短信/电话**：安全性最低，仅作为回退选项使用

### Duo 集成架构
- **Duo Authentication Proxy**：用于 RADIUS/LDAP 集成的本地代理
- **Duo Web SDK**：将 Duo MFA 嵌入 Web 应用程序
- **Duo OIDC/SAML**：云应用的 SSO 集成
- **Duo for RDP**：Windows 登录 MFA
- **Duo Unix**：基于 PAM 的 SSH MFA

### 自适应访问策略
- **受信任网络**：降低企业网络的 MFA 摩擦
- **记住设备**：跳过受信任设备的 MFA（可配置时长）
- **设备健康**：根据操作系统补丁级别、加密状态、防火墙状态决定阻止或要求 MFA
- **基于风险的认证**：对异常登录模式进行升级 MFA

## 实施步骤

### 步骤 1：Duo Authentication Proxy 设置
1. 在 Windows/Linux 服务器上部署 Duo Authentication Proxy
2. 配置主认证（AD/LDAP 或 RADIUS）
3. 配置 Duo API 凭据（集成密钥、密钥、API 主机名）
4. 设置故障模式（safe=当 Duo 不可达时拒绝，secure=允许）
5. 测试代理与 Duo 云和 AD 的连接

### 步骤 2：VPN MFA 集成
1. 配置 VPN 集中器进行 RADIUS 认证
2. 将 RADIUS 指向 Duo Authentication Proxy
3. 使用 [radius_server_auto] 部分配置 Duo 代理
4. 使用 Duo Push 测试 VPN 登录
5. 在注册期间向所有 VPN 用户部署

### 步骤 3：RDP/Windows 登录 MFA
1. 在目标服务器上安装 Duo Authentication for Windows Logon
2. 在 Admin Panel 中配置 Duo 应用程序
3. 设置离线访问选项（允许 N 次离线登录）
4. 为服务账户配置绕过
5. 使用 Duo MFA 测试 RDP 登录

### 步骤 4：自适应策略配置
1. 创建用户组（标准用户、特权用户、承包商）
2. 为每个组配置认证策略：
   - 标准用户：允许 Duo Push，记住设备 7 天
   - 特权用户：要求 Verified Push，不记住设备
   - 承包商：要求 WebAuthn，不记住设备
3. 配置设备健康策略：
   - 要求磁盘加密
   - 阻止过期操作系统版本
   - 要求启用防火墙
4. 为企业 IP 设置受信任网络例外

### 步骤 5：部署抗钓鱼 MFA
1. 启用 Verified Push（需要在登录界面输入 3 位数验证码）
2. 为特权用户注册 WebAuthn/FIDO2 安全密钥
3. 为高风险组禁用短信和电话
4. 配置 Duo 基于风险的因素选择
5. 监控 MFA 疲劳攻击模式

### 步骤 6：监控和响应
1. 配置 Duo Admin Panel 告警
2. 设置认证日志转发到 SIEM
3. 监控：MFA 拒绝模式、绕过使用情况、新设备注册
4. 为 MFA 被攻破创建事件响应手册
5. 定期审查绕过和例外策略

## 安全控制
| 控制项 | NIST 800-53 | 描述 |
|---------|-------------|-------------|
| MFA | IA-2(1) | 网络访问的多因素认证 |
| 特权 MFA | IA-2(2) | 特权账户访问的 MFA |
| 重放抵抗 | IA-2(8) | 抗重放认证 |
| 设备标识 | IA-3 | 设备身份和信任 |
| 认证器管理 | IA-5 | MFA 注册和生命周期 |

## 常见陷阱
- 未为特权账户部署抗钓鱼 MFA（Verified Push/FIDO2）
- 在生产环境中将故障模式设置为"safe"（Duo 停机时允许访问）
- 未为拥有应用程序功能设备的用户禁用短信/电话
- 忘记为笔记本电脑配置离线访问
- 未监控 MFA 疲劳/推送轰炸攻击

## 验证
- [ ] VPN 登录需要 Duo MFA
- [ ] RDP 到服务器需要 Duo MFA
- [ ] SSH 访问需要 Duo MFA
- [ ] 为特权用户启用 Verified Push
- [ ] 设备健康策略阻止不合规设备
- [ ] 认证日志已转发到 SIEM
- [ ] 已测试绕过/紧急访问程序
- [ ] 已配置 MFA 疲劳检测告警

