Configuring Multi-Factor Authentication with Duo
Overview
Deploy Cisco Duo multi-factor authentication across enterprise applications, VPN, RDP, and SSH access points. This skill covers Duo integration methods, adaptive authentication policies, device trust assessment, and phishing-resistant MFA deployment aligned with NIST 800-63B AAL2/AAL3 requirements.
When to Use
- When deploying or configuring configuring multi factor authentication with duo capabilities in your environment
- When establishing security controls aligned to compliance requirements
- When building or improving security architecture for this domain
- When conducting security assessments that require this implementation
Common Misconfigurations & Verification
- Legacy-auth bypass: Duo protects the interactive logon but IMAP/POP/SMTP, basic-auth, and older RADIUS clients skip the second factor entirely. Verify there is no auth path that reaches the directory without traversing the Duo proxy, and block legacy protocols at the IdP — an MFA control that any protocol can sidestep is not enforced.
- Failmode set to "safe" (fail-open):
failmode=safe lets users in when Duo cloud is unreachable, so an attacker who blocks Duo connectivity defeats MFA. Confirm failmode=secure for privileged and internet-facing apps; grep the authproxy.cfg and test by blocking outbound 443 to Duo.
- MFA fatigue / push bombing: plain Duo Push lets attackers spam approvals. Verify Verified Push (code entry) or FIDO2 is required for privileged groups and that SMS/phone fallback is disabled for app-capable users.
- Bypass and remembered-device sprawl:
bypass status accounts and long "remembered device" windows silently exempt users. Confirm bypass is limited to monitored break-glass accounts and remembered-device duration is short (or off) for privileged groups.
- Verification: in the Duo Admin Panel pull the Authentication Log and confirm every privileged logon shows a second factor; list users with
status=bypass; attempt an IMAP/basic-auth login and confirm it is blocked, not silently allowed.
Prerequisites
- Familiarity with identity access management concepts and tools
- Access to a test or lab environment for safe execution
- Python 3.8+ with required dependencies installed
- Appropriate authorization for any testing activities
Objectives
- Configure Duo MFA for VPN, RDP, SSH, and web applications
- Implement adaptive access policies based on user, device, and network context
- Deploy phishing-resistant authentication (Duo Verified Push, WebAuthn)
- Configure device health policies (trusted endpoints, OS version enforcement)
- Set up Duo Admin Panel monitoring and reporting
- Implement MFA bypass and emergency access procedures
Key Concepts
Duo Authentication Methods (by security strength)
- Security Keys (WebAuthn/FIDO2): Phishing-resistant, AAL3 capable
- Duo Verified Push: Requires code entry, resistant to MFA fatigue attacks
- Duo Push: Push notification to Duo Mobile app
- TOTP (Duo Mobile Passcode): Time-based one-time password
- Hardware Tokens: OTP from physical token
- SMS/Phone Call: Least secure, use only as fallback
Duo Integration Architecture
- Duo Authentication Proxy: On-premises proxy for RADIUS/LDAP integration
- Duo Web SDK: Embed Duo MFA in web applications
- Duo OIDC/SAML: SSO integration for cloud applications
- Duo for RDP: Windows Logon MFA
- Duo Unix: PAM-based MFA for SSH
Adaptive Access Policies
- Trusted Networks: Reduce MFA friction for corporate networks
- Remembered Devices: Skip MFA for trusted devices (configurable duration)
- Device Health: Block or require MFA based on OS patch level, encryption, firewall
- Risk-Based Authentication: Step-up MFA for anomalous login patterns
Workflow
Step 1: Duo Authentication Proxy Setup
- Deploy Duo Authentication Proxy on Windows/Linux server
- Configure primary authentication (AD/LDAP or RADIUS)
- Configure Duo API credentials (Integration Key, Secret Key, API Hostname)
- Set failmode (safe=deny if Duo unreachable, secure=allow)
- Test proxy connectivity to Duo cloud and AD
Step 2: VPN MFA Integration
- Configure VPN concentrator for RADIUS authentication
- Point RADIUS to Duo Authentication Proxy
- Configure Duo proxy with [radius_server_auto] section
- Test VPN login with Duo Push
- Deploy to all VPN users with enrollment period
Step 3: RDP/Windows Logon MFA
- Install Duo Authentication for Windows Logon on target servers
- Configure Duo application in Admin Panel
- Set offline access options (allow N offline logins)
- Configure bypass for service accounts
- Test RDP login with Duo MFA
Step 4: Adaptive Policy Configuration
- Create user groups (Standard, Privileged, Contractors)
- Configure per-group authentication policies:
- Standard: Duo Push allowed, remembered device 7 days
- Privileged: Verified Push required, no remembered device
- Contractors: WebAuthn required, no remembered device
- Configure device health policies:
- Require encrypted disk
- Block outdated OS versions
- Require firewall enabled
- Set trusted network exceptions for corporate IPs
Step 5: Phishing-Resistant MFA Deployment
- Enable Verified Push (requires entering 3-digit code from login screen)
- Register WebAuthn/FIDO2 security keys for privileged users
- Disable SMS and phone call for high-risk groups
- Configure Duo Risk-Based Factor Selection
- Monitor for MFA fatigue attack patterns
Step 6: Monitoring and Response
- Configure Duo Admin Panel alerts
- Set up authentication log forwarding to SIEM
- Monitor for: MFA denial patterns, bypass usage, new device enrollments
- Create incident response playbook for MFA compromise
- Regular review of bypass and exception policies
Security Controls
| Control |
NIST 800-53 |
Description |
| MFA |
IA-2(1) |
Multi-factor authentication for network access |
| MFA for Privileged |
IA-2(2) |
MFA for privileged account access |
| Replay Resistance |
IA-2(8) |
Replay-resistant authentication |
| Device Identification |
IA-3 |
Device identity and trust |
| Authenticator Management |
IA-5 |
MFA enrollment and lifecycle |
Common Pitfalls
- Not deploying phishing-resistant MFA (Verified Push/FIDO2) for privileged accounts
- Setting failmode to "safe" (allow access when Duo is down) in production
- Not disabling SMS/phone call for users with app-capable devices
- Forgetting to configure offline access for laptops
- Not monitoring for MFA fatigue/prompt bombing attacks
Verification
1---2name: configuring-multi-factor-authentication-with-duo3description: Deploy Cisco Duo multi-factor authentication across enterprise applications, VPN, RDP, and SSH access points. This skill covers Duo integration methods, adaptive authentication policies, device trust4license: Apache-2.05---6# Configuring Multi-Factor Authentication with Duo78## Overview9Deploy Cisco Duo multi-factor authentication across enterprise applications, VPN, RDP, and SSH access points. This skill covers Duo integration methods, adaptive authentication policies, device trust assessment, and phishing-resistant MFA deployment aligned with NIST 800-63B AAL2/AAL3 requirements.101112## When to Use1314- When deploying or configuring configuring multi factor authentication with duo capabilities in your environment15- When establishing security controls aligned to compliance requirements16- When building or improving security architecture for this domain17- When conducting security assessments that require this implementation1819## Common Misconfigurations & Verification2021- **Legacy-auth bypass:** Duo protects the interactive logon but IMAP/POP/SMTP, basic-auth, and older RADIUS clients skip the second factor entirely. Verify there is no auth path that reaches the directory without traversing the Duo proxy, and block legacy protocols at the IdP — an MFA control that any protocol can sidestep is not enforced.22- **Failmode set to "safe" (fail-open):** `failmode=safe` lets users in when Duo cloud is unreachable, so an attacker who blocks Duo connectivity defeats MFA. Confirm `failmode=secure` for privileged and internet-facing apps; grep the `authproxy.cfg` and test by blocking outbound 443 to Duo.23- **MFA fatigue / push bombing:** plain Duo Push lets attackers spam approvals. Verify Verified Push (code entry) or FIDO2 is required for privileged groups and that SMS/phone fallback is disabled for app-capable users.24- **Bypass and remembered-device sprawl:** `bypass` status accounts and long "remembered device" windows silently exempt users. Confirm bypass is limited to monitored break-glass accounts and remembered-device duration is short (or off) for privileged groups.25- **Verification:** in the Duo Admin Panel pull the Authentication Log and confirm every privileged logon shows a second factor; list users with `status=bypass`; attempt an IMAP/basic-auth login and confirm it is blocked, not silently allowed.2627## Prerequisites2829- Familiarity with identity access management concepts and tools30- Access to a test or lab environment for safe execution31- Python 3.8+ with required dependencies installed32- Appropriate authorization for any testing activities3334## Objectives35- Configure Duo MFA for VPN, RDP, SSH, and web applications36- Implement adaptive access policies based on user, device, and network context37- Deploy phishing-resistant authentication (Duo Verified Push, WebAuthn)38- Configure device health policies (trusted endpoints, OS version enforcement)39- Set up Duo Admin Panel monitoring and reporting40- Implement MFA bypass and emergency access procedures4142## Key Concepts4344### Duo Authentication Methods (by security strength)451. **Security Keys (WebAuthn/FIDO2)**: Phishing-resistant, AAL3 capable462. **Duo Verified Push**: Requires code entry, resistant to MFA fatigue attacks473. **Duo Push**: Push notification to Duo Mobile app484. **TOTP (Duo Mobile Passcode)**: Time-based one-time password495. **Hardware Tokens**: OTP from physical token506. **SMS/Phone Call**: Least secure, use only as fallback5152### Duo Integration Architecture53- **Duo Authentication Proxy**: On-premises proxy for RADIUS/LDAP integration54- **Duo Web SDK**: Embed Duo MFA in web applications55- **Duo OIDC/SAML**: SSO integration for cloud applications56- **Duo for RDP**: Windows Logon MFA57- **Duo Unix**: PAM-based MFA for SSH5859### Adaptive Access Policies60- **Trusted Networks**: Reduce MFA friction for corporate networks61- **Remembered Devices**: Skip MFA for trusted devices (configurable duration)62- **Device Health**: Block or require MFA based on OS patch level, encryption, firewall63- **Risk-Based Authentication**: Step-up MFA for anomalous login patterns6465## Workflow6667### Step 1: Duo Authentication Proxy Setup681. Deploy Duo Authentication Proxy on Windows/Linux server692. Configure primary authentication (AD/LDAP or RADIUS)703. Configure Duo API credentials (Integration Key, Secret Key, API Hostname)714. Set failmode (safe=deny if Duo unreachable, secure=allow)725. Test proxy connectivity to Duo cloud and AD7374### Step 2: VPN MFA Integration751. Configure VPN concentrator for RADIUS authentication762. Point RADIUS to Duo Authentication Proxy773. Configure Duo proxy with [radius_server_auto] section784. Test VPN login with Duo Push795. Deploy to all VPN users with enrollment period8081### Step 3: RDP/Windows Logon MFA821. Install Duo Authentication for Windows Logon on target servers832. Configure Duo application in Admin Panel843. Set offline access options (allow N offline logins)854. Configure bypass for service accounts865. Test RDP login with Duo MFA8788### Step 4: Adaptive Policy Configuration891. Create user groups (Standard, Privileged, Contractors)902. Configure per-group authentication policies:91 - Standard: Duo Push allowed, remembered device 7 days92 - Privileged: Verified Push required, no remembered device93 - Contractors: WebAuthn required, no remembered device943. Configure device health policies:95 - Require encrypted disk96 - Block outdated OS versions97 - Require firewall enabled984. Set trusted network exceptions for corporate IPs99100### Step 5: Phishing-Resistant MFA Deployment1011. Enable Verified Push (requires entering 3-digit code from login screen)1022. Register WebAuthn/FIDO2 security keys for privileged users1033. Disable SMS and phone call for high-risk groups1044. Configure Duo Risk-Based Factor Selection1055. Monitor for MFA fatigue attack patterns106107### Step 6: Monitoring and Response1081. Configure Duo Admin Panel alerts1092. Set up authentication log forwarding to SIEM1103. Monitor for: MFA denial patterns, bypass usage, new device enrollments1114. Create incident response playbook for MFA compromise1125. Regular review of bypass and exception policies113114## Security Controls115| Control | NIST 800-53 | Description |116|---------|-------------|-------------|117| MFA | IA-2(1) | Multi-factor authentication for network access |118| MFA for Privileged | IA-2(2) | MFA for privileged account access |119| Replay Resistance | IA-2(8) | Replay-resistant authentication |120| Device Identification | IA-3 | Device identity and trust |121| Authenticator Management | IA-5 | MFA enrollment and lifecycle |122123## Common Pitfalls124- Not deploying phishing-resistant MFA (Verified Push/FIDO2) for privileged accounts125- Setting failmode to "safe" (allow access when Duo is down) in production126- Not disabling SMS/phone call for users with app-capable devices127- Forgetting to configure offline access for laptops128- Not monitoring for MFA fatigue/prompt bombing attacks129130## Verification131- [ ] VPN login requires Duo MFA132- [ ] RDP to servers requires Duo MFA133- [ ] SSH access requires Duo MFA134- [ ] Verified Push enabled for privileged users135- [ ] Device health policy blocks non-compliant devices136- [ ] Authentication logs forwarded to SIEM137- [ ] Bypass/emergency access procedures tested138- [ ] MFA fatigue detection alerts configured