2. 零信任多因素认证策略配置与验证
为什么 MFA 触发条件要按应用风险分级
零信任的核心判断是“每次访问都要重新评估”。MFA 不是对所有应用一律强制,而是根据应用的风险等级、用户身份可信度和设备状态动态触发。本节以三个典型应用为例,配置差异化的 MFA 策略并验证三条访问路径。
策略设计:三个应用、三种触发条件
| 应用 | 风险等级 | MFA 触发条件 | 预期结果 |
|---|---|---|---|
| 内部 Wiki | 低 | 仅密码,不触发 MFA | 密码正确即放行 |
| 财务系统 | 中 | 密码正确后强制 MFA | MFA 通过才放行 |
| 运维跳板机 | 高 | 密码 + MFA + 设备合规 | 任一不满足即拒绝 |
策略引擎的判断顺序为:先验证密码,再检查应用风险等级,最后根据风险等级决定是否要求 MFA 及设备合规。下面用一张策略判定关系图展示三条路径的分支逻辑。
策略配置示例
以下以 JSON 策略片段展示三个应用的 MFA 触发条件配置。策略引擎按 risk_level 匹配对应规则,mfa_required 为 true 时强制二次验证,device_compliance 为 true 时额外检查设备合规状态。
{
"policies": [
{
"app": "internal-wiki",
"risk_level": "low",
"mfa_required": false,
"device_compliance": false,
"action": "allow"
},
{
"app": "finance-system",
"risk_level": "medium",
"mfa_required": true,
"device_compliance": false,
"action": "allow_after_mfa"
},
{
"app": "ops-bastion",
"risk_level": "high",
"mfa_required": true,
"device_compliance": true,
"action": "allow_after_mfa_and_compliance"
}
]
}
三条路径的测试与验证
配置完成后,需要分别验证密码登录、MFA 通过和 MFA 失败三种路径的访问控制结果。测试时使用同一用户账号,分别访问三个应用,观察策略引擎返回的判定结果。
| 测试路径 | 操作 | 预期结果 | 验证要点 |
|---|---|---|---|
| 路径 A:密码登录 | 访问内部 Wiki,输入正确密码 | 直接放行,不弹出 MFA | 低风险应用不触发 MFA |
| 路径 B:MFA 通过 | 访问财务系统,输入正确密码 + 正确 OTP | 放行,进入财务系统 | 中风险应用强制 MFA 且验证通过 |
| 路径 C:MFA 失败 | 访问财务系统,输入正确密码 + 错误 OTP | 拒绝,提示 MFA 验证失败 | MFA 失败即阻断,不降级放行 |
验证技巧:在策略引擎日志中搜索
mfa_triggered 和 access_decision 字段,可以快速确认每次访问是否触发了 MFA 以及最终判定结果。路径 C 的日志中应出现 mfa_result: failed 且 access_decision: deny。
常见配置错误:如果中风险应用的
mfa_required 误设为 false,密码登录后会直接放行,导致 MFA 形同虚设。建议在策略发布前用测试账号逐条验证触发条件,确保风险等级与 MFA 要求一一对应。
结果判读与策略调优
三条路径全部符合预期后,说明 MFA 触发条件配置正确。若路径 B 未弹出 MFA,检查策略中 risk_level 是否与应用的注册风险等级一致;若路径 C 仍然放行,检查策略引擎的 action 字段是否被错误设置为 allow 而非 allow_after_mfa。调优时可将高风险应用的 device_compliance 与终端合规基线联动,实现更细粒度的准入控制。